13.2. API を使用した Nutanix へのホストの追加
API を使用して Nutanix にホストを追加するには、Assisted Installer から検出イメージ ISO を生成します。最小限の検出イメージ ISO を使用します。これはデフォルト設定です。このイメージには、ネットワークを使用してホストを起動するために必要なものだけが含まれています。コンテンツの大部分は、起動時にダウンロードされます。ISO イメージのサイズは約 100MB です。
これが完了したら、Nutanix プラットフォームのイメージを作成し、Nutanix 仮想マシンを作成する必要があります。
前提条件
- Assisted Installer API の認証を設定している。
- Assisted Installer のクラスタープロファイルを作成している。
- Assisted Installer のインフラストラクチャー環境を作成している。
-
インフラストラクチャー環境 ID がシェルに
$INFRA_ENV_IDとしてエクスポートされている。 - Assisted Installer のクラスター設定を完了している。
- Nutanix クラスター環境をセットアップし、クラスター名とサブネット名を書き留めた。
手順
- Ignition ファイルを使用して起動する場合は、検出イメージを設定します。
環境変数を保持する Nutanix クラスター設定ファイルを作成します。
touch ~/nutanix-cluster-env.sh
$ touch ~/nutanix-cluster-env.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow chmod +x ~/nutanix-cluster-env.sh
$ chmod +x ~/nutanix-cluster-env.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいターミナルセッションを開始する必要がある場合は、環境変数を簡単に再読み込みできます。以下に例を示します。
source ~/nutanix-cluster-env.sh
$ source ~/nutanix-cluster-env.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow Nutanix クラスターの名前を設定ファイルの
NTX_CLUSTER_NAME環境変数に割り当てます。cat << EOF >> ~/nutanix-cluster-env.sh export NTX_CLUSTER_NAME=<cluster_name> EOF
$ cat << EOF >> ~/nutanix-cluster-env.sh export NTX_CLUSTER_NAME=<cluster_name> EOFCopy to Clipboard Copied! Toggle word wrap Toggle overflow <cluster_name>を Nutanix クラスターの名前に置き換えます。Nutanix クラスターのサブネット名を設定ファイルの
NTX_SUBNET_NAME環境変数に割り当てます。cat << EOF >> ~/nutanix-cluster-env.sh export NTX_SUBNET_NAME=<subnet_name> EOF
$ cat << EOF >> ~/nutanix-cluster-env.sh export NTX_SUBNET_NAME=<subnet_name> EOFCopy to Clipboard Copied! Toggle word wrap Toggle overflow <subnet_name>を Nutanix クラスターのサブネットの名前に置き換えます。API トークンを更新します。
source refresh-token
$ source refresh-tokenCopy to Clipboard Copied! Toggle word wrap Toggle overflow ダウンロード URL を取得します。
curl -H "Authorization: Bearer ${API_TOKEN}" \ https://api.openshift.com/api/assisted-install/v2/infra-envs/${INFRA_ENV_ID}/downloads/image-url$ curl -H "Authorization: Bearer ${API_TOKEN}" \ https://api.openshift.com/api/assisted-install/v2/infra-envs/${INFRA_ENV_ID}/downloads/image-urlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Nutanix イメージ設定ファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <image_url>を、前の手順でダウンロードしたイメージの URL に置き換えます。Nutanix イメージを作成します。
curl -k -u <user>:'<password>' -X 'POST' \ 'https://<domain-or-ip>:<port>/api/nutanix/v3/images \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d @./create-image.json | jq '.metadata.uuid'
$ curl -k -u <user>:'<password>' -X 'POST' \ 'https://<domain-or-ip>:<port>/api/nutanix/v3/images \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d @./create-image.json | jq '.metadata.uuid'Copy to Clipboard Copied! Toggle word wrap Toggle overflow <user>を Nutanix ユーザー名に置き換えます。'<password>'を Nutanix パスワードに置き換えます。<domain-or-ip>を Nutanix プラットフォームのドメイン名または IP アドレスに置き換えます。<port>を Nutanix サーバーのポートに置き換えます。ポートのデフォルトは9440です。返された UUID を設定ファイルの
NTX_IMAGE_UUID環境変数に割り当てます。cat << EOF >> ~/nutanix-cluster-env.sh export NTX_IMAGE_UUID=<uuid> EOF
$ cat << EOF >> ~/nutanix-cluster-env.sh export NTX_IMAGE_UUID=<uuid> EOFCopy to Clipboard Copied! Toggle word wrap Toggle overflow Nutanix クラスターの UUID を取得します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <user>を Nutanix ユーザー名に置き換えます。'<password>'を Nutanix パスワードに置き換えます。<domain-or-ip>を Nutanix プラットフォームのドメイン名または IP アドレスに置き換えます。<port>を Nutanix サーバーのポートに置き換えます。ポートのデフォルトは9440です。<nutanix_cluster_name>を Nutanix クラスターの名前に置き換えます。返された Nutanix クラスター UUID を設定ファイルの
NTX_CLUSTER_UUID環境変数に割り当てます。cat << EOF >> ~/nutanix-cluster-env.sh export NTX_CLUSTER_UUID=<uuid> EOF
$ cat << EOF >> ~/nutanix-cluster-env.sh export NTX_CLUSTER_UUID=<uuid> EOFCopy to Clipboard Copied! Toggle word wrap Toggle overflow <uuid>を Nutanix クラスターの返された UUID に置き換えます。Nutanix クラスターのサブネット UUID を取得します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <user>を Nutanix ユーザー名に置き換えます。'<password>'を Nutanix パスワードに置き換えます。<domain-or-ip>を Nutanix プラットフォームのドメイン名または IP アドレスに置き換えます。<port>を Nutanix サーバーのポートに置き換えます。ポートのデフォルトは9440です。<subnet_name>をクラスターのサブネットの名前に置き換えます。返された Nutanix サブネット UUID を設定ファイルの
NTX_CLUSTER_UUID環境変数に割り当てます。cat << EOF >> ~/nutanix-cluster-env.sh export NTX_SUBNET_UUID=<uuid> EOF
$ cat << EOF >> ~/nutanix-cluster-env.sh export NTX_SUBNET_UUID=<uuid> EOFCopy to Clipboard Copied! Toggle word wrap Toggle overflow <uuid>をクラスターサブネットの返された UUID に置き換えます。Nutanix 環境変数が設定されていることを確認します。
source ~/nutanix-cluster-env.sh
$ source ~/nutanix-cluster-env.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow Nutanix ホストごとに仮想マシン設定ファイルを作成します。3 つのコントロールプレーン (マスター) 仮想マシンと少なくとも 2 つのワーカー仮想マシンを作成します。以下に例を示します。
touch create-master-0.json
$ touch create-master-0.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow <host_name>をホストの名前に置き換えます。各 Nutanix 仮想マシンを起動します。
curl -k -u <user>:'<password>' -X 'POST' \ 'https://<domain-or-ip>:<port>/api/nutanix/v3/vms' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d @./<vm_config_file_name> | jq '.metadata.uuid'
$ curl -k -u <user>:'<password>' -X 'POST' \ 'https://<domain-or-ip>:<port>/api/nutanix/v3/vms' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d @./<vm_config_file_name> | jq '.metadata.uuid'Copy to Clipboard Copied! Toggle word wrap Toggle overflow <user>を Nutanix ユーザー名に置き換えます。'<password>'を Nutanix パスワードに置き換えます。<domain-or-ip>を Nutanix プラットフォームのドメイン名または IP アドレスに置き換えます。<port>を Nutanix サーバーのポートに置き換えます。ポートのデフォルトは9440です。<vm_config_file_name>を仮想マシン設定ファイルの名前に置き換えます。返された仮想マシン UUID を設定ファイル内の一意の環境変数に割り当てます。
cat << EOF >> ~/nutanix-cluster-env.sh export NTX_MASTER_0_UUID=<uuid> EOF
$ cat << EOF >> ~/nutanix-cluster-env.sh export NTX_MASTER_0_UUID=<uuid> EOFCopy to Clipboard Copied! Toggle word wrap Toggle overflow <uuid>を仮想マシンの返された UUID に置き換えます。注記環境変数には、仮想マシンごとの一意の名前が必要です。
Assisted Installer が各仮想マシンを検出し、検証にパスするまで待ちます。
curl -s -X GET "https://api.openshift.com/api/assisted-install/v2/clusters/$CLUSTER_ID"
$ curl -s -X GET "https://api.openshift.com/api/assisted-install/v2/clusters/$CLUSTER_ID" --header "Content-Type: application/json" -H "Authorization: Bearer $API_TOKEN" | jq '.enabled_host_count'Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスター定義を変更して、Nutanix との統合を有効にします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - インストール手順を続行します。