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 クラスタを作成する際にリソース不足でエラーになってしまいます。
Prism Central がデフォルトだと メモリ サイズが 26GB でデプロイされますが、CVM の acli コマンドで 20GB 程度に設定変更しておきます。
Karbon の有効化
Karbon は、Prism Cetral から有効化します。Prism Central 左上のメニュー →「サービス」→「Karbon」をひらき、「Karbon を有効にする」をクリックします。
少し待つと・・・
Karbon が有効化されました。
ちなみに、一般的には LCM から Karbon のバージョンアップをするかなと思います。新しいバージョンがなかったので今回は Prism Central デプロイ時点のままの Karbon です。
OS イメージのダウンロード
Kubernetes ノードになる OS イメージをダウンロードしておきます。
「OS Images」を開いき、表示されている OS イメージ(この例では「ntnx-0.5」のみ)の Download リンクをクリックすると、ダウンロードされて自動的に Nutanix のイメージ サービスに登録されます。ちなみにこれは CentOS のディスク イメージです。
ダウンロードされました。
Kubernetes クラスタの作成
Karbon の、「Clusters」→「Create Kubernetes Cluster」をクリックします。
Development Cluster と Production Cluster が選択できます。今回はリソースの都合上、各役割を 1ノードづデプロイする「Development Cluster」を選択して「Next」をクリックします。
下記のようなパラメータを入力して「Next」をクリックします。
- Kubernetes Cluster Name: クラスタの名前を入力します。
- Nutanix Cluster: VM をデプロイする Nutanix クラスタを選択する。
- Kubernetes Version: デプロイする Kubernetes のバージョンを選択します。
(この Karbon バージョンでは、1.14.x ~ 1.16.x まで・・・) - Host OS: ダウンロードした OS イメージを選択します。
IPAM が有効な AHV のネットワークと、デプロイする VM (Master / Worker / etcd)の台数とリソースを指定します。Production Cluster の場合は、Master VM と etcd VM の台数も変更できます。
リソース割り当ては、下記でひとまずクラスタ作成できましたが、一部の管理 Pod が起動できなかったりしました。
そのため最低でも下記のリソースは割り当てておくとよさそうです。
- Worker → 4 vCPU / 8GB メモリ
- Master → 2 vCPU / 4GB メモリ
- etcd → 4 vCPU / 8GB メモリ
Network Provider は、このバージョンだと Flannel で固定です。(商用版の新しいものでは Calico も選択できようになるはず・・・)
Service CIDR Range と、Pod CIDR Range のネットワークを入力しておきます。これは既存のネットワークとは重複しないようにしておきます。
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」をクリックします。
少し待ちます。
Karbon による Kubernetes クラスタができました。
Kubernetes に接続するための、kubeconfig ファイル、もしくは SSH のコマンドラインは、クラスタを選択して「Actions」から 入手できます。
続くかもしれない。