天天看點

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

Kubernetes - 4.3 Workload - RelicaSet

擷取Pod的數量,與ReplicaSet定義的一緻

kubectl get pods

Kubernetes - 4.3 Workload - RelicaSet

手動删除Pod,ReplicaSet自動建立Pod保持副本數量與定義的一緻

kubectl delete pod nginx-pxgbn

kubectl get pods

Kubernetes - 4.3 Workload - RelicaSet

删除ReplicationController

kubectl delete -f rs-demo.yaml

kubectl delete rs nginx

使用技巧

官方不建議單獨使用ReplicaSet,建議使用Deployment來代替ReplicaSet的單獨使用,通過Deployment來建立ReplicaSet,Deployment比ReplicaSet多了例如支援版本復原等新功能特性。

繼續閱讀