NUCで始めるVMware Tanzu - Supervisor Namespaceの作成

本日は、Supervisor Namespaceを作成していきたいと思います！

# Supervisor Namespaceって何？
TKGの紹介の時に、[ClusterAPIや3頭のカメの話](https://qiita.com/hirosat/items/fbb906ecbfccede2e226#%E3%81%A9%E3%82%93%E3%81%AA%E4%BB%95%E7%B5%84%E3%81%BF%E3%81%AA%E3%81%AE)をしたのを覚えてますでしょうか？
vSphere with Tanzuでは、以下のようにマッピングされるかと思います。

| K8s導入ソリューション | CAPIの親ガメ | CAPIの子ガメ | CAPIの孫ガメ |
|:--|:--|:--|:--|
| Tanzu Kubernetes Grid | Bootstrapマシン | Managementクラスタ | TKC |
| vSphere with Tanzu | vCenterの「TKGSの有効化」 | Supervisorクラスタ | TKC |

で、ClusterAPIは、それぞれKubernetesをベースに動作していることも解説したかと思いますが、Supervisorクラスタが生成するNamespaceなので、**Supervisor Namespace** と、呼びます・・・。
はい、もちろん、それだけではありませんｗ　ここからがvSphereのスペシャルなところで、**vSphereのリソースプール**とマッピングされます！従来、K8sのnamespace管理は結構面倒なものでしたが、リソースプールは、UIで手軽にハードウェアリソースを制御可能なので、K8sのnamespace管理の敷居を下げることができます。
「vSphereで、vSphere with Tanzuを管理する」ことと、「他のクラウドで、TKGで管理する」ことの差別化ポイントの1つとなるかと思います。アーキテクチャの説明は、[こちらのページ](https://docs.vmware.com/jp/VMware-vSphere/7.0/vmware-vsphere-with-tanzu/GUID-3E4E6039-BD24-4C40-8575-5AA0EECBBBEC.html)を参照下さい。
![vstanzu](https://docs.vmware.com/jp/VMware-vSphere/7.0/vmware-vsphere-with-tanzu/images/GUID-389BC19D-1AC5-4F1E-9055-2B8903AFC342-high.png)

#Supervisor Namespaceの作成
その前に、報告が。。昨日、「有効化」から30分後、この状態を確認して寝たのですが・・・、
<img width="1114" alt="スクリーンショット 2020-12-19 1 00 41" src="https://user-images.githubusercontent.com/3906298/102634916-e3a36180-4195-11eb-9b6c-a2c5307f2b07.png">
起きたら、こんな画面になってましたｗ
<img width="1053" alt="スクリーンショット 2020-12-19 14 51 01" src="https://user-images.githubusercontent.com/3906298/102683219-acbf6100-4212-11eb-96cd-476da3c85f7b.png">
小人さん、無茶しやがって・・・。
なので、実際、有効化からどの位の時間でこの状態になるのかは計測できませんでしたが、1時間位空けてから、作業を再開した方が良いでしょう。「名前空間」とは、Supervisor Namespaceのことです。

「名前空間の作成」を押すと、ウィザードが起動します。対象クラスタを選択し、名前を付けて、「作成」。名前は、「tkgs-dev」としてみました。
<img width="562" alt="スクリーンショット 2020-12-19 16 07 19" src="https://user-images.githubusercontent.com/3906298/102683449-69fe8880-4214-11eb-8198-132920397e85.png">
お、一瞬で作成されました。「確認」に進みます
<img width="1077" alt="スクリーンショット 2020-12-19 16 10 07" src="https://user-images.githubusercontent.com/3906298/102683477-bea20380-4214-11eb-9532-42efdd901ca5.png">
なるほど、ここに設定を追加していくのね。
<img width="1592" alt="スクリーンショット 2020-12-19 16 12 15" src="https://user-images.githubusercontent.com/3906298/102683528-3cfea580-4215-11eb-985f-335f9d7224ee.png">

###権限
まずは、「権限の追加」から行きます。
ここには、Supervisor Namespace内のリソースを利用可能なユーザの情報を入力。TKGでは、.kube/config だけを持っていればアクセス出来たので、セキュリティ的にしっかりしていますね。[Day18で準備したユーザ情報](https://qiita.com/hirosat/items/eefa91d9edb767fcf3c4#%E3%83%A6%E3%83%BC%E3%82%B6%E3%81%AE%E8%BF%BD%E5%8A%A0)を入力していきます。
<img width="564" alt="スクリーンショット 2020-12-19 16 20 33" src="https://user-images.githubusercontent.com/3906298/102683904-79330580-4217-11eb-97ca-fc6fe855a3c3.png">

- IDソース : vSphere SSOや、AD・LDAP等と連携することが可能です。
- ユーザ/グループの検索 : 上記で指定したIDソースに存在するユーザやグループを入力
- ロール : 2種類のロールから選択可能です。
    - Can View(表示可能) : Namespace内に作成されたリソースへのアクセスや表示
    - Can Edit(編集可能) : Can Viewに加え、作成された[TKCのcluster-admin権限を持つ](https://docs.vmware.com/jp/VMware-vSphere/7.0/vmware-vsphere-with-tanzu/GUID-CD033D1D-BAD2-41C4-A46F-647A560BAEAB.html#tanzu-kubernetes---2)。つまり、この権限がないと、Podの作成もできません。

###ストレージ
「ストレージの追加」を押すと、以下の画面が起動します。
もちろん、[Day18で準備したストレージポリシー](https://qiita.com/hirosat/items/eefa91d9edb767fcf3c4#%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B8%E3%83%9D%E3%83%AA%E3%82%B7%E3%83%BC%E3%81%AE%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6)を選びます。
<img width="553" alt="スクリーンショット 2020-12-19 17 04 37" src="https://user-images.githubusercontent.com/3906298/102684482-5ce59780-421c-11eb-9b4d-3e8757b4743a.png">

###容量と使用量
ここは実際には設定しませんが、CPU/メモリ/ストレージの各リソースについて、Namespace内にクォータ（リソース制限）をかけることができます。
<img width="560" alt="スクリーンショット 2020-12-19 17 07 36" src="https://user-images.githubusercontent.com/3906298/102684577-13497c80-421d-11eb-9583-2450eaef7bf2.png">
なお、「サマリ」タブからはこれだけですが、「設定」タブからは、K8sのリソースタイプ毎により詳細な制限をかけることができます。

最低限必要な設定はこれくらいです。「ホストおよびクラスタ」画面上では、「Namespaces」の中に、Supervisor Namespace「tkgs-dev」が確認できるようになります。
<img width="1596" alt="スクリーンショット 2020-12-19 17 19 11" src="https://user-images.githubusercontent.com/3906298/102684696-5821e300-421e-11eb-88fe-8dfd19e34a51.png">

今日はこんなところとしましょうか。
明日は、この中にTKCをデプロイしてみましょう！