k8s系列(二):Pods与Nodes
目标了解Kubernetes Pods了解Kubernetes Nodeskubectl排查故障Kubernetes Podsimage-20181012110129014.pngPod是Kubernetes抽象出来表示一组应用容器(比如Docker、rkt),还有这些容器共享的资源。这些资源包括:共享存储,比如Volumes网络,比如独立的集群IP地址如何去运行每个容器的信息,比如容器镜像版本、
目标
- 了解Kubernetes Pods
- 了解Kubernetes Nodes
- kubectl排查故障
Kubernetes Pods
image-20181012110129014.png
Pod是Kubernetes抽象出来表示一组应用容器(比如Docker、rkt),还有这些容器共享的资源。这些资源包括:
- 共享存储,比如Volumes
- 网络,比如独立的集群IP地址
- 如何去运行每个容器的信息,比如容器镜像版本、要使用的端口
Pod塑造出一个应用专用的"逻辑主机",它能包含不同的应用容器(紧密耦合的)。举例来说:一个Pod可以包含Node.js应用和另外一个产生Node.js webserver需要数据的应用。Pod的容器共享IP地址和端口空间,可以互相协作和调用,它们在同一个Node的上的共享上下文。
Pod是Kubernetes平台上的原子单位。当我们在Kubernetes上创建一个Deployment时,它将创建附带容器的Pods。每个Pod与被调度的Node绑定直到被删除。万一Node故障了,一个新Pod会被调度到其它可用的Node上。
Nodes
image-20181012110100307.png
Pod总是运行在Node之上。Node是Kubernetes中的一个工作机器,通常是一个虚拟机或者物理机。每个Node被Master管理。一个节点能有多个pod,同时Kubernetes master在集群之上自动调度pod。Master的自动调度考虑到每个Node上的可用资源。
每个Kubernetes Node至少运行:
- Kubelet,一个负责Kubernetes Master和Node之间通讯的进程;它管理着运行在机器上Pods和Containers
- 容器运行时(比如Docker,rkt),负责从registry拉取容器镜像,取出容器,运行应用。
kubectl排查故障
通过kubectl可以获取已部署应用的信息以及它们的环境。大多数常规操作可以通过以下kubectl命令来完成:
- kubectl get - 列出resources
- kubectl describe - 显示resource的详细信息
- kubectl logs - 打印pod中container的日志
- kubectl exec - 对pod的container执行一个命令
在应用部署之后,你可以通过这些命令去查看它们的状态、它们运行在哪里以及它们的配置。
注:参考https://kubernetes.io/docs/tutorials/kubernetes-basics/explore/explore-intro/翻译,部分内容有删减及修改。
作者:卡卡rot
链接:https://www.jianshu.com/p/c2cbe3b84813
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
更多推荐
所有评论(0)