k8s-Pod控制器之ReplicaSet

Pod控制器之ReplicaSet

簡(jiǎn)介:
說(shuō)到ReplicaSet對(duì)象,得先說(shuō)說(shuō)ReplicationController(簡(jiǎn)稱為RC)。在舊版本的Kubernetes中,只有ReplicationController對(duì)象。它的主要作用是確保Pod以你指定的副本數(shù)運(yùn)行,即如果有容器異常退出,會(huì)自動(dòng)創(chuàng)建新的 Pod 來(lái)替代;而異常多出來(lái)的容器也會(huì)自動(dòng)回收??梢哉f(shuō),通過(guò)ReplicationController,Kubernetes實(shí)現(xiàn)了集群的高可用性。
在新版本的 Kubernetes 中建議使用 ReplicaSet(簡(jiǎn)稱為RS )來(lái)取代 ReplicationController。ReplicaSet 跟 ReplicationController 沒(méi)有本質(zhì)的不同,只是名字不一樣,并且 ReplicaSet 支持集合式的 selector(ReplicationController 僅支持等式)。
雖然 ReplicaSet 也可以獨(dú)立使用,但建議使用 Deployment 來(lái)自動(dòng)管理 ReplicaSet,這樣就無(wú)需擔(dān)心跟其他機(jī)制的不兼容問(wèn)題(比如 ReplicaSet 不支持 rolling-update 但 Deployment 支持),并且Deployment還支持版本記錄、回滾、暫停升級(jí)等高級(jí)特性

創(chuàng)建一個(gè)ReplicaSet

vim rs.yaml
apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: myapp
  namespace: default
spec:
  replicas: 2
  selector:
    matchLabels:
      app: myapp 
      release: cancay
  template:
    metadata:
      name: myapp
      labels:
        app: myapp
        release: cancay
    spec:
      containers:
      - name: myapp
        image: ikubernetes/myapp:v1
        imagePullPolicy: IfNotPresent
        ports:
        - name: http
          containerPort: 80

創(chuàng)建rs

kubectl apply -f rs.yaml 

查看狀態(tài):

[root@k8s-master daem]# kubectl get rs
NAME    DESIRED   CURRENT   READY   AGE
myapp   2         2         2       2m36s
[root@k8s-master daem]# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
liveness-httpget         1/1     Running   1          2d1h
myapp-84lr8              1/1     Running   0          3m7s
myapp-tpthp              1/1     Running   0          3m7s
poststart-pod            1/1     Running   1          100m
readiness-httpget-pods   1/1     Running   0          2d

ReplicaSet是具有高可用的


image.png

ReplicaSet的擴(kuò)縮容

擴(kuò)容


image.png

使用kubectl edit命令在線修改 縮容也是一樣
也支持更新升級(jí)(也就是更改容器鏡像的版本)但是使用edit命令去更改鏡像版本過(guò)后實(shí)際上線上的鏡像是不會(huì)去重建的,只有刪除一個(gè)pod重建后才是更新的版本,但是需要人工參與


image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容