ReplicationController 简写(RC)是 Kubernetes 中的一种资源对象,用于确保指定数量的 Pod 始终运行。ReplicationController 通过监视 Pod 的运行状态,并在 Pod 发生故障或被删除时自动创建新的 Pod,以保持指定数量的 Pod 在运行状态。
使用 ReplicationController 可以实现以下目标: --提高应用程序的可用性:当某个 Pod 发生故障时,ReplicationController 会自动创建新的 Pod,以确保应用程序的可用性。 --扩展应用程序:通过增加副本数,可以扩展应用程序的处理能力,以满足更高的负载需求。 --管理应用程序的版本:通过创建不同版本的 Pod 模板,可以管理应用程序的不同版本,并实现无缝升级和回滚。
# 查看pod [root@kubernetes-mastercontroller]# kubectl get pod -n rc-nginx NAME READY STATUS RESTARTS AGE rc-nginx-5dhzz 1/1 Running 011s rc-nginx-m5tnk 1/1 Running 011s
# 查看pod详细信息 [root@kubernetes-mastercontroller]# kubectl get pod -n rc-nginx -o wide NAME READY STATUS RESTARTS AGE IP NODENOMINATEDNODEREADINESS GATES rc-nginx-5dhzz 1/1 Running 030s10.10.20.242 kubernetes-node1 <none><none> rc-nginx-m5tnk 1/1 Running 030s10.10.20.96 kubernetes-node2 <none><none>
验证rc控制器
1 2 3 4 5 6 7 8 9
# 从上面得知已有pod名为rc-nginx-5dhzz 此时使用命令删除这个pod [root@kubernetes-mastercontroller]# kubectl delete pod rc-nginx-5dhzz -n rc-nginx pod "rc-nginx-5dhzz" deleted
# pod删除后从新查询 可以看到rc自动创建一个新的pod 名为rc-nginx-7vm8p 启动8s [root@kubernetes-mastercontroller]# kubectl get pod -n rc-nginx -o wide NAME READY STATUS RESTARTS AGE IP NODENOMINATEDNODEREADINESS GATES rc-nginx-7vm8p 1/1 Running 08s10.10.20.243 kubernetes-node1 <none><none> rc-nginx-m5tnk 1/1 Running 017m10.10.20.96 kubernetes-node2 <none><none>
[root@kubernetes-mastercontroller]# kubectl get pod -n rc-nginx -o wide NAME READY STATUS RESTARTS AGE IP NODENOMINATEDNODEREADINESS GATES rc-nginx-m5tnk 1/1 Running 031m10.10.20.96 kubernetes-node2 <none><none>