NTNX>日記

個人的な趣味による Nutanix Community Edition 日記。Japanese のみですみません。

Nutanix CE 5.18 で Karbon を有効化してみる。

Nutanix CE 5.18 で Karbon を有効化してみました。Nutanix Karbon は、AHV の Nutanix クラスタに Kubernetes クラスタを作成できるプロダクトです。

今回の環境

Nutanix のソフトウェア

Nutanix CE はインストール&クラスタ作成ずみ、Prism Central デプロイずみです。

  • Nutanix CE 5.18(ce-2020.09.16-stable)※ 1ノードクラスタ
  • Prism Central pc.2020.09.16
  • Karbon 2.0.2(この投稿時点でダウンロード インストールできる最新版。有効化はこれから)

Nutanix CE の物理マシン

Intel NUC(NUC10i5FNH)です。

  • CPU は、Core i5-10210U なので 4コア / 8スレッド
  • メモリは 64GB(これの容量は必須)
  • ディスクは ブート用 → USB メモリ 8 GB、SATA SSD → 250GB + 500GB

Nutanix CE(Prism Element)側での準備

IPAM が有効なネットワークの作成

Karbon で Kubernetes クラスタを作成する際に、AHV の IPAM 有効なネットワークを選択します。そこで、あらかじめ下記のような手順でネットワークを作成しておきます。

Prism Central のリソース調整(この環境固有)

今回は 1ノードに Prism Central と Karbon が自動デプロイする VM が起動されるのですが、物理マシンのメモリ容量が 64GB だと、Karbon で Kubernetes クラスタを作成する際にリソース不足でエラーになってしまいます。

f:id:gowatana:20201204201643p:plain

Prism Central がデフォルトだと メモリ サイズが 26GB でデプロイされますが、CVM の acli コマンドで 20GB 程度に設定変更しておきます。

Karbon の有効化

Karbon は、Prism Cetral から有効化します。Prism Central 左上のメニュー →「サービス」→「Karbon」をひらき、「Karbon を有効にする」をクリックします。

f:id:gowatana:20201204195534p:plain

少し待つと・・・

f:id:gowatana:20201204195815p:plain

Karbon が有効化されました。

f:id:gowatana:20201204195836p:plain

ちなみに、一般的には LCM から Karbon のバージョンアップをするかなと思います。新しいバージョンがなかったので今回は Prism Central デプロイ時点のままの Karbon です。

OS イメージのダウンロード

Kubernetes ノードになる OS イメージをダウンロードしておきます。

「OS Images」を開いき、表示されている OS イメージ(この例では「ntnx-0.5」のみ)の Download リンクをクリックすると、ダウンロードされて自動的に Nutanix のイメージ サービスに登録されます。ちなみにこれは CentOS のディスク イメージです。

f:id:gowatana:20201204200040p:plain

ダウンロードされました。

f:id:gowatana:20201204200359p:plain

Kubernetes クラスタの作成

Karbon の、「Clusters」→「Create Kubernetes Cluster」をクリックします。

f:id:gowatana:20201204201946p:plain

Development Cluster と Production Cluster が選択できます。今回はリソースの都合上、各役割を 1ノードづデプロイする「Development Cluster」を選択して「Next」をクリックします。

f:id:gowatana:20201204202046p:plain

下記のようなパラメータを入力して「Next」をクリックします。

  • Kubernetes Cluster Name: クラスタの名前を入力します。
  • Nutanix Cluster: VM をデプロイする Nutanix クラスタを選択する。
  • Kubernetes Version: デプロイする Kubernetes のバージョンを選択します。
    (この Karbon バージョンでは、1.14.x ~ 1.16.x まで・・・)
  • Host OS: ダウンロードした OS イメージを選択します。

f:id:gowatana:20201204202645p:plain

IPAM が有効な AHV のネットワークと、デプロイする VM (Master / Worker / etcd)の台数とリソースを指定します。Production Cluster の場合は、Master VM と etcd VM の台数も変更できます。

f:id:gowatana:20201204202930p:plain

リソース割り当ては、下記でひとまずクラスタ作成できましたが、一部の管理 Pod が起動できなかったりしました。

f:id:gowatana:20201204203523p:plain

そのため最低でも下記のリソースは割り当てておくとよさそうです。

  • Worker → 4 vCPU / 8GB メモリ
  • Master → 2 vCPU / 4GB メモリ
  • etcd → 4 vCPU / 8GB メモリ

f:id:gowatana:20201204203811p:plain

Network Provider は、このバージョンだと Flannel で固定です。(商用版の新しいものでは Calico も選択できようになるはず・・・)

Service CIDR Range と、Pod CIDR Range のネットワークを入力しておきます。これは既存のネットワークとは重複しないようにしておきます。

f:id:gowatana:20201204204011p:plain

Kubernetes のストレージ(PV: Persistemt Volume)のための、Storage Class の設定です。今回は 下記を指定しています。(他はデフォルトのまま)

  • Nutanix Cluster: Nutanix CE のクラスタ名を選択。
  • Cluster Username: Prism Element へのログイン ユーザ。
  • Cluster Password: Prism Element へのログイン ユーザ。
  • Storage Container Name: PV の実体となる Nutanix Volumes を格納する、Nutanix の「ストレージ コンテナ」を選択。(これは Kubernetes 関連の「コンテナ」ではない)

パラメータを入力したら、「Create」をクリックします。

f:id:gowatana:20201204204521p:plain

少し待ちます。

f:id:gowatana:20201204205016p:plain

Karbon による Kubernetes クラスタができました。

f:id:gowatana:20201204205105p:plain

Kubernetes に接続するための、kubeconfig ファイル、もしくは SSH のコマンドラインは、クラスタを選択して「Actions」から 入手できます。

f:id:gowatana:20201204205443p:plain

続くかもしれない。

©2021 gowatana
クリエイティブ・コモンズ・ライセンスこの 作品 は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。