NKP の Kubernetes クラスタに、Nutanix Enterprise AI(NAI)2.6 を展開してみます。今回は、作業用の Linux マシンを準備します。nkp CLI による NKP 管理クラスタの作成や OS イメージのビルドでは、コンテナ ホストが必要になります。そこで、このマシンには Docker もインストールします。
前回はこちら。
今回の内容です。
1. 作業用マシンの用意
今回は、Ubuntu 24.04 を利用します。
1-1. Linux マシンの用意
Ubuntu 24.04 をインストールして、作業用ユーザー(今回は gowatana)を作成してあります。
gowatana@nkp-work-02:~$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=24.04 DISTRIB_CODENAME=noble DISTRIB_DESCRIPTION="Ubuntu 24.04.4 LTS"
1-2. SSH キー ペアの作成
SSH ログインで使用するキー ペアを作成しておきます。これは、後続の NKP クラスタを作成する際に、Kubernetes のノードに渡すことになります。
gowatana@nkp-work-02:~$ ssh-keygen -t rsa -f $HOME/.ssh/id_rsa -P '' Generating public/private rsa key pair. Your identification has been saved in /home/gowatana/.ssh/id_rsa Your public key has been saved in /home/gowatana/.ssh/id_rsa.pub The key fingerprint is: SHA256:ShhDVmlVF3nO/lrbnG6g7jHrVxLCbEWLEkmoLn1vT8E gowatana@nkp-work-02 The key's randomart image is: +---[RSA 3072]----+ | o..o++o ++ | | o o. ...o.o | | o.. .o..= | | = o= .o | | + . S .E... | | . + o .o.. | | . o . +. +..| | o..+. +=| | . =*. +=o| +----[SHA256]-----+
1-3. コマンド格納ディレクトリの用意
作業ユーザーのホーム ディレクトリに、各種 CLI を格納する bin ディレクトリを作成しておきます。
gowatana@nkp-work-02:~$ mkdir $HOME/bin
ここで、作業ユーザーで再ログインして、作成した bin ディレクトリが PATH 環境変数に追加されることを確認しておきます。
なお、このマシンを他の用途で利用する想定がない場合は、CLI を /usr/local/bin ディレクトリにインストールしても問題ありません。
2. Docker のインストール
nkp コマンドでは、内部的に kind(Kubernetes in Docker)を使用して、管理クラスタ(最初の Kubernetes クラスタ)を作成します。そこで、作業用マシンには Docker または Podman をインストールしておきます。
今回は、Ubuntu を利用しているので、 Docker をインストールします。RHEL や Rocky Linux などを利用する場合は、下記のように Podman をインストールしておきます。
2-1. docker.io パッケージのインストール
Docker Engine については、Ubuntu の apt リポジトリにある docker.io パッケージをインストールします。サービスは、自動起動されるはずです。
$ sudo apt install docker.io -y
2-2. 実行ユーザーへの docker グループ追加
一般ユーザーで docker コマンドを実行するため、対象のユーザー(例では gowatana)のセカンダリ グループとして、docker グループを追加しておきます。
下記のように、セカンダリ グループが追加されたことを確認しておきます。
gowatana@nkp-work-02:~$ id gowatana uid=1000(gowatana) gid=1000(gowatana) groups=1000(gowatana),112(docker)
ここで、グループ構成を反映させるため、Ubuntu にログインしなおしておきます。
再ログイン後、docker コマンドを実行して、エラーが発生しないことを確認しておきます。
gowatana@nkp-work-02:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3. 各種 CLI のインストール
Kubernetes の操作で利用する、各種 CLI をインストールしておきます。
3-1. kubectl のインストール
kubectl をダウンロードします。今回は、NKP v2.17.1 の Kubernetes バージョンである v1.34.3 と揃えています。
gowatana@nkp-work-02:~$ curl -sLO https://dl.k8s.io/release/v1.34.3/bin/linux/amd64/kubectl
PATH 環境変数に含まれるディレクトリにインストールします。
gowatana@nkp-work-02:~$ install kubectl $HOME/bin/
kubectl が実行できるようになったことを確認しておきます。
gowatana@nkp-work-02:~$ kubectl version --client Client Version: v1.34.3 Kustomize Version: v5.7.1
3-2. Helm のインストール
NAI や、その前提ソフトウェアのインストールで Helm を利用するので、ここでインストールしておきます。
Helm の tar.gz ファイルをダウンロードします。
gowatana@nkp-work-02:~$ curl -sLO https://get.helm.sh/helm-v4.1.3-linux-amd64.tar.gz
ダウンロードした tar.gz ファイルを展開します。
gowatana@nkp-work-02:~$ tar zxvf helm-v4.1.3-linux-amd64.tar.gz linux-amd64/ linux-amd64/README.md linux-amd64/LICENSE linux-amd64/helm
バイナリ ファイル(helm)を、PATH 環境変数に含まれるディレクトリにインストールします。
gowatana@nkp-work-02:~$ install linux-amd64/helm $HOME/bin/
helm コマンドが実行できるようになったことを確認します。
gowatana@nkp-work-02:~$ helm version
version.BuildInfo{Version:"v4.1.3", GitCommit:"c94d381b03be117e7e57908edbf642104e00eb8f", GitTreeState:"clean", GoVersion:"go1.25.8", KubeClientVersion:"v1.35"}
3-3. jq のインストール
後続の作業で JSON データを整形・部分抽出するので、jq コマンドがインストールされていることを確認しておきます。
gowatana@nkp-work-02:~$ which jq /usr/bin/jq
インストールされている jq のバージョンです。
gowatana@nkp-work-02:~$ jq --version jq-1.7
まだインストールされていない場合は、apt install でコマンドで jq パッケージをインストールしておきます。
gowatana@nkp-work-02:~$ sudo apt install jq -y
4. NKP CLI のインストール
Nutanix Support & Insight Portal から、下記のファイルをダウンロードして、Linux マシンに配置しておきます。
- nkp_v2.17.1_linux_amd64.tar.gz
tar.gz ファイルから nkp ファイルを展開して、$HOME/bin 配下に保存します。
gowatana@nkp-work-02:~$ tar zxvf nkp_v2.17.1_linux_amd64.tar.gz -C $HOME/bin nkp nkp
$HOME/bin ディレクトリが PATH 環境変数に含まれているので、nkp コマンドが実行できるはずです。
gowatana@nkp-work-02:~$ nkp version catalog: v0.8.1 diagnose: v0.12.0 imagebuilder: v2.17.1 kommander: v2.17.1 konvoy: v2.17.1 konvoybundlepusher: v2.17.1 mindthegap: v1.24.0 nkp: v2.17.1
つづく。
