4、Pod 的基本使用方法
在 kubernetes 中对运行容器的要求为:容器的主程序需要一直在前台运行,而不是后台运
行。应用需要改造成前 台运行的方式。如果我们创建的 Docker 镜像的启动命令是后台执
行程序,则在 kubelet 创建包含这个容器的 pod 之 后运行完该命令,即认为 Pod 已经结束,
将立刻销毁该 Pod。如果为该 Pod 定义了 RC,则创建、销毁会陷入一个无 限循环的过程中。
Pod 可以由 1 个或多个容器组合而成。
(1)一个容器组成的 Pod 的 yaml 示例
(2)多个容器组成的 Pod 的 yaml 示例
(3)创建
kubectl create -f xxx.yaml
(4)查看
kubectl get pod/po <Pod_name>
kubectl get pod/po <Pod_name> -o wide
kubectl describe pod/po <Pod_name>
(5)删除
kubectl delete -f pod pod_name.yaml
kubectl delete pod --all/[pod_name]
5、Pod 的分类
Pod 有两种类型
(1)普通 Pod
普通 Pod 一旦被创建,就会被放入到 etcd 中存储,随后会被 Kubernetes Master 调度到某
个具体的 Node 上并进行绑定,随后该 Pod 对应的 Node 上的 kubelet 进程实例化成一组相
关的 Docker 容器并启动起来。在默认情 况下,当 Pod 里某个容器停止时,Kubernetes 会
自动检测到这个问题并且重新启动这个 Pod 里某所有容器, 如果 Pod 所在的 Node 宕机,
则会将这个 Node 上的所有 Pod 重新调度到其它节点上。
(2)静态 Pod
静态 Pod 是由 kubelet 进行管理的仅存在于特定 Node 上的 Pod,它们不能通过 API Server
进行管理,无法与 ReplicationController、Deployment 或 DaemonSet 进行关联,并且
kubelet 也无法对它们进行健康检查。
6、Pod 生命周期和重启策略
(1)Pod 的状态