NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
一个 Pod 是 Kubernetes 最基本的构建单元,也是最小、最简单的构建单元。Pod 也是扩缩容的基本单位,Kubernetes 的扩容和缩容都是直接对 Pod 进行操作的,直接增加 Pod 或是减少 Pod。 一个 Pod 包含一个应用容器(有的时候有多个)、存储资源、唯一的网络 IP、以及其它容器运行所必须的资源。 Pod 在 Kubernetes 集群中主要有两种使用方式: * 运行一个单独的容器:这是最常用的方式;在这种情况下,可以认为一个 Pod 封装了一个单独的容器,Kubernetes 是对 pod 进行管理,而不是直接对容器进行管理。 * 运行耦合度高的多个容器:Pod 也可能包含多个容器,这些容器之间关联紧密需要共享资源。将多个容器添加到单个 Pod 的主要原因是应用可能由一个主进程和一个或多个辅助进程组成。在实践中,把一个进程放到一个容器中运行是最好的。 在本实验中,我们只讲解单容器 Pod 的情况。 每个 Pod 意味着运行了一个单独的应用实例,如果你想要运行多个应用实例对应的就应该使用多个 Pod。 ![](https://img.kancloud.cn/56/15/5615ac86d6273d69acbd114bc2e58cf2_546x266.png) #### Nodes 与 Pods Pod 是运行在 Node 上的。一个 Node 是 Kubernetes 上的工作节点,它可能是虚拟出来的节点或者是物理节点,这取决于集群的部署方式。每个 Node 节点都被 Master 节点所管理,一个 Node 节点可以运行多个 Pod,在集群中,Kubernetes Master 节点通过 Node 节点自动管理 Pods。 每个 Nodes 运行至少需要两个组件: * Kubelet:负责 Master 和 Node 之间的通信,用于管理节点上的 Pod。 * Docker:负责从仓库拉取容器镜像,运行应用等。 ![](https://img.kancloud.cn/08/a1/08a15e6677281bad6ce0dc0931e9afc2_562x475.png)