第9章 Nutanix へのインストール
9.1. Nutanix へのインストールの準備
OpenShift Container Platform クラスターをインストールする前に、Nutanix 環境が以下の要件を満たしていることを確認してください。
9.1.1. Nutanix バージョン要件
以下の要件を満たす Nutanix 環境に OpenShift Container Platform クラスターをインストールする必要があります。
コンポーネント | 必須バージョン |
---|---|
Nutanix AOS | 6.5.2.7 以降 |
Prism Central | pc.2022.6 以降 |
9.1.2. 環境要件
OpenShift Container Platform クラスターをインストールする前に、以下の Nutanix AOS 環境要件を確認してください。
9.1.2.1. 必要なアカウント特権
インストールプログラムには、クラスターをデプロイし、その日次の操作を維持するために必要な権限のある Nutanix アカウントへのアクセスが必要です。以下のオプションを使用できます。
- 管理者権限を持つローカル Prism Central ユーザーアカウントを使用できます。ローカルアカウントを使用することは、必要な権限を持つアカウントへのアクセスを許可する最も簡単な方法です。
- 組織のセキュリティーポリシーにより、より制限の厳しい権限セットを使用する必要がある場合は、次の表にリストされている権限を使用して、Prism Central でカスタムの Cloud Native ロールを作成します。その後、Prism Central 認証ディレクトリーのメンバーであるユーザーアカウントにロールを割り当てることができます。
このユーザーアカウントを管理するときは、次の点を考慮してください。
- エンティティーをロールに割り当てるときは、ユーザーが仮想マシンのデプロイに必要な Prism Element とサブネットのみにアクセスできるようにしてください。
- ユーザーが、仮想マシンを割り当てる必要があるプロジェクトのメンバーであることを確認してください。
詳細は、Custom Cloud Native ロール の作成、ロールの割り当て、プロジェクトへのユーザーの追加に関する Nutanix ドキュメントを参照してください。
例9.1 Custom Cloud Native ロールの作成に必要な権限
Nutanix オブジェクト | 必要になる場合 | Nutanix API で必要な権限 | 説明 |
---|---|---|---|
Categories | Always |
| OpenShift Container Platform マシンに割り当てられたカテゴリーを作成、読み取り、削除します。 |
Images | Always |
| OpenShift Container Platform マシンに使用されるオペレーティングシステムイメージを作成、読み取り、削除します。 |
仮想マシン | Always |
| OpenShift Container Platform マシンを作成、読み取り、削除します。 |
クラスター | Always |
| OpenShift Container Platform マシンをホストする Prism Element クラスターを表示します。 |
サブネット | Always |
| OpenShift Container Platform マシンをホストするサブネットを表示します。 |
プロジェクト | プロジェクトをコンピューティングマシン、コントロールプレーンマシン、またはすべてのマシンに関連付ける場合。 |
| Prism Central で定義されたプロジェクトを表示し、プロジェクトを OpenShift Container Platform マシンに割り当てることができるようにします。 |
9.1.2.2. クラスターの制限
利用可能なリソースはクラスターによって異なります。Nutanix 環境内で可能なクラスターの数は、主に、使用可能なストレージスペースと、クラスターが作成するリソースに関連する制限、および IP アドレスやネットワークなど、クラスターをデプロイするために必要なリソースによって制限されます。
9.1.2.3. クラスターリソース
標準クラスターを使用するには、最低 800 GB のストレージが必要です。
installer-provisioned infrastructure を使用する OpenShift Container Platform クラスターをデプロイする場合、インストールプログラムは Nutanix インスタンスに複数のリソースを作成できる必要があります。これらのリソースは 856 GB のストレージを使用しますが、ブートストラップノードはインストールプロセスの一部として破棄されます。
標準的な OpenShift Container Platform インストールでは、以下のリソースを作成します。
- 1 ラベル
仮想マシン:
- 1 ディスクイメージ
- 1 一時的ブートストラップノード
- 3 コントロールプレーンノード
- 3 コンピュートマシン
9.1.2.4. ネットワーク要件
ネットワークには AHV IP アドレス管理 (IPAM) または動的ホスト設定プロトコル (DHCP) のいずれかを使用し、クラスターマシンに永続的な IP アドレスを提供するように設定されていることを確認する必要があります。さらに、OpenShift Container Platform クラスターをインストールする前に以下のネットワークリソースを作します。
- IP アドレス
- DNS レコード
クラスターの各 OpenShift Container Platform ノードは、DHCP を使用して検出可能な Network Time Protocol (NTP) サーバーにアクセスできることが推奨されます。NTP サーバーなしでインストールが可能です。ただし、NTP サーバーは、非同期サーバークロックに通常関連するエラーを防ぎます。
9.1.2.4.1. 必要な IP アドレス
installer-provisioned installation には、2 つの静的仮想 IP (VIP) アドレスが必要です。
- API の VIP アドレスが必要です。このアドレスは、クラスター API にアクセスするために使用されます。
- Ingress 用の VIP アドレスが必要です。このアドレスは、クラスターの Ingress トラフィックに使用されます。
これらの IP アドレスは、OpenShift Container Platform クラスターをインストールするときに指定します。
9.1.2.4.2. DNS レコード
OpenShift Container Platform クラスターをホストする Nutanix インスタンスについて 2 つの静的 IP アドレスの DNS レコードを適切な DNS サーバーに作成する必要があります。各レコードで、<cluster_name>
はクラスター名で、<base_domain>
は、クラスターのインストール時に指定するクラスターのベースドメインです。
独自の DNS または DHCP サーバーを使用する場合は、ブートストラップ、コントロールプレーン、コンピュートノードなどの各ノードのレコードも作成する必要があります。
完全な DNS レコードは <component>.<cluster_name>.<base_domain>.
の形式を取ります。
コンポーネント | レコード | 説明 |
---|---|---|
API VIP |
| この DNS A/AAAA または CNAME レコードは、コントロールプレーンマシンのロードバランサーを参照する必要があります。このレコードは、クラスター外のクライアントおよびクラスター内のすべてのノードで解決できる必要があります。 |
Ingress VIP |
| Ingress ルーター Pod を実行するマシンをターゲットにするロードバランサーを参照するワイルドカード DNS A/AAAA または CNAME レコードです。このレコードは、クラスター外のクライアントおよびクラスター内のすべてのノードで解決できる必要があります。 |
9.1.3. Cloud Credential Operator ユーティリティーの設定
Cloud Credential Operator (CCO) は、クラウドプロバイダーの認証情報を Kubernetes カスタムリソース定義 (CRD) として管理します。Nutanix にクラスターをインストールするには、インストールプロセスの一部として CCO を manual
モードに設定する必要があります。
Cloud Credential Operator (CCO) が手動モードで動作しているときにクラスターの外部からクラウドクレデンシャルを作成および管理するには、CCO ユーティリティー (ccoctl
) バイナリーを抽出して準備します。
ccoctl
ユーティリティーは、Linux 環境で実行する必要がある Linux バイナリーです。
前提条件
- クラスター管理者のアクセスを持つ OpenShift Container Platform アカウントを使用できる。
-
OpenShift CLI (
oc
) がインストールされている。
手順
次のコマンドを実行して、OpenShift Container Platform リリースイメージの変数を設定します。
$ RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $3}')
以下のコマンドを実行して、OpenShift Container Platform リリースイメージから CCO コンテナーイメージを取得します。
$ CCO_IMAGE=$(oc adm release info --image-for='cloud-credential-operator' $RELEASE_IMAGE -a ~/.pull-secret)
注記$RELEASE_IMAGE
のアーキテクチャーが、ccoctl
ツールを使用する環境のアーキテクチャーと一致していることを確認してください。以下のコマンドを実行して、OpenShift Container Platform リリースイメージ内の CCO コンテナーイメージから
ccoctl
バイナリーを抽出します。$ oc image extract $CCO_IMAGE \ --file="/usr/bin/ccoctl.<rhel_version>" \1 -a ~/.pull-secret
- 1
<rhel_version>
には、ホストが使用する Red Hat Enterprise Linux (RHEL) のバージョンに対応する値を指定します。値が指定されていない場合は、デフォルトでccoctl.rhel8
が使用されます。次の値が有効です。-
rhel8
: RHEL 8 を使用するホストの場合はこの値を指定します。 -
rhel9
: RHEL 9 を使用するホストの場合はこの値を指定します。
-
次のコマンドを実行して、権限を変更して
ccoctl
を実行可能にします。$ chmod 775 ccoctl.<rhel_version>
検証
ccoctl
が使用できることを確認するには、help ファイルを表示します。コマンドを実行するときは、相対ファイル名を使用します。以下に例を示します。$ ./ccoctl.rhel9
出力例
OpenShift credentials provisioning tool Usage: ccoctl [command] Available Commands: aws Manage credentials objects for AWS cloud azure Manage credentials objects for Azure gcp Manage credentials objects for Google cloud help Help about any command ibmcloud Manage credentials objects for IBM Cloud nutanix Manage credentials objects for Nutanix Flags: -h, --help help for ccoctl Use "ccoctl [command] --help" for more information about a command.