Kubernetes 实战 —— 04. 副本机制和其他控制器:部署托管的 pod (3)

kubectl get pods 可以查看当前创建的所有 pod :

NAME READY STATUS RESTARTS AGE kubia-9495d9bf5-5dwj7 1/1 Running 0 3m53s kubia-9495d9bf5-5j6zr 1/1 Running 0 3m53s kubia-9495d9bf5-w98f6 1/1 Running 0 3m53s

查看 Deployment 对已删除的 pod 的响应 P94

kubectl delete pod kubia-9495d9bf5-5dwj7 会删除一个 pod ,然后再次查看当前所有 pod ,可以发现会有 4 个 pod ,因为删除的 pod 正在终止,并且正在创建一个新的 pod : P94

NAME READY STATUS RESTARTS AGE kubia-9495d9bf5-5dwj7 1/1 Terminating 0 24m kubia-9495d9bf5-5j6zr 1/1 Running 0 24m kubia-9495d9bf5-kxcw5 0/1 ContainerCreating 0 9s kubia-9495d9bf5-w98f6 1/1 Running 0 24m

控制器如何创建新的 pod P95

控制器通过创建一个新的替代 pod 来响应 pod 的删除操作。但它并没有对删除本身作出反应,而是针对由此产生对状态—— pod 数量不足作出反应。 P95

应对节点故障 P96

接下来我们将关闭一个节点的网络接口来模拟节点故障。 P96

minikube ssh --node='m02': 进入节点内部

sudo ifconfig eth0 down: 关闭该节点的网络接口

kubectl get nodes: 发现节点 minikube-m02 的状态为未就绪 (NotReady)

kubectl get pods: 可能仍然会看到与之前相同的三个 pod ,因为 Kubernetes 在重新调度 pod 之前会等待一段时间(如果节点因临时网络故障或 Kubelet 重启而无法访问)。如果节点在几分钟内无法访问, Deployment 会立即启动一个新的 pod 。

将 pod 移入/移出 Deployment 的作用域 P97

由 Deployment 创建的 pod 并不是绑定到 Deployment 。在任何时刻, Deployment 管理与标签选择器匹配的 pod 。通过更改 pod 的标签,可以将它从 Deployment 的作用域中添加或删除。 P97

尽管一个 pod 没有绑定到一个 Deployment 拥有的 ReplicaSet ,但该 pod 在 metadata.ownerReferences 中存储它属于哪一个 ReplicaSet 。 P98

给 Deployment 管理的 pod 加标签 P98

kubectl label pod kubia-9495d9bf5-5mmhb type=special: 给 pod 添加其他标签不会影响 Deployment 的管理范围,它只关心该 pod 是否具有标签选择器中引用的所有标签。 P98

更改已托管的 pod 的标签 P98

kubectl label pod kubia-9495d9bf5-5mmhb app=foo --overwrite: 更改其中一个 pod 的标签将使其不再与 Deployment 的标签选择器相匹配,并不再由 Deployment 管理,只剩下两个匹配的 pod 。因此, Deployment 会启动一个新的 pod ,将数目恢复为三。 P98

更改 Deployment 的标签选择器 P100

更改 Deployment 的标签选择器会让所有的 pod 脱离 Deployment 的管理,导致它创建三个新的 pod 。你永远不会修改控制器的标签选择器,但会时不时地更改它的 pod 模版。 P100

修改 pod 模版 P100

Deployment 的 pod 模版可以随时修改,可以使用 kubectl edit deployment kubia 编辑 Deployment 。更改后会重新创建一个新的 ReplocaSet ,并使原有的 ReplocaSet 的副本数变为 0 。因此,使用 kubectl get pods 将发现有 6 个 pod ,pod 的前缀是对应的 ReplocaSet 的名称。

NAME READY STATUS RESTARTS AGE kubia-9495d9bf5-kxcw5 1/1 Terminating 0 78m kubia-9495d9bf5-w98f6 1/1 Terminating 0 102m kubia-9495d9bf5-xn67d 1/1 Terminating 0 29m kubia-bc974964b-bp4l2 1/1 Running 0 22s kubia-bc974964b-r29j2 1/1 Running 0 39s kubia-bc974964b-xl677 1/1 Running 0 14s

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwdjsy.html