TKG Service (vSphere with k8s)はvSphere ESXi上にVMとPodが同居するという今までにないソリューションでした。
出典:https://blogs.vmware.com/vsphere/2020/04/vsphere-7-kubernetes-namespaces.html
触ってみた
TKG ServiceをESXiで試したい方はこちらを参照してください。
環境ができあがると、vCenterから[Workload Management] > [NEW NAMESPACE]からNamespaceを作れすようになります。
できあがると、まず[Permisson]を与えるよう促されます。
この画面で、vCenter上のどのユーザーにパーミッションに与えるかを聞かれます。
Can viewかCan Editで選択します。
ここではCan Viewを選択します。
そして、ここからはkubectlコマンドを使います。
以下のコマンドでvCenterのkubernetesにログインします。
kubectl vsphere login --server=<k8s> --insecure-skip-tls-verify
すると、以下のようにNamespaceが選択できます。
% kubectl vsphere login --server=<k8s> --insecure-skip-tls-verify
Username: administrator@vsphere.local
Password:
Logged in successfully.
You have access to the following contexts:
k8s
hoge
If the context you wish to use is not in this list, you may need to try
logging in again later, or contact your cluster administrator.
To change context, use `kubectl config use-context <workload name>`
つくったネームスペースにログインします。
% kubectl config use-context hoge
Switched to context "hoge".
そうするとコンテナーをはしらせることができます。
% kubectl run --image=alpine test sleep 3600
kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.
deployment.apps/test created
すると、当たり前のようにコンテナーが起動します。
% kubectl get po
NAME READY STATUS RESTARTS AGE
test-848b8fb677-ssvp5 1/1 Running 0 85s
すごいのが、vCenterからもみえるようになります。
そして、これはVMではなく、Hypervisor上に直接Podが起動します。
すごい、新しい時代を感じる。
まとめ
この記事をベースより細かい検証を別記事で取り上げます。