5、ReplicationControllerReplicationController保证随时有一定数量的Pod副本在运行。换句话说,ReplicationController确保同一类型的一个Pod或一组Pod始终可用。ReplicationController的工作原理当Pod过多时,ReplicationController会终止多余的Pod。当Pod数量过少时,ReplicationController会启动新的Pod。与手动创建的Pod不同,由ReplicationController创建的Pod在失败、删除或终止时会自动替换。例如,在内核升级等中断性维护之后,您的pod将在节点上重新创建。因此,即使您的应用程序只需要一个Pod,您也应该使用ReplicationController来创建Pod。ReplicationController类似于进程管理器,但ReplicationController不是监视单个节点上的单个进程,而是监视跨多个节点的多个Pod。在讨论中,ReplicationController通常缩写为“rc”,用作kubectl命令的快捷方式。一个简单的例子是创建一个ReplicationController对象来无限期可靠地运行Pod的一个实例。一个更复杂的用例是运行多个相同的多副本服务副本,例如Web服务器。示例:[root@k8s-master-node1~/yaml/test]#vimrc.yaml[root@k8s-master-node1~/yaml/test]#catrc.yamlapiVersion:v1kind:ReplicationControllermetadata:name:nginxspec:replicas:3选择器:app:nginx模板:元数据:名称:nginx标签:app:nginx规范:容器:-名称:nginx图像:nginx端口:-containerPort:80[root@k8s-master-node1~/yaml/test]#创建[root@k8s-master-node1~/yaml/test]#kubectlapply-frc.yamlreplicationcontroller/nginxcreated[root@k8s-master-node1~/yaml/test]#查看pod[root@k8s-master-node1~/yaml/test]#kubectlgetpodNAMEREADYSTATUSRESTARTSAGEingress-demo-app-694bf5d965-q4l7m1/1运行023hingress-demo-app-694bf5d965-v652j1/1运行023hnfs-client-provisioner-dc5789f74-nnk771/1运行1(8小时前)22hginx-87sxg1/1运行034snginx-kwrqn1/1运行034snginx-xk2t61/1运行034s[root@k8s-master-node1~/yaml/test]#查看rc[root@k8s-master-node1~/yaml/test]#kubectldescribereplicationcontrollersnginxName:nginxNamespace:defaultSelector:app=nginxLabels:app=nginxAnnotations:
