はい、こんにちわ。
実は、今日からvSphere with TanzuでTKCのデプロイ!という訳にはいきません。。
スーパーバイザクラスタを設定するためのシステム要件を元に、環境を準備していく必要があります。ただ、こちらのドキュメントよりもvSphere with Tanzu Quick Start Guide(英語)の方が自分には分かりやすかったので、こちらをベースに紹介していきます。
IPアドレス設計
上記のトポロジー図が分かりやすかったです。要約すると、2つの別々のルーティング可能なサブネットが必要で、今までの Management Network(緑色の線)に加え、新たに Workload Network(赤色の線)が必要なようです(VLANによるネットワーク分離を強く推奨)。さらに、今回作成する LB(HAProxy) とSupervisor Cluster は、両方のネットワークに足を持つ必要があります。
###Management Network
以下の11IPsが必要でした。そのうちvCenterとESXiは割り当て済みですね。
- Supervisor Cluster : 5 IPs (連続している必要あり)
- Load Balancer (HAProxy) : 1 IP
- vCenter : 1 IP
- ESXi x ホスト数 : 4 IPs (私の環境は4ホスト構成のため)
私は、以下の構成で、進めてみることにしました。
リソース名 | IP情報 | 備考 |
---|---|---|
Management Network | 192.168.5.0/24 | DSwitch-Management Network |
GW | 192.168.5.1 | |
DNSサーバ | 192.168.5.1 | ルータさんにおまかせ |
vCenter | 192.168.5.201 | |
ESXi (nested) | 192.168.5.21-24 | |
HAProxy (これから作成) | 192.168.5.45 | |
Supervisor Cluster (これから作成) | 192.168.5.211-215 | |
(参考)DHCPレンジ | 192.168.5.101-200 | ルータさんにおまかせ |
(参考)踏み台サーバ | 192.168.5.42 |
###Workload Network
こちらのサブネットでは、ネットワーク内に2つのIPレンジが必要です。
- Cluster Node Range(または、Load Balancer IP Rangesとしてセットアップ中に登場する)
- Supervisor Cluster : 3IPs
- TKC Controller : ControlPlaneノードVM毎に、1 IP
- TKC Worker : WorkerノードVM毎に、1 IP
- Load Balancer (HAProxy) : Kubernetes LBサービス毎に、1 IP
- Virtual IP Range(または、IP Address Ranges for Virtual Servers)
- Virtual IPs
このVirtual IPレンジとは、K8sの「Service Type:LoadBalancer」リソース作成時に払い出されるVIPのことです。
(2020年12月21日追記)
新しく「DPortGroup-workload」を作り、Quick Start Guideに近い構成で作成してみました。
(最初/16とかで作成してみたけど、上手くいかなかったので作り直した。。)
リソース名 | IP情報 | 備考 |
---|---|---|
Workload Network | 172.18.0.0/24 | DPortGroup-workload |
GW | 172.18.0.1 | |
HAProxy (これから作成) | 172.18.0.45 | 第4オクテット合わせてみた |
Cluster Node Range (ここにSupervisor Clusterと TKCのVMが載っかってくる) |
172.18.0.129-191 | |
Virtual IP Range | 172.18.0.208/28 |
ストレージポリシーの割り当て
Storage Policies vCenter UI Exampleを参考に、カスタム属性とタグを割り当てていきます。
datastoreを選択した状態で「タグの割り当て」→「タグの追加」と進み、「k8s-storage」という名前にしてみました。
このまま作成せず、「新しいカテゴリの作成」に進み、「k8s-tag-category」と名前を付け、「作成」。
今作成したカテゴリに選択し直して、タグを「作成」。その後、「割り当て」を行えば、OKです。
続いて、「ポリシーおよびプロファイル」画面に移動し、「仮想マシンストレージポリシー」を選び、「作成」。
作成ウィザードが起動します。名前は、「k8s-dev-storage-policy」としてみました。
「タグベースの配置ルールを有効化」にチェックを入れます
「タグカテゴリ」と「タグ」に、先ほど作成したものを指定していきます。
後の選択肢は特に迷わないでしょう。作成したポリシーが追加されていることを確認します。
ユーザの追加
実際にTKCを操作するユーザを追加しましょう。
「管理」画面より、「ユーザおよびグループ」を選択し、ドメインを「vsphere.local」に切り替え、「追加」。
ユーザの追加画面が出るので、ユーザ名とパスワードを入力し、追加すれば完了です。
コンテンツライブラリの追加
次は、TKCのイメージなどを格納する、コンテンツライブラリの作成です。
コンテンツライブラリ画面で、「作成」するとウィザードが起動します。
「contents-lib01」としてみました。「NEXT」
「サブスクライブ済みコンテンツライブラリ」を選択し、「 http://wp-content.vmware.com/v2/latest/lib.json 」を指定。
その後、先日作成したvSANを選択し、確認を押すと、サクッとコンテンツライブラリが出来ちゃいます
#HAProxyのデプロイ
まずは、vmware-haproxyのGitHubから、最新のOVAをダウンロードしてきます。
「OVFテンプレートのデプロイ」を選ぶと、いつものウィザードが起動します。
直前にダウンロードしてきたOVAを指定してあげます。
2〜5まではいつも通り。6では「Default」のままでOK
(2020年12月21日追記) 8では、以下のネットワーク構成にしました。
- Management : DSwitch-VM Network
- Workload : DPortGroup-workload
- Frontend : DPortGroup-workload
さぁ、これで準備は出来た!はず。。本日は結構、作業が多かったですね。
HAProxyの設定まわり、自信ないけど上手くいったかな?吉と出るか凶と出るか・・。明日、結果が分かりますw
また明日!