Kubernetes的Pod是什么?

Kubernetes的Pod是什么?

Kubernetes的Pod是Kubernetes的部署单位。Pod基本上包含一个单一的容器和一个单一的进程,但也可以包含多个容器。

KubernetesのPodはContainerをラップしたもので、Podの中のContainerはメモリを共有するほか、
1. IPアドレスやPort,Routing Tableなどのネームスペース
2. UTS ネームスペース
3. ユニックスドメインソケットなどのIPCネームスペース
などの名前空間を共有します。

KubernetesのPodは特殊なContainerのようなものと思ってよく、Podの中のContainerはContainerの中のContainerのようなものです。

またDockerにおけるContainerは他のContainerとは別のアドレス空間で動きますが、Podの中の複数のContainerはPodと同じアドレス空間で起動するため、localhost経由で通信することが可能です。

DeploymentとPodの関係

部署(Deployment)管理着Pod的状态,如果状态不正确,会执行Pod的恢复操作或控制Pod的网络设置。由于Pod本身没有管理状态的进程,因此通常通过Deployment在Kubernetes上部署Pod。

Pod和Service的关系

因为Pod是动态生成和删除的,所以它的IP地址是不稳定的。换句话说,由于无法保证Pod的稳定性,直接访问运行在Pod上的进程是不可信的。

用Service来解决这个问题。Service会持有一个固定的IP,并且动态地监测生成的Pod的IP地址,作为负载均衡器提供API的终点。

广告
将在 10 秒后关闭
bannerAds