Tanzu Kubernetes Grid2.1とNSX ALBでKubernetes環境を構築する方法(NSX ALB構築編)

17 min read

はじめに

VMware vSphere環境ではTanzu Kubernetes Grid(通称: TKG)を使用することで簡単にKubernetes環境を構築することができます。本記事で紹介するTKGはStandalone版であり、マルチクラウドに対応可能なTKGmです。また、NSX ALBはEssentialsライセンスを使用していきます。本記事ではNSX ALBを構築する方法を記述しています。

環境

環境
VMware ESXi 8
VMware vCenter 8
Tanzu Kubernetes Grid 2.1.1
NSX Advanced Load Balancer 22.1.3

前提条件

  • VMware ESXiの構築及びvCenterを使用してDatacenterの管理ができていること
  • 2つ以上のVLAN環境が構築できていること
    • 本環境ではマネジメントネットワーク:VM Network(VLAN0)とKubernetes用ネットワーク:VLAN100(VLAN100)を用意しています。
  • 十分なリソースのあるサーバ、ストレージ
    • NSX ALBでCPU:8, RAM:24GB, ROM:128GB使用します。
    • 要件によりますが、デプロイするKubernetesノードでもCPU:2, RAM:8GB, ROM:40GBの仮想マシンが4~12個デプロイされます。

NSX ALBの構築

 ここからはNSX ALBのコントローラであるAvi Controllerの構築を行います。

NSX ALBのダウンロード

  • 下記サイトにアクセスしてください。 https://customerconnect.vmware.com/en/downloads/details?downloadGroup=NSX-ALB-10-NDC&productId=1092&rPId=55618#product_downloads

  • 「Products & Downloads」の中にある「Download Now」ボタンをクリックしてください。

  • VMware Connectのアカウントでログインしてください。

  • ログイン後、リダイレクトでAvi Networks Portalに飛びます。左ペインの「Software」→「NSX ALB」と進んでください。その後、「22.1.3」を開き、「22.1.3」のリンクをクリックしてください。

  • 「Downloads」の中にある「VMware」タブを開き、「Controller OVA」のダウンロードボタン(下矢印)をクリックし、NSX ALBのOVAファイルをダウンロードしてください。 ※この際、ダウンロードされるファイル名は「controller_sha1-22.1.3-9096.ova」

NSX ALBのOVAのデプロイ

  • VMware vCenterにアクセスし、ログインをしてください。

  • Datacenterを右クリックし、「OVFテンプレートのデプロイ」をクリックしてください。

  • OVFテンプレートの選択ではローカルファイルを選択し、「ファイルのアップロード」をクリックし、先程ダウンロードした「OVA」ファイルを選択してください。

  • 名前とフォルダの選択では、任意の名前、フォルダを指定してください。(本記事ではavi_controller)としています。

  • コンピューティングリソースの選択では、ご自身の環境にあったリソースを選択してください。

  • 詳細を確認したら次へをクリックしてください。

  • ストレージの選択では、ご自身の環境にあったストレージを選択してください。

  • ネットワークの選択では、マネジメントネットワークを選択してください。

  • テンプレートのカスタマイズでは以下の項目を設定してください。

    • Management Interface IP Address: この仮想マシンに割り当てるIPアドレスを指定してください。(空欄の場合はDHCPでIPアドレスが割り当てられます)
    • Management Interface Subnet Mask: マネジメントネットワークのサブネットを指定してください。
    • Default Gateway: デフォルトゲートウェイを指定してください。

以上で基本的な設定は完了です。その他、環境に合わせてパラメータを記述してください。

  • 設定の確認を行ったら、完了ボタンをクリックし、OVAをデプロイしてください。

  • OVAのデプロイが終わったら、仮想マシンを開きパワーオンしてください。

  • ブラウザから「https://avi_controllerのIPアドレス」にアクセスしてください。接続時に、プライバシー保護の警告が出ますが、「詳細設定」→「~にアクセスする」をクリックしてください。 ※起動に時間がかかるため、アクセスが早いと「502 Bad Gateway」等が表示されます。

NSX ALBの初期セットアップ

  • 初回アクセス時に管理者アカウントである「admin」のパスワードを設定します。 メールアドレスは入力しなくても構いません。

  • システム設定では以下の項目を設定します。

    • パスフレーズ(必須): コンフィグのエクスポートと定期バックアップで使用するパスフレーズを設定します。
    • DNSリソルバー: Avi ControllerがDNS解決するときに使用するDNSサーバを指定します。複数ある場合はカンマ区切りで指定します。
    • DNS検索ドメイン: DNSルックアップで使用するドメインを指定します。
  • Eメール/SMTPではEメールの送信設定を行います。必要に応じて設定してください。今回は使用しないため、「なし」を選択しています。

  • マルチテナントではマルチテナントを使用しないため、デフォルトのまま進みます。以上すべての設定が終わったら、右下の「保存」をクリックしてください。これにより、NSX ALBにアクセスできるようになります。

  • オプション: NSX ALBの言語設定。右上にあるユーザマークをクリックし、「My account」をクリックしてください。その後、「Display」のLanguageを日本語に設定し、右下の「Save」をクリックしてください。

Default Cloudの設定

NSX ALBとvCenterを連携させるために設定を行います。

  • 上部タブの「インフラストラクチャ」→「クラウド」にある「Default-Cloud」のEditボタン(ペンマーク)をクリックしてください。

  • ここでは以下の項目を設定します。

    • タイプ: 「VMware vCenter/vSphere ESX」を選択してください。※プルダウンメニューの下ボタンをクリックすると出現します。
    • テンプレートサービスエンジングループ: Default-Groupを選択してください。
    • 認証情報の設定: 「vCenter Server/vSphere」の項目に進み、「認証情報の設定」クリックしてください。そこで少情報の入力を求められるのでvCenter Serverに接続するための項目を入力し、「接続」をクリックしてください。 認証情報を入力後、「vCenter/vSphere」項目で入力できる欄が増えます。
    • Data Center: 使用するデータセンタを指定してください。
    • コンテンツライブラリを使用: 今回は使用しないのでチェックを外します。環境に合わせてください ここで再起動要求されるので右下の「保存して再起動」をクリックしてください。※vCenterやESXiが再起動されるわけではありません。
  • 再起動後、続けて設定を行います。以下の項目を設定してください。

    • 管理ネットワーク: 「vCenter Server/vSphere」欄にある管理ネットワークの選択で、マネジメントネットワークを選択してください。
    • 管理ネットワークのIPアドレス管理: DHCPを使用する場合は「DHCPの有効化」のチェックを入れてください。 自身でIPアドレス範囲を指定する場合は「DHCPの有効化」のチェックを外し、静的IPアドレスプールにて払い出されるIPアドレスを指定してください。

一度、ここでDefault-Cloudの設定は終わります。右下の「保存」をクリックしてください。

Service Engine Groupの設定

NSX ALBではService Engineと呼ばれる仮想マシンをデプロイします。デプロイされるマシンの設定を行います。

  • 「インフラストラクチャ」→「クラウドリソース」→「サービスエンジングループ」に進んでください。

  • 「Default-Group」の編集ボタン(ペンマーク)をクリックして下さい。

  • ここで以下の項目を設定します。

    • サービスエンジンごとのvCPU: デプロイされる仮想マシンのCPUです。CPUの性能が低い場合、1から2などに変更してください。
    • 次にあるホスト/クラスタスコープサービスエンジン: 「ホスト/クラスタ」を選択してください。その後、「クラスタ」で「含む」を選択し、自身のクラスタを選択してください。「ホスト」に関しては設定しなくても問題ありませんが、任意のホストにデプロイしたい場合、ホストを指定することができます。 以上でDefault-Groupの設定は終了です。今回の設定はあくまで一例であるため、ご自身の環境に合わせて設定してください。

ネットワークの設定

  • 「インフラストラクチャ」→「クラウドサービス」→「ネットワーク」でKubernetes用ネットワークのEditボタン(ペンマーク)をクリックしてください。

  • サブネットに既存のネットワークアドレスがあるのでそれのeditボタン(ペンマーク)をクリックしてください。

  • 「VIPおよびSEにIPアドレスを使用」にチェックを入れ、Kubernetes用ネットワークで割り当てられる任意の範囲を指定してください。

IPAMプロファイルの設定

NSX ALBはVirtual Serviceと呼ばれる仮想的なサービスを作成し、これにIPアドレスを割り当てます。これをVIPネットワークといいます。今回はKubernetesネットワークを割り当てます。

IPAMプロファイルの作成

  • 「テンプレート」→「IPアドレス管理/DNSプロファイル」に進み「作成」の「IPアドレス管理プロファイル」をクリックしてください。

  • ここで以下の項目を入力してください。

    • 名前: 任意の名前を入力してください。
    • クラウド: 「Default-Cloud」を指定してください。
    • 使用可能なネットワーク: 「追加」ボタンをクリックし、ネットワークにKubernetes用ネットワークを指定してください。 以上で設定は終了です。右下の「保存」ボタンをクリックしてください。

IPAMプロファイルの適用

IPAMプロファイルはDefault-Cloudに適用することで使用できます。

  • 「インフラストラクチャ」→「クラウド」にある「Default-Cloud」のEditボタン(ペンマーク)をクリックしてください。

  • 「IPアドレス管理/DNS」欄にあるIPアドレス管理プロファイルに先ほど作成したIPAMプロファイルを指定してください。その後、「保存」をクリックしてください。

スタティックルートの設定

VIPネットワークのルーティングを設定します。

  • 「インフラストラクチャ」→「クラウドリソース」→「VRFコンテキスト」に進み「global」のEditボタン(ペンマーク)をクリックしてください。

  • 「スタティックルート」欄の「追加」ボタンをクリックし、ゲートウェイサブネットに「0.0.0.0/0」、ネクストホップにKubernetesネットワークのデフォルトゲートウェイ(ルータ等のIP)を指定してください。その後、「保存」をクリックしてください。

ライセンスの変更

今回はEnterpriseライセンスからEssentialsライセンスに変更します。

  • 上部タブの「管理」→「ライセンス」に進み設定ボタン(歯車マーク)をクリックします。

  • Essentials階層をクリックし、右下の「保存」をクリックしてください。これにより、ライセンスを変更することができました。

コントローラ証明書の作成

TKGからNSX ALBにアクセスするために必要なコントローラ証明書を作成します。

  • 上部タブの「テンプレート」→「セキュリティ」→「SSL/TLS証明書」に進んでください。「作成」をクリックし、「コントローラ証明書」をクリックしてください。

  • 以下の項目を設定します。

    • 名前(必須): 任意の名前を入力してください。
    • 共通名(必須): 任意のFQDNを入力してください。
    • サブジェクトの別名(SAN): 共通名に入力したFQDNを再度入力してください。コントローラへIPアドレスを使用してアクセスする場合、ここにIPアドレスを指定してください。
  • 作成した証明書をコントローラに適用するために上部タブの「管理」→「システム設定」→「編集」をクリックします。

  • 「SSL/TLS」欄にある「SSL/TLS証明書」にある2つを削除し、先程作成した証明書に置き換え、右下の「保存」をクリックしてください。

  • ページ更新を行うと、再度プライバシー保護警告が表示されます。「保護されていない通信」→「証明書が無効です」をクリックすると証明書の詳細を見ることができます。

証明書の取得

TKGからNSX ALBにアクセスするために証明書を取得する必要があります。

  • 「テンプレート」→「セキュリティ」→「SSL/TLS証明書」にある作成した証明書の「エクスポート」ボタン(下矢印)をクリックしてください。

  • 「証明書」下の「クリップボードにコピー」をクリックし、どこかにメモをしておいてください。

これにてNSX ALBでの設定は終了です。

次回

次回、NSX ALBを使用したTanzu Kubernetes Gridの構築のための事前準備およびBootStrapマシンの構築になります。

https://www.munenick.me/blog/tkg-nsx-alb-02

参考にさせていただいたサイト