3.8. Nutanix の IAM の設定
クラスターをインストールするには、Cloud Credential Operator (CCO) が手動モードで動作する必要があります。インストールプログラムが手動モード用に CCO を設定する間、ID およびアクセス管理シークレットを指定する必要があります。
前提条件
-
ccoctlバイナリーを設定している。 -
install-config.yamlファイルがある。
手順
認証情報データを含む YAML ファイルを次の形式で作成します。
認証情報データの形式
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、インストールファイルのリリースイメージを
$RELEASE_IMAGE変数に設定します。RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $3}')$ RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $3}')Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、OpenShift Container Platform リリースイメージから
CredentialsRequestカスタムリソース (CR) のリストを抽出します。oc adm release extract \ --from=$RELEASE_IMAGE \ --credentials-requests \ --cloud=nutanix \ --to=<path_to_directory_with_list_of_credentials_requests>/credrequests
$ oc adm release extract \ --from=$RELEASE_IMAGE \ --credentials-requests \ --cloud=nutanix \ --to=<path_to_directory_with_list_of_credentials_requests>/credrequests1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- コンポーネント
CredentialsRequestsオブジェクトのファイルを含むディレクトリーへのパスを指定します。指定したディレクトリーが存在しない場合は、このコマンドによって作成されます。
サンプル
CredentialsRequestオブジェクトCopy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターでクラスター機能を使用して 1 つ以上のオプションコンポーネントを無効にする場合は、無効なコンポーネントの
CredentialsRequestカスタムリソースを削除します。Nutanix 上の OpenShift Container Platform 4.12 の
credrequestsディレクトリーの内容の例0000_26_cloud-controller-manager-operator_18_credentialsrequest-nutanix.yaml 0000_30_machine-api-operator_00_credentials-request.yaml
0000_26_cloud-controller-manager-operator_18_credentialsrequest-nutanix.yaml1 0000_30_machine-api-operator_00_credentials-request.yaml2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行し、
ccoctlツールを使用してcredrequestsディレクトリー内のすべてのCredentialsRequestオブジェクトを処理します。ccoctl nutanix create-shared-secrets \ --credentials-requests-dir=<path_to_directory_with_list_of_credentials_requests>/credrequests \ --output-dir=<ccoctl_output_dir> \ --credentials-source-filepath=<path_to_credentials_file>
$ ccoctl nutanix create-shared-secrets \ --credentials-requests-dir=<path_to_directory_with_list_of_credentials_requests>/credrequests \1 --output-dir=<ccoctl_output_dir> \2 --credentials-source-filepath=<path_to_credentials_file>3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- コンポーネント
CredentialsRequestsオブジェクトのファイルを含むディレクトリーへのパスを指定します。 - 2
manifestsディレクトリーの下に、コンポーネント認証情報シークレットのファイルを含むディレクトリーを指定します。デフォルトでは、ccoctlツールは、コマンドが実行されるディレクトリーにオブジェクトを作成します。オブジェクトを別のディレクトリーに作成するには、--output-dirフラグを使用します。- 3
- オプション: 認証情報データ YAML ファイルを含むディレクトリーを指定します。デフォルトでは、
ccoctlはこのファイルが<home_directory>/.nutanix/credentialsにあると想定します。別のディレクトリーを指定するには、--credentials-source-filepathフラグを使用します。
credentialsModeパラメーターがManualに設定されるように、install-config.yaml設定ファイルを編集します。サンプル
install-config.yaml設定ファイルapiVersion: v1 baseDomain: cluster1.example.com credentialsMode: Manual ...
apiVersion: v1 baseDomain: cluster1.example.com credentialsMode: Manual1 ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- この行を追加して、
credentialsModeパラメーターをManualに設定します。
次のコマンドを実行して、インストールマニフェストを作成します。
openshift-install create manifests --dir <installation_directory>
$ openshift-install create manifests --dir <installation_directory>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- クラスターの
install-config.yamlファイルを含むディレクトリーへのパスを指定します。
次のコマンドを実行して、生成された認証情報ファイルをターゲットマニフェストディレクトリーにコピーします。
cp <ccoctl_output_dir>/manifests/*credentials.yaml ./<installation_directory>/manifests
$ cp <ccoctl_output_dir>/manifests/*credentials.yaml ./<installation_directory>/manifestsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
manifestsディレクトリーに適切なシークレットが存在することを確認します。ls ./<installation_directory>/manifests
$ ls ./<installation_directory>/manifestsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow