通常の Kubernetes では、名前空間(Namespace)を分ければ、同名の Pod を作成できます。
今回は、ためしに vSphere with Kubernetes の 2つのスーパーバイザー名前空間でも、
あえて同名の vSphere Pod を起動してみました。
ちなみに、今回の環境は vCenter Server 7.0b です。
ソフトウェア バージョンやホスト名などは異なりますが、下記のようにラボを用意しています。
vSphere with Kubernetes ラボ環境構築。(まとめ)
それではまず、
1つめのスーパーバイザー名前空間「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
Pod を「pod-01」という名前で起動します。
$ kubectl run pod-01 --image=gowatana/centos7:httpd --generator=run-pod/v1 --context=lab-ns-01
pod/pod-01 created
$ kubectl get pods --context=lab-ns-01
NAME READY STATUS RESTARTS AGE
pod-01 1/1 Running 0 102s
vSphere Pod として起動された様子が、vSphere Client でも確認できます。
Image may be NSFW.
Clik here to view.
2つめのスーパーバイザー名前空間は「lab-ns-02」です。
$ kubectl config get-contexts lab-ns-02
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
lab-ns-02 192.168.70.97 wcp:192.168.70.97:administrator@vsphere.local lab-ns-02
この名前空間でも、Pod をあえて「pod-01」という名前で起動してみます。
(当然ながら起動できます)
$ kubectl run pod-01 --image=gowatana/centos7:httpd --generator=run-pod/v1 --context=lab-ns-02
pod/pod-01 created
$ kubectl get pods --context=lab-ns-02
NAME READY STATUS RESTARTS AGE
pod-01 1/1 Running 0 2m53s
vSphere Client でも、vSphere Pod が起動できたことが確認できます。
Image may be NSFW.
Clik here to view.
vSphere Pod の実体は VM です。
vSphere では、フォルダ内では同名の VM は作成できませんが・・・
Image may be NSFW.
Clik here to view.
一方で、リソースプール内では、もともと同名の VM が作成可能でした。
Image may be NSFW.
Clik here to view.
そして「Namespaces」リソースプールの配下の「名前空間」でも、ちゃんと同名の Pod は起動できます。
従来からの vSphere の仕組みを、うまく利用しているのだなと思いました。
以上、重複する名前の vSphere Pod を起動してみる話でした。
Clik here to view.