<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>article Tanzu Kubernetes Cluster への接続。（実験編） in Legacy User Blogs</title>
    <link>https://communities.vmware.com/t5/Legacy-User-Blogs/Tanzu-Kubernetes-Cluster-%E3%81%B8%E3%81%AE%E6%8E%A5%E7%B6%9A-%E5%AE%9F%E9%A8%93%E7%B7%A8/ta-p/2762520</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;vSphere with Kubernetes のスーパーバイザー クラスタ上に作成した&lt;/P&gt;&lt;P&gt;「Tanzu Kubernetse Cluster」に、kubectl を使用していくつかの方法で接続してみます。&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ドキュメントでは、下記のあたりが参考になります。&lt;/P&gt;&lt;P&gt;&lt;A href="https://docs.vmware.com/jp/VMware-vSphere/7.0/vmware-vsphere-with-kubernetes/GUID-FBB9722C-1BB4-4CF2-AB4C-A3ADB5FCC971.html" title="https://docs.vmware.com/jp/VMware-vSphere/7.0/vmware-vsphere-with-kubernetes/GUID-FBB9722C-1BB4-4CF2-AB4C-A3ADB5FCC971.html"&gt;Tanzu Kubernetesクラスタ環境への接続&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;H1&gt;&lt;SPAN style="text-decoration: underline;"&gt;環境について。&lt;/SPAN&gt;&lt;/H1&gt;&lt;P&gt;今回の接続元の環境は Linux です。&lt;/P&gt;&lt;P&gt;スーパーバイザー クラスタの管理プレーンから、kubectl と vSphere プラグインはダウンロードしてあります。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;cat /etc/system-release&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Oracle Linux Server release 7.8&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl version --short --client&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Client Version: v1.17.4-2+a00aae1e6a4a69&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl vsphere version&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;kubectl-vsphere: version 0.0.2, build 16232217, change 8039971&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tanzu Kubernetse Cluster のラボは、下記のように構築しています。&lt;/P&gt;&lt;P&gt;&lt;A href="https://communities.vmware.com/migration-blogpost/22315"&gt;vSphere with Kubernetes ラボ環境構築。（まとめ）&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;kubectl は、スーパーバイザー クラスタの制御プレーンからダウンロードしたものを利用しています。&lt;/P&gt;&lt;P&gt;&lt;A href="https://communities.vmware.com/migration-blogpost/22269"&gt;vSphere with Kubernetes ラボ環境構築。Part-11: kubectl で vSphere Pod 起動編&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;vCenter Server 7.0b で、3ノードの ESXi で スーパーバイザー クラスタを構成しています。&lt;/P&gt;&lt;P&gt;スーパーバイザークラスタ「wcp-cluster-41」の、制御プレーンの IP アドレスは「192.168.70.97」です。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="tkc-access-00.png"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/23192i542311025A940186/image-size/large?v=v2&amp;amp;px=999" role="button" title="tkc-access-00.png" alt="tkc-access-00.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tanzu Kubernetes Cluster（TKC）は、スーパーバイザークラスタの名前空間「lab-ns-03」に作成ずみです。&lt;/P&gt;&lt;P&gt;TKC の名前は「tkg-cluster-41」で、制御プレーンの IP アドレスは「192.168.70.99」です。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="tkc-access-01.png"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/23193i64055559A689DCDB/image-size/large?v=v2&amp;amp;px=999" role="button" title="tkc-access-01.png" alt="tkc-access-01.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;あらかじめ、vCenter Single Sign-On には、ID ソースとして LDAP サーバを登録ずみです。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="tkc-access-02.png"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/23194i7EC7B598832A854E/image-size/large?v=v2&amp;amp;px=999" role="button" title="tkc-access-02.png" alt="tkc-access-02.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ID ソースのドメイン「go-lab.jp」からユーザ情報を取得できています。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="tkc-access-03.png"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/23195i6619D4E72B326E32/image-size/large?v=v2&amp;amp;px=999" role="button" title="tkc-access-03.png" alt="tkc-access-03.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;H1&gt;&lt;SPAN style="text-decoration: underline;"&gt;方法1： vCenter Single Sign-On 認証で接続する。&lt;/SPAN&gt;&lt;/H1&gt;&lt;P&gt;ここでは、「k8s-infra-user @ go-lab.jp」という vCenter Single Sigh-On のユーザーで接続してみます。&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;まず、対象のユーザーには、スーパーバイザー クラスタの名前空間で「権限の追加」が必要です。&lt;/P&gt;&lt;P&gt;そして、kubectl で TKC に接続する際は、スーパーバイザー制御プレーン宛となります。&lt;/P&gt;&lt;P&gt;ちなみに、vCenter の管理者ユーザ（administrator@vsphere.local）であれば、&lt;/P&gt;&lt;P&gt;デフォルトでスーパーバイザー クラスタや TKC にアクセス可能です。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="tkc-access-case-01.PNG"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/23203i38344068CCE87252/image-size/large?v=v2&amp;amp;px=999" role="button" title="tkc-access-case-01.PNG" alt="tkc-access-case-01.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;H2&gt;1-1： スーパーバイザー名前空間での権限の追加。&lt;/H2&gt;&lt;P&gt;スーパーバイザー クラスタの名前空間「lab-ns-03」の、&lt;/P&gt;&lt;P&gt;「サマリ」→「権限」にある「権限の追加」をクリックします。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="tkc-access-04.png"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/23196iA2C45926D8B17802/image-size/large?v=v2&amp;amp;px=999" role="button" title="tkc-access-04.png" alt="tkc-access-04.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ID ソース、ユーザー（またはグループ）、ロールを選択して、「OK」をクリックします。&lt;/P&gt;&lt;P&gt;今回は、ユーザー（k8s-infra-user）を指定していますが、一般的にはグループを指定するはずです。&lt;/P&gt;&lt;P&gt;ロールでは、「編集可能」（edit） または、「表示可能」（view）が選択できます。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="tkc-access-05.png"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/23197i7BF9724799D80DDC/image-size/large?v=v2&amp;amp;px=999" role="button" title="tkc-access-05.png" alt="tkc-access-05.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;権限が追加されました。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="tkc-access-06.png"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/23198i12517AD18930886A/image-size/large?v=v2&amp;amp;px=999" role="button" title="tkc-access-06.png" alt="tkc-access-06.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;H2&gt;1-2： kubectl での接続。&lt;/H2&gt;&lt;P&gt;kubectl vsphere login でログインすると、kubeconfig のファイルが生成されます。&lt;/P&gt;&lt;P&gt;デフォルトでは、$HOME/.kube/config というファイル名で作成されますが、&lt;/P&gt;&lt;P&gt;環境変数 KUBECONFIG を設定しておくと、そのパスに生成されます。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;export KUBECONFIG=$(pwd)/kubeconfig_tkc&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;kubectl vsphere login では、次のようなオプションを指定します。&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;--server： Tanzu Kubernetes Cluster の制御プレーンではなく、&lt;BR /&gt;スーパーバイザー クラスタの、制御プレーンが持つ IP アドレス（この環境では 192.168.70.97）を指定します。&lt;/LI&gt;&lt;LI&gt;--tanzu-kubernetes-cluster-namespace： TKC を作成したスーパーバイザー名前空間&lt;/LI&gt;&lt;LI&gt;--tanzu-kubernetes-cluster-name： TKC の名前&lt;/LI&gt;&lt;/UL&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl vsphere login --insecure-skip-tls-verify --server=192.168.70.97 --tanzu-kubernetes-cluster-namespace=lab-ns-03 --tanzu-kubernetes-cluster-name=tkg-cluster-41&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Username: &lt;SPAN style="color: #e23d39;"&gt;&lt;A class="jive-link-email-small" href="mailto:k8s-infra-user@go-lab.jp"&gt;k8s-infra-user@go-lab.jp&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Password: &lt;SPAN style="color: #e23d39;"&gt;★パスワードを入力。&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Logged in successfully.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;You have access to the following contexts:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp; 192.168.70.97&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp; lab-ns-03&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp; tkg-cluster-41&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;If the context you wish to use is not in this list, you may need to try&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;logging in again later, or contact your cluster administrator.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;To change context, use `kubectl config use-context &amp;lt;workload name&amp;gt;`&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TKC「tkg-cluster-41」と、TKC のスーパーバイザー名前空間「lab-ns-03」と同名のコンテキストが作成されます。&lt;/P&gt;&lt;P&gt;ここでも、TKC&amp;nbsp; の制御プレーン アドレス「192.168.70.99」がわかります。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl config get-contexts tkg-cluster-41&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;CURRENT&amp;nbsp;&amp;nbsp; NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLUSTER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AUTHINFO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NAMESPACE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;SPAN&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tkg-cluster-41&amp;nbsp;&amp;nbsp; 192.168.70.99&amp;nbsp;&amp;nbsp; wcp:192.168.70.99:&lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:k8s-infra-user@go-lab.jp"&gt;k8s-infra-user@go-lab.jp&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TKC のノードが表示できました。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl --context tkg-cluster-41 get nodes&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STATUS&amp;nbsp;&amp;nbsp; ROLES&amp;nbsp;&amp;nbsp;&amp;nbsp; AGE&amp;nbsp;&amp;nbsp;&amp;nbsp; VERSION&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;tkg-cluster-41-control-plane-vcdpg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ready&amp;nbsp;&amp;nbsp;&amp;nbsp; master&amp;nbsp;&amp;nbsp; 153m&amp;nbsp;&amp;nbsp; v1.17.8+vmware.1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;tkg-cluster-41-workers-c72df-5979f6ffcf-lgsx2&amp;nbsp;&amp;nbsp; Ready&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;none&amp;gt;&amp;nbsp;&amp;nbsp; 131m&amp;nbsp;&amp;nbsp; v1.17.8+vmware.1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;tkg-cluster-41-workers-c72df-5979f6ffcf-qvv92&amp;nbsp;&amp;nbsp; Ready&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;none&amp;gt;&amp;nbsp;&amp;nbsp; 127m&amp;nbsp;&amp;nbsp; v1.17.8+vmware.1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;tkg-cluster-41-workers-c72df-5979f6ffcf-vdrpn&amp;nbsp;&amp;nbsp; Ready&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;none&amp;gt;&amp;nbsp;&amp;nbsp; 131m&amp;nbsp;&amp;nbsp; v1.17.8+vmware.1&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ちなみに権限を追加していなかったり、ロールが「表示可能」の場合はエラーになります。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl --context tkg-cluster-41 get nodes&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;SPAN&gt;Error from server (Forbidden): nodes is forbidden: User "sso:&lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:k8s-infra-user@go-lab.jp"&gt;k8s-infra-user@go-lab.jp&lt;/A&gt;&lt;SPAN&gt;" cannot list resource "nodes" in API group "" at the cluster scope&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;なお、TKC で Deployment リソースなどで Pod を作成するには、PodSecurityPolicy の設定が必要になったりします。&lt;/P&gt;&lt;P&gt;（これは、この後の方法でも同様です）&lt;/P&gt;&lt;P&gt;&lt;A href="https://communities.vmware.com/migration-blogpost/22306"&gt;vSphere with Kubernetes ラボ環境構築。Part-15: Tanzu Kubernetes Cluster での PSP 使用 / Deployment 作成編&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;H1&gt;&lt;SPAN style="text-decoration: underline;"&gt;方法2： Kubernetes の管理ユーザ（kubernetes-admin）として接続する。&lt;/SPAN&gt;&lt;/H1&gt;&lt;P&gt;この方法では、TKC を作成してあるスーパーバイザー名前空間「lab-ns-03」に自動作成されている Secret リソースから、kubeconfig の情報を取得します。&lt;/P&gt;&lt;P&gt;これは、あらかじめ kubectl vsphere login でスーパーバイザー クラスタか TKC に接続したうえで取得することになります。&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;kubernetes-admin の kubeconfig での接続は、直接 TKC の管理プレーン宛を指定します。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="tkc-access-case-02.PNG"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/23204i3944F7C252E60A5C/image-size/large?v=v2&amp;amp;px=999" role="button" title="tkc-access-case-02.PNG" alt="tkc-access-case-02.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;H2&gt;2-1： kubernetes-admin ユーザーの kubeconfig の取得。&lt;/H2&gt;&lt;P&gt;Secret リソースは、「＜Tanzu Kubernetes Cluster の名前＞-kubeconfig」となっており、&lt;/P&gt;&lt;P&gt;この環境では「tkg-cluster-41-kubeconfig」です。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl --context lab-ns-03 get secrets tkg-cluster-41-kubeconfig&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATA&amp;nbsp;&amp;nbsp; AGE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;tkg-cluster-41-kubeconfig&amp;nbsp;&amp;nbsp; Opaque&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 167m&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;JSON パスでの「{.data.value}」に、base64 エンコーディングされた kubeconfig が格納されています。&lt;/P&gt;&lt;P&gt;この内容を、「base64 -d」コマンドでデコードして、ファイルに保存します。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl --context lab-ns-03 get secret tkg-cluster-41-kubeconfig -o jsonpath='{.data.value}' | base64 -d &amp;gt; ./kubeconfig_tkg-cluster-41&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;H2&gt;2-2： 生成した kubeconfig での kubectl 接続。&lt;/H2&gt;&lt;P&gt;保存した kubeconfig で、管理ユーザーのコンテキストで TKC に接続できます。&lt;/P&gt;&lt;P&gt;これは、vCenter Single Sign-On の認証とは関係なく接続できるものです。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl --kubeconfig=./kubeconfig_tkg-cluster-41 config current-context&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;kubernetes-admin@tkg-cluster-41&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl --kubeconfig=./kubeconfig_tkg-cluster-41 get nodes&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STATUS&amp;nbsp;&amp;nbsp; ROLES&amp;nbsp;&amp;nbsp;&amp;nbsp; AGE&amp;nbsp;&amp;nbsp;&amp;nbsp; VERSION&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;tkg-cluster-41-control-plane-vcdpg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ready&amp;nbsp;&amp;nbsp;&amp;nbsp; master&amp;nbsp;&amp;nbsp; 155m&amp;nbsp;&amp;nbsp; v1.17.8+vmware.1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;tkg-cluster-41-workers-c72df-5979f6ffcf-lgsx2&amp;nbsp;&amp;nbsp; Ready&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;none&amp;gt;&amp;nbsp;&amp;nbsp; 133m&amp;nbsp;&amp;nbsp; v1.17.8+vmware.1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;tkg-cluster-41-workers-c72df-5979f6ffcf-qvv92&amp;nbsp;&amp;nbsp; Ready&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;none&amp;gt;&amp;nbsp;&amp;nbsp; 129m&amp;nbsp;&amp;nbsp; v1.17.8+vmware.1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;tkg-cluster-41-workers-c72df-5979f6ffcf-vdrpn&amp;nbsp;&amp;nbsp; Ready&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;none&amp;gt;&amp;nbsp;&amp;nbsp; 133m&amp;nbsp;&amp;nbsp; v1.17.8+vmware.1&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;H1&gt;&lt;SPAN style="text-decoration: underline;"&gt;方法3： Kubernetes の ServiceAccount を作成して接続する。&lt;/SPAN&gt;&lt;/H1&gt;&lt;P&gt;方法1か、方法2の、いずれかで TKC に接続したうえで、TKC の名前空間に ServiceAccount を作成して接続します。&lt;/P&gt;&lt;P&gt;ServiceAccount での TKC への接続も、スーパーバイザー制御プレーンではなく、TKC 制御プレーン宛となります。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="tkc-access-case-03.PNG"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/23205i09C54E2A584E25BE/image-size/large?v=v2&amp;amp;px=999" role="button" title="tkc-access-case-03.PNG" alt="tkc-access-case-03.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;H2&gt;3-1： ServiceAccount の作成。&lt;/H2&gt;&lt;P&gt;ここからは、ちょうど直前の 方法2 で作成した kubeconfig を利用します。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;export KUBECONFIG=$(pwd)/kubeconfig_tkg-cluster-41&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl config current-context&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;kubernetes-admin@tkg-cluster-41&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;この時点では TKC の「default」名前空間を使用していますが、&lt;/P&gt;&lt;P&gt;あらたに「tkg-ns-01」という名前空間を作成して、そこに ServiceAccount で接続できるようにします。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl create namespace tkg-ns-01&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;namespace/tkg-ns-01 created&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;この時点 tkg-ns-01 名前空間に存在するのは、ServiceAccount（sa） は default のみです。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl -n tkg-ns-01 get sa&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SECRETS&amp;nbsp;&amp;nbsp; AGE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;default&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 43s&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ServiceAccount「sa-01」を作成します。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl -n tkg-ns-01 create sa sa-01&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;serviceaccount/sa-01 created&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl -n tkg-ns-01 get sa&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SECRETS&amp;nbsp;&amp;nbsp; AGE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;default&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 47s&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;sa-01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12s&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;この ServiceAccount のトークンが格納されている、Secret リソースの名前を確認します。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;SA_SECRET_NAME=$(kubectl -n tkg-ns-01 get sa sa-01 -o jsonpath='{.secrets[0].name}')&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;echo $SA_SECRET_NAME&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;sa-01-token-zc74c&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Secret リソースから、トークンを取得します。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;SA_TOKEN=$(kubectl -n tkg-ns-01 get secrets $SA_SECRET_NAME -o jsonpath='{.data.token}' | base64 -d)&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;確認したトークンをもとに、Credential、コンテキストを作成します。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl config set-credentials sa-01 --token=$SA_TOKEN&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;User "sa-01" set.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl config set-context ctx-sa-01 --user=sa-01 --cluster=tkg-cluster-41 --namespace=tkg-ns-01&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Context "ctx-sa-01" created.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;コンテキストを kubeconfig ファイルとして保存しておきます。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl config view --minify --context=ctx-sa-01 --raw &amp;gt; ./kubeconfig_ctx-sa-01&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl config delete-context ctx-sa-01&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ServiceAccount で接続する kubeconifg が生成されました。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl --kubeconfig=./kubeconfig_ctx-sa-01 config get-contexts&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;CURRENT&amp;nbsp;&amp;nbsp; NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLUSTER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AUTHINFO&amp;nbsp;&amp;nbsp; NAMESPACE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ctx-sa-01&amp;nbsp;&amp;nbsp; tkg-cluster-41&amp;nbsp;&amp;nbsp; sa-01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tkg-ns-01&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;H2&gt;3-2： ServiceAccount の権限設定。&lt;/H2&gt;&lt;P&gt;作成した ServiceAccount「sa-01」が Kubernetes のリソースを操作できるように、&lt;/P&gt;&lt;P&gt;ClusterRole「edit」を割り当てる RoleBinding を作成しておきます。&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;role-binding-edit.yml&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;---&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;kind: RoleBinding&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;apiVersion: rbac.authorization.k8s.io/v1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;metadata:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; name: rb-edit-sa-01&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;roleRef:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; kind: ClusterRole&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; name: &lt;SPAN style="color: #e23d39;"&gt;edit&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; apiGroup: rbac.authorization.k8s.io&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;subjects:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;- kind: ServiceAccount&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; name: &lt;SPAN style="color: #e23d39;"&gt;sa-01&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RoleBinding を、TKC の tkg-ns-01 名前空間に作成します。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl -n tkg-ns-01 apply -f role-binding-edit.yml&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;rolebinding.rbac.authorization.k8s.io/rb-edit-sa-01 created&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TKC で Pod を起動できるように、PodSecurityPolicy を割り当てる RoleBinding も作成しておきます。&lt;/P&gt;&lt;P&gt;こちらは、すべての ServiceAccount を指定しています。&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;role-binding-psp.yml&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;---&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;kind: RoleBinding&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;apiVersion: rbac.authorization.k8s.io/v1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;metadata:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; name: rb-vmware-system-privileged&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;roleRef:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; kind: ClusterRole&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; name: psp:vmware-system-privileged &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; apiGroup: rbac.authorization.k8s.io&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;subjects:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;- kind: Group&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; name: &lt;SPAN style="color: #e23d39;"&gt;system:serviceaccounts&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; apiGroup: rbac.authorization.k8s.io&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TKC の名前空間に RoleBinding を作成します。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl -n tkg-ns-01 apply -f role-binding-psp.yml&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;rolebinding.rbac.authorization.k8s.io/rb-vmware-system-privileged created&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;H2&gt;3-3： 生成した kubeconifg での kubectl 接続。&lt;/H2&gt;&lt;P&gt;生成した kubeconfig で、Pod の起動ができました。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl --kubeconfig=./kubeconfig_ctx-sa-01 run pod-01 --image=gowatana/centos7:httpd --restart=Never&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;pod/pod-01 created&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl --kubeconfig=./kubeconfig_ctx-sa-01 get pods&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; READY&amp;nbsp;&amp;nbsp; STATUS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RESTARTS&amp;nbsp;&amp;nbsp; AGE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;pod-01&amp;nbsp;&amp;nbsp; 1/1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Running&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 44s&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pod は削除しておきます。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl --kubeconfig=./kubeconfig_ctx-sa-01.txt delete pod pod-01&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;pod "pod-01" deleted&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;H1&gt;&lt;SPAN style="text-decoration: underline;"&gt;方法4： TKC 側で vCenter Single Sign-On ユーザーの権限を割り当てる。&lt;/SPAN&gt;&lt;/H1&gt;&lt;P&gt;あらかじめ、方法1、または方法2の、いずれかの方法で TKC に接続しておきます。&lt;/P&gt;&lt;P&gt;そして方法1 とは異なり、TKC で作成した名前空間に vCenter Single Sigh-On ユーザーの権限を割り当てます。&lt;/P&gt;&lt;P&gt;そのあとの TKC への接続はスーパーバイザー制御プレーン宛となります。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="tkc-access-case-04a.png"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/23206iC2FC6C2855984B58/image-size/large?v=v2&amp;amp;px=999" role="button" title="tkc-access-case-04a.png" alt="tkc-access-case-04a.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;H2&gt;方法4-1： TKC の名前空間への権限の追加。&lt;/H2&gt;&lt;P&gt;ここでは、方法2 で生成した kubeconfig を利用して、TKC を操作します。&lt;/P&gt;&lt;P&gt;（方法1 の接続でも同様に操作できます）&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;export KUBECONFIG=$(pwd)/kubeconfig_tkg-cluster-41&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl config current-context&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;kubernetes-admin@tkg-cluster-41&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TKC の名前空間「tkg-ns-02」を追加作成します。&lt;/P&gt;&lt;P&gt;あわせて、PSP の RoleBinding（YAML は方法3のものと同様）も作成しておきます。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl create namespace tkg-ns-02&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;namespace/tkg-ns-02 created&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl -n tkg-ns-02 apply -f role-binding-psp.yml&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;rolebinding.rbac.authorization.k8s.io/rb-vmware-system-privileged created&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RoleBinding の YAML を用意します。&lt;/P&gt;&lt;P&gt;リソースを操作できるように、ClusterRole「edit」を割り当てます。&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;subjects では vCenter Single Sign-On ユーザー（sso:&lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:k8s-dev-user@go-lab.jp"&gt;k8s-dev-user@go-lab.jp&lt;/A&gt;&lt;SPAN&gt;）を指定しています。&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;ちなみに、グループを指定する場合は、「kind: User」を「kind: Group」にします。&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;role-binding-vcsso.yml&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;---&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;kind: RoleBinding&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;apiVersion: rbac.authorization.k8s.io/v1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;metadata:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; name: rb-edit-k8s-dev-user&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;roleRef:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; kind: ClusterRole&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; name: edit&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; apiGroup: rbac.authorization.k8s.io&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;subjects:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;- kind: User&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; name: &lt;SPAN style="color: #e23d39;"&gt;&lt;SPAN&gt;sso:&lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:k8s-dev-user@go-lab.jp"&gt;k8s-dev-user@go-lab.jp&lt;/A&gt;&lt;/SPAN&gt; #sso:&amp;lt;username&amp;gt;@&amp;lt;domain&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; apiGroup: rbac.authorization.k8s.io&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;作成した TKC の名前空間「tkg-ns-02」に、RoleBinding を作成します。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl -n tkg-ns-02 apply -f role-binding-vcsso.yml&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;rolebinding.rbac.authorization.k8s.io/rb-edit-k8s-dev-user created&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;H2&gt;方法4-2： kubectl での接続。&lt;/H2&gt;&lt;P&gt;既存の kubeconfig を上書きしないように、環境変数 KUBECONFIG に、新しい kubeconfig ファイルのパスを指定します。&lt;/P&gt;&lt;P&gt;この時点では「kubeconfig_k8s-dev-user」ファイルは存在しません。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;export KUBECONFIG=&lt;SPAN style="font-family: 'courier new', courier; background-color: #f6f6f6;"&gt;&lt;STRONG&gt;$(pwd)&lt;/STRONG&gt;&lt;/SPAN&gt;/kubeconfig_k8s-dev-user&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;kubectl vsphere login で、スーパーバイザー制御プレーンと TKC に接続します。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl vsphere login --insecure-skip-tls-verify --server=192.168.70.97 --tanzu-kubernetes-cluster-namespace=lab-ns-03 --tanzu-kubernetes-cluster-name=tkg-cluster-41&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Username: &lt;SPAN style="color: #e23d39;"&gt;&lt;A class="jive-link-email-small" href="mailto:k8s-dev-user@go-lab.jp"&gt;k8s-dev-user@go-lab.jp&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Password: &lt;SPAN style="color: #e23d39;"&gt;★パスワードを入力。&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Logged in successfully.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;You have access to the following contexts:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp; 192.168.70.97&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp; tkg-cluster-41&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;If the context you wish to use is not in this list, you may need to try&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;logging in again later, or contact your cluster administrator.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;To change context, use `kubectl config use-context &amp;lt;workload name&amp;gt;`&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;コンテキストが生成されました。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl config get-contexts tkg-cluster-41&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;CURRENT&amp;nbsp;&amp;nbsp; NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLUSTER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AUTHINFO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NAMESPACE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;SPAN&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tkg-cluster-41&amp;nbsp;&amp;nbsp; 192.168.70.99&amp;nbsp;&amp;nbsp; wcp:192.168.70.99:&lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:k8s-dev-user@go-lab.jp"&gt;k8s-dev-user@go-lab.jp&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;コンテキストを TKC の「tkg-cluster-41」に切り替えて、&lt;/P&gt;&lt;P&gt;デフォルトの名前空間として「tkg-ns-02」を設定します。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl config use-context tkg-cluster-41&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Switched to context "tkg-cluster-41".&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl config set-context --current --namespace=tkg-ns-02&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Context "tkg-cluster-41" modified.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl config get-contexts tkg-cluster-41&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;CURRENT&amp;nbsp;&amp;nbsp; NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLUSTER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AUTHINFO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NAMESPACE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;SPAN&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tkg-cluster-41&amp;nbsp;&amp;nbsp; 192.168.70.99&amp;nbsp;&amp;nbsp; wcp:192.168.70.99:&lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:k8s-dev-user@go-lab.jp"&gt;k8s-dev-user@go-lab.jp&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #e23d39;"&gt;tkg-ns-02&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pod が起動できました。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl run pod-01 --image=gowatana/centos7:httpd --restart=Never&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;pod/pod-01 created&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl get pods -n tkg-ns-02&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; READY&amp;nbsp;&amp;nbsp; STATUS&amp;nbsp;&amp;nbsp;&amp;nbsp; RESTARTS&amp;nbsp;&amp;nbsp; AGE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;pod-01&amp;nbsp;&amp;nbsp; 1/1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Running&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10s&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;スーパーバイザー名前空間「lab-ns-03」では「k8s-dev-user」ユーザーへの権限は追加していませんが、&lt;/P&gt;&lt;P&gt;vCenter Single Sigh-On ユーザーでリソース作成ができました。&lt;/P&gt;&lt;P&gt;vSphere Client で確認すると、方法1 で使用した「k8s-infra-user」ユーザーのみが追加されています。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="tkc-access-09.png"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/23202iA4EAAA43B2D8CCA9/image-size/large?v=v2&amp;amp;px=999" role="button" title="tkc-access-09.png" alt="tkc-access-09.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;H1&gt;&lt;SPAN style="text-decoration: underline;"&gt;vCenter 同梱ではない kubectl の接続。&lt;/SPAN&gt;&lt;/H1&gt;&lt;P&gt;ちなみに、ここまでの方法に関わらず、kubeconfig が生成できていれば&lt;/P&gt;&lt;P&gt;一般的な Kubernetes 操作ツールでも TKC に（スーパーバイザー クラスタにも）接続することができます。&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kubernetes のドキュメントでおなじみの URL から kubectl をダウンロードします。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;&lt;SPAN&gt;curl -LO &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://storage.googleapis.com/kubernetes-release/release/v1.17.8/bin/linux/amd64/kubectl" rel="nofollow"&gt;https://storage.googleapis.com/kubernetes-release/release/v1.17.8/bin/linux/amd64/kubectl&lt;/A&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;chmod +x ./kubectl&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;vCenter 同梱の kubectl と、あらたにダウンロードした kubectl（./kubectl でカレント ディレクトリのものを実行）です。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl version --short&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Client Version: v1.17.4-2+a00aae1e6a4a69&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Server Version: v1.17.8+vmware.1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;./kubectl version --short&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Client Version: v1.17.8&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Server Version: v1.17.8+vmware.1&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;どちらの kubectl でも、普通に TKC を操作できます。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;./kubectl --kubeconfig=./kubeconfig_k8s-dev-user run pod-01 --image=gowatana/centos7:httpd --re&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;start=Never&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;pod/pod-01 created&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;./kubectl --kubeconfig=./kubeconfig_k8s-dev-user get pods&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; READY&amp;nbsp;&amp;nbsp; STATUS&amp;nbsp;&amp;nbsp;&amp;nbsp; RESTARTS&amp;nbsp;&amp;nbsp; AGE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;pod-01&amp;nbsp;&amp;nbsp; 1/1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Running&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 15s&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tanzu Kubernetes Cluster は、kubectl + vSphere プラグインによる vCenter Single Sign-On の認証だけでなく、&lt;/P&gt;&lt;P&gt;一般的な kubernetes と同様なクラスターへの接続ができます。&lt;/P&gt;&lt;P&gt;いくつか接続方法を試しましたが、もっとよい方法もあるかもしれません。&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;以上、いろいろと Tanzu Kubernetes Cluster への接続を試してみる話でした。&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 21 Sep 2020 14:58:42 GMT</pubDate>
    <dc:creator>gowatana</dc:creator>
    <dc:date>2020-09-21T14:58:42Z</dc:date>
    <item>
      <title>Tanzu Kubernetes Cluster への接続。（実験編）</title>
      <link>https://communities.vmware.com/t5/Legacy-User-Blogs/Tanzu-Kubernetes-Cluster-%E3%81%B8%E3%81%AE%E6%8E%A5%E7%B6%9A-%E5%AE%9F%E9%A8%93%E7%B7%A8/ta-p/2762520</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;vSphere with Kubernetes のスーパーバイザー クラスタ上に作成した&lt;/P&gt;&lt;P&gt;「Tanzu Kubernetse Cluster」に、kubectl を使用していくつかの方法で接続してみます。&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ドキュメントでは、下記のあたりが参考になります。&lt;/P&gt;&lt;P&gt;&lt;A href="https://docs.vmware.com/jp/VMware-vSphere/7.0/vmware-vsphere-with-kubernetes/GUID-FBB9722C-1BB4-4CF2-AB4C-A3ADB5FCC971.html" title="https://docs.vmware.com/jp/VMware-vSphere/7.0/vmware-vsphere-with-kubernetes/GUID-FBB9722C-1BB4-4CF2-AB4C-A3ADB5FCC971.html"&gt;Tanzu Kubernetesクラスタ環境への接続&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;H1&gt;&lt;SPAN style="text-decoration: underline;"&gt;環境について。&lt;/SPAN&gt;&lt;/H1&gt;&lt;P&gt;今回の接続元の環境は Linux です。&lt;/P&gt;&lt;P&gt;スーパーバイザー クラスタの管理プレーンから、kubectl と vSphere プラグインはダウンロードしてあります。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;cat /etc/system-release&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Oracle Linux Server release 7.8&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl version --short --client&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Client Version: v1.17.4-2+a00aae1e6a4a69&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl vsphere version&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;kubectl-vsphere: version 0.0.2, build 16232217, change 8039971&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tanzu Kubernetse Cluster のラボは、下記のように構築しています。&lt;/P&gt;&lt;P&gt;&lt;A href="https://communities.vmware.com/migration-blogpost/22315"&gt;vSphere with Kubernetes ラボ環境構築。（まとめ）&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;kubectl は、スーパーバイザー クラスタの制御プレーンからダウンロードしたものを利用しています。&lt;/P&gt;&lt;P&gt;&lt;A href="https://communities.vmware.com/migration-blogpost/22269"&gt;vSphere with Kubernetes ラボ環境構築。Part-11: kubectl で vSphere Pod 起動編&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;vCenter Server 7.0b で、3ノードの ESXi で スーパーバイザー クラスタを構成しています。&lt;/P&gt;&lt;P&gt;スーパーバイザークラスタ「wcp-cluster-41」の、制御プレーンの IP アドレスは「192.168.70.97」です。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="tkc-access-00.png"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/23192i542311025A940186/image-size/large?v=v2&amp;amp;px=999" role="button" title="tkc-access-00.png" alt="tkc-access-00.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tanzu Kubernetes Cluster（TKC）は、スーパーバイザークラスタの名前空間「lab-ns-03」に作成ずみです。&lt;/P&gt;&lt;P&gt;TKC の名前は「tkg-cluster-41」で、制御プレーンの IP アドレスは「192.168.70.99」です。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="tkc-access-01.png"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/23193i64055559A689DCDB/image-size/large?v=v2&amp;amp;px=999" role="button" title="tkc-access-01.png" alt="tkc-access-01.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;あらかじめ、vCenter Single Sign-On には、ID ソースとして LDAP サーバを登録ずみです。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="tkc-access-02.png"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/23194i7EC7B598832A854E/image-size/large?v=v2&amp;amp;px=999" role="button" title="tkc-access-02.png" alt="tkc-access-02.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ID ソースのドメイン「go-lab.jp」からユーザ情報を取得できています。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="tkc-access-03.png"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/23195i6619D4E72B326E32/image-size/large?v=v2&amp;amp;px=999" role="button" title="tkc-access-03.png" alt="tkc-access-03.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;H1&gt;&lt;SPAN style="text-decoration: underline;"&gt;方法1： vCenter Single Sign-On 認証で接続する。&lt;/SPAN&gt;&lt;/H1&gt;&lt;P&gt;ここでは、「k8s-infra-user @ go-lab.jp」という vCenter Single Sigh-On のユーザーで接続してみます。&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;まず、対象のユーザーには、スーパーバイザー クラスタの名前空間で「権限の追加」が必要です。&lt;/P&gt;&lt;P&gt;そして、kubectl で TKC に接続する際は、スーパーバイザー制御プレーン宛となります。&lt;/P&gt;&lt;P&gt;ちなみに、vCenter の管理者ユーザ（administrator@vsphere.local）であれば、&lt;/P&gt;&lt;P&gt;デフォルトでスーパーバイザー クラスタや TKC にアクセス可能です。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="tkc-access-case-01.PNG"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/23203i38344068CCE87252/image-size/large?v=v2&amp;amp;px=999" role="button" title="tkc-access-case-01.PNG" alt="tkc-access-case-01.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;H2&gt;1-1： スーパーバイザー名前空間での権限の追加。&lt;/H2&gt;&lt;P&gt;スーパーバイザー クラスタの名前空間「lab-ns-03」の、&lt;/P&gt;&lt;P&gt;「サマリ」→「権限」にある「権限の追加」をクリックします。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="tkc-access-04.png"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/23196iA2C45926D8B17802/image-size/large?v=v2&amp;amp;px=999" role="button" title="tkc-access-04.png" alt="tkc-access-04.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ID ソース、ユーザー（またはグループ）、ロールを選択して、「OK」をクリックします。&lt;/P&gt;&lt;P&gt;今回は、ユーザー（k8s-infra-user）を指定していますが、一般的にはグループを指定するはずです。&lt;/P&gt;&lt;P&gt;ロールでは、「編集可能」（edit） または、「表示可能」（view）が選択できます。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="tkc-access-05.png"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/23197i7BF9724799D80DDC/image-size/large?v=v2&amp;amp;px=999" role="button" title="tkc-access-05.png" alt="tkc-access-05.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;権限が追加されました。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="tkc-access-06.png"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/23198i12517AD18930886A/image-size/large?v=v2&amp;amp;px=999" role="button" title="tkc-access-06.png" alt="tkc-access-06.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;H2&gt;1-2： kubectl での接続。&lt;/H2&gt;&lt;P&gt;kubectl vsphere login でログインすると、kubeconfig のファイルが生成されます。&lt;/P&gt;&lt;P&gt;デフォルトでは、$HOME/.kube/config というファイル名で作成されますが、&lt;/P&gt;&lt;P&gt;環境変数 KUBECONFIG を設定しておくと、そのパスに生成されます。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;export KUBECONFIG=$(pwd)/kubeconfig_tkc&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;kubectl vsphere login では、次のようなオプションを指定します。&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;--server： Tanzu Kubernetes Cluster の制御プレーンではなく、&lt;BR /&gt;スーパーバイザー クラスタの、制御プレーンが持つ IP アドレス（この環境では 192.168.70.97）を指定します。&lt;/LI&gt;&lt;LI&gt;--tanzu-kubernetes-cluster-namespace： TKC を作成したスーパーバイザー名前空間&lt;/LI&gt;&lt;LI&gt;--tanzu-kubernetes-cluster-name： TKC の名前&lt;/LI&gt;&lt;/UL&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl vsphere login --insecure-skip-tls-verify --server=192.168.70.97 --tanzu-kubernetes-cluster-namespace=lab-ns-03 --tanzu-kubernetes-cluster-name=tkg-cluster-41&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Username: &lt;SPAN style="color: #e23d39;"&gt;&lt;A class="jive-link-email-small" href="mailto:k8s-infra-user@go-lab.jp"&gt;k8s-infra-user@go-lab.jp&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Password: &lt;SPAN style="color: #e23d39;"&gt;★パスワードを入力。&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Logged in successfully.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;You have access to the following contexts:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp; 192.168.70.97&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp; lab-ns-03&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp; tkg-cluster-41&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;If the context you wish to use is not in this list, you may need to try&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;logging in again later, or contact your cluster administrator.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;To change context, use `kubectl config use-context &amp;lt;workload name&amp;gt;`&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TKC「tkg-cluster-41」と、TKC のスーパーバイザー名前空間「lab-ns-03」と同名のコンテキストが作成されます。&lt;/P&gt;&lt;P&gt;ここでも、TKC&amp;nbsp; の制御プレーン アドレス「192.168.70.99」がわかります。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl config get-contexts tkg-cluster-41&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;CURRENT&amp;nbsp;&amp;nbsp; NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLUSTER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AUTHINFO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NAMESPACE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;SPAN&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tkg-cluster-41&amp;nbsp;&amp;nbsp; 192.168.70.99&amp;nbsp;&amp;nbsp; wcp:192.168.70.99:&lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:k8s-infra-user@go-lab.jp"&gt;k8s-infra-user@go-lab.jp&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TKC のノードが表示できました。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl --context tkg-cluster-41 get nodes&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STATUS&amp;nbsp;&amp;nbsp; ROLES&amp;nbsp;&amp;nbsp;&amp;nbsp; AGE&amp;nbsp;&amp;nbsp;&amp;nbsp; VERSION&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;tkg-cluster-41-control-plane-vcdpg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ready&amp;nbsp;&amp;nbsp;&amp;nbsp; master&amp;nbsp;&amp;nbsp; 153m&amp;nbsp;&amp;nbsp; v1.17.8+vmware.1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;tkg-cluster-41-workers-c72df-5979f6ffcf-lgsx2&amp;nbsp;&amp;nbsp; Ready&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;none&amp;gt;&amp;nbsp;&amp;nbsp; 131m&amp;nbsp;&amp;nbsp; v1.17.8+vmware.1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;tkg-cluster-41-workers-c72df-5979f6ffcf-qvv92&amp;nbsp;&amp;nbsp; Ready&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;none&amp;gt;&amp;nbsp;&amp;nbsp; 127m&amp;nbsp;&amp;nbsp; v1.17.8+vmware.1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;tkg-cluster-41-workers-c72df-5979f6ffcf-vdrpn&amp;nbsp;&amp;nbsp; Ready&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;none&amp;gt;&amp;nbsp;&amp;nbsp; 131m&amp;nbsp;&amp;nbsp; v1.17.8+vmware.1&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ちなみに権限を追加していなかったり、ロールが「表示可能」の場合はエラーになります。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl --context tkg-cluster-41 get nodes&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;SPAN&gt;Error from server (Forbidden): nodes is forbidden: User "sso:&lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:k8s-infra-user@go-lab.jp"&gt;k8s-infra-user@go-lab.jp&lt;/A&gt;&lt;SPAN&gt;" cannot list resource "nodes" in API group "" at the cluster scope&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;なお、TKC で Deployment リソースなどで Pod を作成するには、PodSecurityPolicy の設定が必要になったりします。&lt;/P&gt;&lt;P&gt;（これは、この後の方法でも同様です）&lt;/P&gt;&lt;P&gt;&lt;A href="https://communities.vmware.com/migration-blogpost/22306"&gt;vSphere with Kubernetes ラボ環境構築。Part-15: Tanzu Kubernetes Cluster での PSP 使用 / Deployment 作成編&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;H1&gt;&lt;SPAN style="text-decoration: underline;"&gt;方法2： Kubernetes の管理ユーザ（kubernetes-admin）として接続する。&lt;/SPAN&gt;&lt;/H1&gt;&lt;P&gt;この方法では、TKC を作成してあるスーパーバイザー名前空間「lab-ns-03」に自動作成されている Secret リソースから、kubeconfig の情報を取得します。&lt;/P&gt;&lt;P&gt;これは、あらかじめ kubectl vsphere login でスーパーバイザー クラスタか TKC に接続したうえで取得することになります。&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;kubernetes-admin の kubeconfig での接続は、直接 TKC の管理プレーン宛を指定します。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="tkc-access-case-02.PNG"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/23204i3944F7C252E60A5C/image-size/large?v=v2&amp;amp;px=999" role="button" title="tkc-access-case-02.PNG" alt="tkc-access-case-02.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;H2&gt;2-1： kubernetes-admin ユーザーの kubeconfig の取得。&lt;/H2&gt;&lt;P&gt;Secret リソースは、「＜Tanzu Kubernetes Cluster の名前＞-kubeconfig」となっており、&lt;/P&gt;&lt;P&gt;この環境では「tkg-cluster-41-kubeconfig」です。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl --context lab-ns-03 get secrets tkg-cluster-41-kubeconfig&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATA&amp;nbsp;&amp;nbsp; AGE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;tkg-cluster-41-kubeconfig&amp;nbsp;&amp;nbsp; Opaque&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 167m&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;JSON パスでの「{.data.value}」に、base64 エンコーディングされた kubeconfig が格納されています。&lt;/P&gt;&lt;P&gt;この内容を、「base64 -d」コマンドでデコードして、ファイルに保存します。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl --context lab-ns-03 get secret tkg-cluster-41-kubeconfig -o jsonpath='{.data.value}' | base64 -d &amp;gt; ./kubeconfig_tkg-cluster-41&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;H2&gt;2-2： 生成した kubeconfig での kubectl 接続。&lt;/H2&gt;&lt;P&gt;保存した kubeconfig で、管理ユーザーのコンテキストで TKC に接続できます。&lt;/P&gt;&lt;P&gt;これは、vCenter Single Sign-On の認証とは関係なく接続できるものです。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl --kubeconfig=./kubeconfig_tkg-cluster-41 config current-context&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;kubernetes-admin@tkg-cluster-41&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl --kubeconfig=./kubeconfig_tkg-cluster-41 get nodes&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STATUS&amp;nbsp;&amp;nbsp; ROLES&amp;nbsp;&amp;nbsp;&amp;nbsp; AGE&amp;nbsp;&amp;nbsp;&amp;nbsp; VERSION&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;tkg-cluster-41-control-plane-vcdpg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ready&amp;nbsp;&amp;nbsp;&amp;nbsp; master&amp;nbsp;&amp;nbsp; 155m&amp;nbsp;&amp;nbsp; v1.17.8+vmware.1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;tkg-cluster-41-workers-c72df-5979f6ffcf-lgsx2&amp;nbsp;&amp;nbsp; Ready&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;none&amp;gt;&amp;nbsp;&amp;nbsp; 133m&amp;nbsp;&amp;nbsp; v1.17.8+vmware.1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;tkg-cluster-41-workers-c72df-5979f6ffcf-qvv92&amp;nbsp;&amp;nbsp; Ready&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;none&amp;gt;&amp;nbsp;&amp;nbsp; 129m&amp;nbsp;&amp;nbsp; v1.17.8+vmware.1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;tkg-cluster-41-workers-c72df-5979f6ffcf-vdrpn&amp;nbsp;&amp;nbsp; Ready&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;none&amp;gt;&amp;nbsp;&amp;nbsp; 133m&amp;nbsp;&amp;nbsp; v1.17.8+vmware.1&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;H1&gt;&lt;SPAN style="text-decoration: underline;"&gt;方法3： Kubernetes の ServiceAccount を作成して接続する。&lt;/SPAN&gt;&lt;/H1&gt;&lt;P&gt;方法1か、方法2の、いずれかで TKC に接続したうえで、TKC の名前空間に ServiceAccount を作成して接続します。&lt;/P&gt;&lt;P&gt;ServiceAccount での TKC への接続も、スーパーバイザー制御プレーンではなく、TKC 制御プレーン宛となります。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="tkc-access-case-03.PNG"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/23205i09C54E2A584E25BE/image-size/large?v=v2&amp;amp;px=999" role="button" title="tkc-access-case-03.PNG" alt="tkc-access-case-03.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;H2&gt;3-1： ServiceAccount の作成。&lt;/H2&gt;&lt;P&gt;ここからは、ちょうど直前の 方法2 で作成した kubeconfig を利用します。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;export KUBECONFIG=$(pwd)/kubeconfig_tkg-cluster-41&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl config current-context&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;kubernetes-admin@tkg-cluster-41&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;この時点では TKC の「default」名前空間を使用していますが、&lt;/P&gt;&lt;P&gt;あらたに「tkg-ns-01」という名前空間を作成して、そこに ServiceAccount で接続できるようにします。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl create namespace tkg-ns-01&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;namespace/tkg-ns-01 created&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;この時点 tkg-ns-01 名前空間に存在するのは、ServiceAccount（sa） は default のみです。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl -n tkg-ns-01 get sa&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SECRETS&amp;nbsp;&amp;nbsp; AGE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;default&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 43s&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ServiceAccount「sa-01」を作成します。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl -n tkg-ns-01 create sa sa-01&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;serviceaccount/sa-01 created&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl -n tkg-ns-01 get sa&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SECRETS&amp;nbsp;&amp;nbsp; AGE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;default&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 47s&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;sa-01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12s&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;この ServiceAccount のトークンが格納されている、Secret リソースの名前を確認します。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;SA_SECRET_NAME=$(kubectl -n tkg-ns-01 get sa sa-01 -o jsonpath='{.secrets[0].name}')&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;echo $SA_SECRET_NAME&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;sa-01-token-zc74c&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Secret リソースから、トークンを取得します。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;SA_TOKEN=$(kubectl -n tkg-ns-01 get secrets $SA_SECRET_NAME -o jsonpath='{.data.token}' | base64 -d)&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;確認したトークンをもとに、Credential、コンテキストを作成します。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl config set-credentials sa-01 --token=$SA_TOKEN&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;User "sa-01" set.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl config set-context ctx-sa-01 --user=sa-01 --cluster=tkg-cluster-41 --namespace=tkg-ns-01&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Context "ctx-sa-01" created.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;コンテキストを kubeconfig ファイルとして保存しておきます。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl config view --minify --context=ctx-sa-01 --raw &amp;gt; ./kubeconfig_ctx-sa-01&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl config delete-context ctx-sa-01&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ServiceAccount で接続する kubeconifg が生成されました。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl --kubeconfig=./kubeconfig_ctx-sa-01 config get-contexts&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;CURRENT&amp;nbsp;&amp;nbsp; NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLUSTER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AUTHINFO&amp;nbsp;&amp;nbsp; NAMESPACE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ctx-sa-01&amp;nbsp;&amp;nbsp; tkg-cluster-41&amp;nbsp;&amp;nbsp; sa-01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tkg-ns-01&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;H2&gt;3-2： ServiceAccount の権限設定。&lt;/H2&gt;&lt;P&gt;作成した ServiceAccount「sa-01」が Kubernetes のリソースを操作できるように、&lt;/P&gt;&lt;P&gt;ClusterRole「edit」を割り当てる RoleBinding を作成しておきます。&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;role-binding-edit.yml&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;---&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;kind: RoleBinding&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;apiVersion: rbac.authorization.k8s.io/v1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;metadata:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; name: rb-edit-sa-01&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;roleRef:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; kind: ClusterRole&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; name: &lt;SPAN style="color: #e23d39;"&gt;edit&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; apiGroup: rbac.authorization.k8s.io&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;subjects:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;- kind: ServiceAccount&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; name: &lt;SPAN style="color: #e23d39;"&gt;sa-01&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RoleBinding を、TKC の tkg-ns-01 名前空間に作成します。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl -n tkg-ns-01 apply -f role-binding-edit.yml&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;rolebinding.rbac.authorization.k8s.io/rb-edit-sa-01 created&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TKC で Pod を起動できるように、PodSecurityPolicy を割り当てる RoleBinding も作成しておきます。&lt;/P&gt;&lt;P&gt;こちらは、すべての ServiceAccount を指定しています。&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;role-binding-psp.yml&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;---&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;kind: RoleBinding&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;apiVersion: rbac.authorization.k8s.io/v1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;metadata:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; name: rb-vmware-system-privileged&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;roleRef:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; kind: ClusterRole&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; name: psp:vmware-system-privileged &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; apiGroup: rbac.authorization.k8s.io&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;subjects:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;- kind: Group&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; name: &lt;SPAN style="color: #e23d39;"&gt;system:serviceaccounts&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; apiGroup: rbac.authorization.k8s.io&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TKC の名前空間に RoleBinding を作成します。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl -n tkg-ns-01 apply -f role-binding-psp.yml&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;rolebinding.rbac.authorization.k8s.io/rb-vmware-system-privileged created&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;H2&gt;3-3： 生成した kubeconifg での kubectl 接続。&lt;/H2&gt;&lt;P&gt;生成した kubeconfig で、Pod の起動ができました。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl --kubeconfig=./kubeconfig_ctx-sa-01 run pod-01 --image=gowatana/centos7:httpd --restart=Never&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;pod/pod-01 created&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl --kubeconfig=./kubeconfig_ctx-sa-01 get pods&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; READY&amp;nbsp;&amp;nbsp; STATUS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RESTARTS&amp;nbsp;&amp;nbsp; AGE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;pod-01&amp;nbsp;&amp;nbsp; 1/1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Running&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 44s&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pod は削除しておきます。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl --kubeconfig=./kubeconfig_ctx-sa-01.txt delete pod pod-01&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;pod "pod-01" deleted&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;H1&gt;&lt;SPAN style="text-decoration: underline;"&gt;方法4： TKC 側で vCenter Single Sign-On ユーザーの権限を割り当てる。&lt;/SPAN&gt;&lt;/H1&gt;&lt;P&gt;あらかじめ、方法1、または方法2の、いずれかの方法で TKC に接続しておきます。&lt;/P&gt;&lt;P&gt;そして方法1 とは異なり、TKC で作成した名前空間に vCenter Single Sigh-On ユーザーの権限を割り当てます。&lt;/P&gt;&lt;P&gt;そのあとの TKC への接続はスーパーバイザー制御プレーン宛となります。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="tkc-access-case-04a.png"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/23206iC2FC6C2855984B58/image-size/large?v=v2&amp;amp;px=999" role="button" title="tkc-access-case-04a.png" alt="tkc-access-case-04a.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;H2&gt;方法4-1： TKC の名前空間への権限の追加。&lt;/H2&gt;&lt;P&gt;ここでは、方法2 で生成した kubeconfig を利用して、TKC を操作します。&lt;/P&gt;&lt;P&gt;（方法1 の接続でも同様に操作できます）&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;export KUBECONFIG=$(pwd)/kubeconfig_tkg-cluster-41&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl config current-context&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;kubernetes-admin@tkg-cluster-41&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TKC の名前空間「tkg-ns-02」を追加作成します。&lt;/P&gt;&lt;P&gt;あわせて、PSP の RoleBinding（YAML は方法3のものと同様）も作成しておきます。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl create namespace tkg-ns-02&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;namespace/tkg-ns-02 created&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl -n tkg-ns-02 apply -f role-binding-psp.yml&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;rolebinding.rbac.authorization.k8s.io/rb-vmware-system-privileged created&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RoleBinding の YAML を用意します。&lt;/P&gt;&lt;P&gt;リソースを操作できるように、ClusterRole「edit」を割り当てます。&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;subjects では vCenter Single Sign-On ユーザー（sso:&lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:k8s-dev-user@go-lab.jp"&gt;k8s-dev-user@go-lab.jp&lt;/A&gt;&lt;SPAN&gt;）を指定しています。&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;ちなみに、グループを指定する場合は、「kind: User」を「kind: Group」にします。&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;role-binding-vcsso.yml&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;---&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;kind: RoleBinding&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;apiVersion: rbac.authorization.k8s.io/v1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;metadata:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; name: rb-edit-k8s-dev-user&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;roleRef:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; kind: ClusterRole&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; name: edit&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; apiGroup: rbac.authorization.k8s.io&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;subjects:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;- kind: User&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; name: &lt;SPAN style="color: #e23d39;"&gt;&lt;SPAN&gt;sso:&lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:k8s-dev-user@go-lab.jp"&gt;k8s-dev-user@go-lab.jp&lt;/A&gt;&lt;/SPAN&gt; #sso:&amp;lt;username&amp;gt;@&amp;lt;domain&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; apiGroup: rbac.authorization.k8s.io&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;作成した TKC の名前空間「tkg-ns-02」に、RoleBinding を作成します。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl -n tkg-ns-02 apply -f role-binding-vcsso.yml&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;rolebinding.rbac.authorization.k8s.io/rb-edit-k8s-dev-user created&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;H2&gt;方法4-2： kubectl での接続。&lt;/H2&gt;&lt;P&gt;既存の kubeconfig を上書きしないように、環境変数 KUBECONFIG に、新しい kubeconfig ファイルのパスを指定します。&lt;/P&gt;&lt;P&gt;この時点では「kubeconfig_k8s-dev-user」ファイルは存在しません。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;export KUBECONFIG=&lt;SPAN style="font-family: 'courier new', courier; background-color: #f6f6f6;"&gt;&lt;STRONG&gt;$(pwd)&lt;/STRONG&gt;&lt;/SPAN&gt;/kubeconfig_k8s-dev-user&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;kubectl vsphere login で、スーパーバイザー制御プレーンと TKC に接続します。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl vsphere login --insecure-skip-tls-verify --server=192.168.70.97 --tanzu-kubernetes-cluster-namespace=lab-ns-03 --tanzu-kubernetes-cluster-name=tkg-cluster-41&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Username: &lt;SPAN style="color: #e23d39;"&gt;&lt;A class="jive-link-email-small" href="mailto:k8s-dev-user@go-lab.jp"&gt;k8s-dev-user@go-lab.jp&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Password: &lt;SPAN style="color: #e23d39;"&gt;★パスワードを入力。&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Logged in successfully.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;You have access to the following contexts:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp; 192.168.70.97&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp; tkg-cluster-41&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;If the context you wish to use is not in this list, you may need to try&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;logging in again later, or contact your cluster administrator.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;To change context, use `kubectl config use-context &amp;lt;workload name&amp;gt;`&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;コンテキストが生成されました。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl config get-contexts tkg-cluster-41&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;CURRENT&amp;nbsp;&amp;nbsp; NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLUSTER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AUTHINFO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NAMESPACE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;SPAN&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tkg-cluster-41&amp;nbsp;&amp;nbsp; 192.168.70.99&amp;nbsp;&amp;nbsp; wcp:192.168.70.99:&lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:k8s-dev-user@go-lab.jp"&gt;k8s-dev-user@go-lab.jp&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;コンテキストを TKC の「tkg-cluster-41」に切り替えて、&lt;/P&gt;&lt;P&gt;デフォルトの名前空間として「tkg-ns-02」を設定します。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl config use-context tkg-cluster-41&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Switched to context "tkg-cluster-41".&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl config set-context --current --namespace=tkg-ns-02&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Context "tkg-cluster-41" modified.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl config get-contexts tkg-cluster-41&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;CURRENT&amp;nbsp;&amp;nbsp; NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLUSTER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AUTHINFO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NAMESPACE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;SPAN&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tkg-cluster-41&amp;nbsp;&amp;nbsp; 192.168.70.99&amp;nbsp;&amp;nbsp; wcp:192.168.70.99:&lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:k8s-dev-user@go-lab.jp"&gt;k8s-dev-user@go-lab.jp&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #e23d39;"&gt;tkg-ns-02&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pod が起動できました。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl run pod-01 --image=gowatana/centos7:httpd --restart=Never&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;pod/pod-01 created&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl get pods -n tkg-ns-02&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; READY&amp;nbsp;&amp;nbsp; STATUS&amp;nbsp;&amp;nbsp;&amp;nbsp; RESTARTS&amp;nbsp;&amp;nbsp; AGE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;pod-01&amp;nbsp;&amp;nbsp; 1/1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Running&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10s&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;スーパーバイザー名前空間「lab-ns-03」では「k8s-dev-user」ユーザーへの権限は追加していませんが、&lt;/P&gt;&lt;P&gt;vCenter Single Sigh-On ユーザーでリソース作成ができました。&lt;/P&gt;&lt;P&gt;vSphere Client で確認すると、方法1 で使用した「k8s-infra-user」ユーザーのみが追加されています。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="tkc-access-09.png"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/23202iA4EAAA43B2D8CCA9/image-size/large?v=v2&amp;amp;px=999" role="button" title="tkc-access-09.png" alt="tkc-access-09.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;H1&gt;&lt;SPAN style="text-decoration: underline;"&gt;vCenter 同梱ではない kubectl の接続。&lt;/SPAN&gt;&lt;/H1&gt;&lt;P&gt;ちなみに、ここまでの方法に関わらず、kubeconfig が生成できていれば&lt;/P&gt;&lt;P&gt;一般的な Kubernetes 操作ツールでも TKC に（スーパーバイザー クラスタにも）接続することができます。&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kubernetes のドキュメントでおなじみの URL から kubectl をダウンロードします。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;&lt;SPAN&gt;curl -LO &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://storage.googleapis.com/kubernetes-release/release/v1.17.8/bin/linux/amd64/kubectl" rel="nofollow"&gt;https://storage.googleapis.com/kubernetes-release/release/v1.17.8/bin/linux/amd64/kubectl&lt;/A&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;chmod +x ./kubectl&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;vCenter 同梱の kubectl と、あらたにダウンロードした kubectl（./kubectl でカレント ディレクトリのものを実行）です。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;kubectl version --short&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Client Version: v1.17.4-2+a00aae1e6a4a69&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Server Version: v1.17.8+vmware.1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;./kubectl version --short&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Client Version: v1.17.8&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Server Version: v1.17.8+vmware.1&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;どちらの kubectl でも、普通に TKC を操作できます。&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;./kubectl --kubeconfig=./kubeconfig_k8s-dev-user run pod-01 --image=gowatana/centos7:httpd --re&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;start=Never&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;pod/pod-01 created&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;$ &lt;STRONG&gt;./kubectl --kubeconfig=./kubeconfig_k8s-dev-user get pods&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; READY&amp;nbsp;&amp;nbsp; STATUS&amp;nbsp;&amp;nbsp;&amp;nbsp; RESTARTS&amp;nbsp;&amp;nbsp; AGE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;pod-01&amp;nbsp;&amp;nbsp; 1/1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Running&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 15s&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tanzu Kubernetes Cluster は、kubectl + vSphere プラグインによる vCenter Single Sign-On の認証だけでなく、&lt;/P&gt;&lt;P&gt;一般的な kubernetes と同様なクラスターへの接続ができます。&lt;/P&gt;&lt;P&gt;いくつか接続方法を試しましたが、もっとよい方法もあるかもしれません。&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;以上、いろいろと Tanzu Kubernetes Cluster への接続を試してみる話でした。&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Sep 2020 14:58:42 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/Legacy-User-Blogs/Tanzu-Kubernetes-Cluster-%E3%81%B8%E3%81%AE%E6%8E%A5%E7%B6%9A-%E5%AE%9F%E9%A8%93%E7%B7%A8/ta-p/2762520</guid>
      <dc:creator>gowatana</dc:creator>
      <dc:date>2020-09-21T14:58:42Z</dc:date>
    </item>
  </channel>
</rss>

