Kubernetes 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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

获取ReplicaSet的状态
kubectl get rs
在这里插入图片描述
获取Pod的数量,与ReplicaSet定义的一致
kubectl get pods
在这里插入图片描述
手动删除Pod,ReplicaSet自动创建Pod保持副本数量与定义的一致
kubectl delete pod nginx-pxgbn
kubectl get pods
在这里插入图片描述

删除ReplicationController
kubectl delete -f rs-demo.yaml
kubectl delete rs nginx

使用技巧

官方不建议单独使用ReplicaSet,建议使用Deployment来代替ReplicaSet的单独使用,通过Deployment来创建ReplicaSet,Deployment比ReplicaSet多了例如支持版本回滚等新功能特性。

文章来源: yekangming.blog.csdn.net,作者:叶康铭,版权归原作者所有,如需转载,请联系作者。

原文链接:yekangming.blog.csdn.net/article/details/103976263

(完)