Quantcast
Viewing all articles
Browse latest Browse all 3135

vSphere with Kubernetes でうまく削除できなかった vSphere Pod を削除してみる。

vSphere with Kubernetes によるスーパーバイザー クラスタで、vSphere Pod が削除できなくなることがあります。

そもそも vSphere Pod は右クリックメニューなどから削除できず、わりと悩ましい状態になります。

そこで、なぜか残ってしまった Pod を削除する方法を紹介してみます。

 

削除ずみの vSphere Pod が残った状態。

kubectl(kubectl delete pod ~ など)で vSphere Pod を削除すると、

下記のような状態で Pod が残ってしまうことがあります。

通常は少し待つと自動的に削除されますが、たまに 1日待っても vCenter を再起動しても削除されないことがあります。

 

停止された Pod が残っている様子です。

Image may be NSFW.
Clik here to view.
vsphere-pod-del-01.png

 

ごく稀に、起動中の Pod が残ったりもします。

Image may be NSFW.
Clik here to view.
vsphere-pod-del-02.png

 

kubectl では、すでに Pod が削除された状態で、

対象の名前空間では、Pod がみつかりません。

$ kubectl config current-context

lab-ns-01

$ kubectl config get-contexts lab-ns-01

CURRENT   NAME        CLUSTER         AUTHINFO                                        NAMESPACE

*         lab-ns-01   192.168.70.97   wcp:192.168.70.97:administrator@vsphere.local   lab-ns-01

$ kubectl get pods -n lab-ns-01

No resources found in lab-ns-01 namespace.

$

 

スーパーバイザー クラスタの名前空間を削除すれば一緒に削除できますが、

Pod 単位での削除を試みます。

 

vCenter インベントリに残った vSphere Pod の削除。

まず、Pod が残った名前空間に、あえて同名の Pod「demo-centos7-httpd-6b58f9f454-2jddf」を作成します。

コンテナ イメージは何でもよいので、サイズが小さそうな busybox を利用しました。

$ kubectl run demo-centos7-httpd-6b58f9f454-2jddf --image=busybox --restart=Never

pod/demo-centos7-httpd-6b58f9f454-2jddf created

 

このとき、名前空間にはすでに同名 Pod があるため、Pod の作成は失敗します。

$ kubectl get pod

NAME                                  READY   STATUS                RESTARTS   AGE

demo-centos7-httpd-6b58f9f454-2jddf   0/1     PodVMCreationFailed   0          5s

 

vSphere Client でも、Pod の作成が失敗します。

Image may be NSFW.
Clik here to view.
vsphere-pod-del-03.png

 

ここから、あらためて Pod を削除します。

$ kubectl delete pod demo-centos7-httpd-6b58f9f454-2jddf

pod "demo-centos7-httpd-6b58f9f454-2jddf" deleted

$ kubectl get pod

No resources found in lab-ns-01 namespace.

 

これで Pod「demo-centos7-httpd-6b58f9f454-2jddf」は削除されました。

Image may be NSFW.
Clik here to view.
vsphere-pod-del-05.png

 

同様に、もう一つの vSphere Pod「demo-centos7-httpd-68979c6d58-4l47n」も削除します。

$ kubectl run demo-centos7-httpd-68979c6d58-4l47n --image=busybox --restart=Never

pod/demo-centos7-httpd-68979c6d58-4l47n created

$ kubectl get pods

NAME                                  READY   STATUS                RESTARTS   AGE

demo-centos7-httpd-68979c6d58-4l47n   0/1     PodVMCreationFailed   0          22s

$ kubectl delete pod demo-centos7-httpd-68979c6d58-4l47n

pod "demo-centos7-httpd-68979c6d58-4l47n" deleted

$ kubectl get pods

No resources found in lab-ns-01 namespace.

 

vSphere Client でも、削除が確認できました。

Image may be NSFW.
Clik here to view.
vsphere-pod-del-08.png

 

このように vSphere Pod が削除できますが、他にいい方法がないかは気になっています・・・

 

以上、kubectl で削除できなかった vSphere Pod を削除してみる話でした。

Image may be NSFW.
Clik here to view.

Viewing all articles
Browse latest Browse all 3135

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>