Kubernetes - 4.3 Workload - RelicaSet
什么是RelicaSet? ReplicaSet是为了保持维护的期待Pod副本数量与现时Pod副本数量一致。如在由于Pod异常退出导致期待的副本数量不足时,会自动创建新的Pod保证到与期望的Pod副本数量一致。 ReplicaSet的工作流程 定义副本数量,定义一个选择器,指定选择器如何获取到具有特定标识Pod,定义一个模板指定新创建的Pod的期望状态。 通过yaml资源定义清单创建kubectl apply -f rs-demo.yaml apiVersion: apps/v1 kind: ReplicaSet metadata: name: nginx labels: app: nginx spec: replicas: 3 #副本数量 selector: #标签选择器 matchLabels: app: nginx template: # Pod的模板 metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.16 获取ReplicaSet的状态kubectl get rs 获取Pod的数量,与ReplicaSet定义的一致kubectl get pods 手动删除Pod,ReplicaSet自动创建Pod保持副本数量与定义的一致kubectl delete pod nginx-pxgbnkubectl get pods 删除ReplicationControllerkubectl delete -f rs-demo.yamlkubectl delete rs nginx 使用技巧 官方不建议单独使用ReplicaSet,建议使用Deployment来代替ReplicaSet的单独使用,通过Deployment来创建ReplicaSet,Deployment比ReplicaSet多了例如支持版本回滚等新功能特性。