1. 程式人生 > 其它 >|NO.Z.00145|——————————|^^ 標準 ^^|——|KuberNetes&資源排程.V15|-------------------------------------------------------|statefulset.v07|刪除|容器映象匯入匯出|

|NO.Z.00145|——————————|^^ 標準 ^^|——|KuberNetes&資源排程.V15|-------------------------------------------------------|statefulset.v07|刪除|容器映象匯入匯出|



[CloudNative:KuberNetes&資源排程.V15]                                                               [Applications.KuberNetes] [StatefulSet應用|容器中匯出映象匯入映象StatefulSet擴容縮容StatefulSet建立pod縮減pod的流程|] [StatefulSet更新策略|StatefulSet灰度釋出|StatefulSet級聯刪除和非級聯刪除|]








一、StatefulSet刪除
### --- StatefulSet刪除方式

~~~     級聯刪除:刪除StatefulSet時同時刪除pod;預設使用級聯刪除。
~~~     非級聯刪除:刪除StatefulSet時不刪除pod
二、StatefulSet級聯刪除
### --- 級聯刪除(預設)

[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)