|NO.Z.00145|——————————|^^ 標準 ^^|——|KuberNetes&資源排程.V15|-------------------------------------------------------|statefulset.v07|刪除|容器映象匯入匯出|
阿新 • • 發佈:2022-03-30
[CloudNative:KuberNetes&資源排程.V15] [Applications.KuberNetes] [StatefulSet應用|容器中匯出映象匯入映象StatefulSet擴容縮容StatefulSet建立pod縮減pod的流程|] [StatefulSet更新策略|StatefulSet灰度釋出|StatefulSet級聯刪除和非級聯刪除|]
一、StatefulSet刪除
二、StatefulSet級聯刪除### --- StatefulSet刪除方式 ~~~ 級聯刪除:刪除StatefulSet時同時刪除pod;預設使用級聯刪除。 ~~~ 非級聯刪除:刪除StatefulSet時不刪除pod
### --- 級聯刪除(預設)
[root@k8s-master01 ~]# kubectl get sts
NAME READY AGE
web 4/4 60m
### --- 刪除StatefulSet型別的資源 ~~~ 在進行delete的時候是級聯刪除。 ~~~ 把StatefulSet刪除之後pod也會被刪除掉 [root@k8s-master01 ~]# kubectl delete sts web statefulset.apps "web" deleted
### --- 檢視刪除過程,pod也被刪除掉了
[root@k8s-master01 ~]# kubectl get po
NAME READY STATUS RESTARTS AGE
web-0 0/1 Terminating 0 24m
web-1 0/1 Terminating 0 24m
web-2 0/1 Terminating 0 5m19s
web-3 0/1 Terminating 0 5m30s
三、StatefulSet非級聯刪除### --- 建立nginx-statefulset型別資源 [root@k8s-master01 ~]# kubectl create -f nginx-sts.yaml statefulset.apps/web created
### --- 檢視建立的pod
[root@k8s-master01 ~]# kubectl get po
NAME READY STATUS RESTARTS AGE
busybox 1/1 Running 0 35s
web-0 1/1 Running 0 13s
web-1 1/1 Running 0 7s
### --- 非級聯刪除資源
[root@k8s-master01 ~]# kubectl delete sts web --cascade=false //非級聯刪除
warning: --cascade=false is deprecated (boolean value) and can be replaced with --cascade=orphan.
statefulset.apps "web" deleted
### --- 檢視刪除後StatefulSet資源
[root@k8s-master01 ~]# kubectl get sts //刪除後StatefulSet消失了
No resources found in default namespace.
### --- 檢視StatefulSet資源刪除後pod是否存在
~~~ 這個判斷在刪除StatefulSet之後變成了一個孤兒Pod,就沒有人去管理它了。
[root@k8s-master01 ~]# kubectl get po //但是它的Pod還在
NAME READY STATUS RESTARTS AGE
busybox 1/1 Running 0 2m28s
web-0 1/1 Running 0 2m6s
web-1 1/1 Running 0 2m
### --- 再次去刪除這個Pod的時候是不會被重建
~~~ 但是之前StatefulSet存在的時候,刪除了pod之後就會重建,
~~~ 因為StatefulSet中有controller去管理它。是能達到我們的期望值。
~~~ 非級聯刪除在生產環境中是用不到的。
[root@k8s-master01 ~]# kubectl delete po web-1 web-0
pod "web-1" deleted
pod "web-0" deleted
附錄一:從容器中匯出映象匯入映象
### --- 從容器中匯出映象匯入映象
[root@k8s-master01 ~]# kubectl get po -owide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES <none>
web-3 1/1 Running 0 5m46s 172.25.92.76 k8s-master02 <none>
### --- 將nginx的映象從pod中匯出
[root@k8s-master01 ~]# docker save nginx:1.15.2 -o nginx.tar
[root@k8s-master01 ~]# scp nginx.tar k8s-master02:/root/ // 將映象傳送到web-3所在的宿主機上
nginx.tar
[root@k8s-master02 ~]# docker load -i nginx.tar // 將映象匯入到容器中。
===============================END===============================
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor
來自為知筆記(Wiz)