3.8. Nutanix の IAM の設定


クラスターをインストールするには、Cloud Credential Operator (CCO) が手動モードで動作する必要があります。インストールプログラムが手動モード用に CCO を設定する間、ID およびアクセス管理シークレットを指定する必要があります。

前提条件

  • ccoctl バイナリーを設定している。
  • install-config.yaml ファイルがある。

手順

  1. 認証情報データを含む YAML ファイルを次の形式で作成します。

    認証情報データの形式

    credentials:
    - type: basic_auth 1
      data:
        prismCentral: 2
          username: <username_for_prism_central>
          password: <password_for_prism_central>
        prismElements: 3
        - name: <name_of_prism_element>
          username: <username_for_prism_element>
          password: <password_for_prism_element>

    1
    認証タイプを指定します。Basic 認証のみがサポートされています。
    2
    Prism Central の認証情報を指定します。
    3
    オプション: Prism Element 認証情報を指定します。
  2. 次のコマンドを実行して、インストールファイルのリリースイメージを $RELEASE_IMAGE 変数に設定します。

    $ RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $3}')
  3. 以下のコマンドを実行して、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 1
    1
    コンポーネント CredentialsRequests オブジェクトのファイルを含むディレクトリーへのパスを指定します。指定したディレクトリーが存在しない場合は、このコマンドによって作成されます。

    サンプル CredentialsRequest オブジェクト

      apiVersion: cloudcredential.openshift.io/v1
      kind: CredentialsRequest
      metadata:
        annotations:
          include.release.openshift.io/self-managed-high-availability: "true"
        labels:
          controller-tools.k8s.io: "1.0"
        name: openshift-machine-api-nutanix
        namespace: openshift-cloud-credential-operator
      spec:
        providerSpec:
          apiVersion: cloudcredential.openshift.io/v1
          kind: NutanixProviderSpec
        secretRef:
          name: nutanix-credentials
          namespace: openshift-machine-api

  4. クラスターでクラスター機能を使用して 1 つ以上のオプションコンポーネントを無効にする場合は、無効なコンポーネントの CredentialsRequest カスタムリソースを削除します。

    Nutanix 上の OpenShift Container Platform 4.12 の credrequests ディレクトリーの内容の例

    0000_26_cloud-controller-manager-operator_18_credentialsrequest-nutanix.yaml 1
    0000_30_machine-api-operator_00_credentials-request.yaml 2

    1
    Cloud Controller Manager Operator CR が必要です。
    2
    Machine API Operator CR が必要です。
  5. 次のコマンドを実行し、ccoctl ツールを使用して credrequests ディレクトリー内のすべての CredentialsRequest オブジェクトを処理します。

    $ 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
    1
    コンポーネント CredentialsRequests オブジェクトのファイルを含むディレクトリーへのパスを指定します。
    2
    manifests ディレクトリーの下に、コンポーネント認証情報シークレットのファイルを含むディレクトリーを指定します。デフォルトでは、ccoctl ツールは、コマンドが実行されるディレクトリーにオブジェクトを作成します。オブジェクトを別のディレクトリーに作成するには、--output-dir フラグを使用します。
    3
    オプション: 認証情報データ YAML ファイルを含むディレクトリーを指定します。デフォルトでは、ccoctl はこのファイルが <home_directory>/.nutanix/credentials にあると想定します。別のディレクトリーを指定するには、--credentials-source-filepath フラグを使用します。
  6. credentialsMode パラメーターが Manual に設定されるように、install-config.yaml 設定ファイルを編集します。

    サンプル install-config.yaml 設定ファイル

    apiVersion: v1
    baseDomain: cluster1.example.com
    credentialsMode: Manual 1
    ...

    1
    この行を追加して、credentialsMode パラメーターを Manual に設定します。
  7. 次のコマンドを実行して、インストールマニフェストを作成します。

    $ openshift-install create manifests --dir <installation_directory> 1
    1
    クラスターの install-config.yaml ファイルを含むディレクトリーへのパスを指定します。
  8. 次のコマンドを実行して、生成された認証情報ファイルをターゲットマニフェストディレクトリーにコピーします。

    $ cp <ccoctl_output_dir>/manifests/*credentials.yaml ./<installation_directory>/manifests

検証

  • manifests ディレクトリーに適切なシークレットが存在することを確認します。

    $ ls ./<installation_directory>/manifests

    出力例

    cluster-config.yaml
    cluster-dns-02-config.yml
    cluster-infrastructure-02-config.yml
    cluster-ingress-02-config.yml
    cluster-network-01-crd.yml
    cluster-network-02-config.yml
    cluster-proxy-01-config.yaml
    cluster-scheduler-02-config.yml
    cvo-overrides.yaml
    kube-cloud-config.yaml
    kube-system-configmap-root-ca.yaml
    machine-config-server-tls-secret.yaml
    openshift-config-secret-pull-secret.yaml
    openshift-cloud-controller-manager-nutanix-credentials-credentials.yaml
    openshift-machine-api-nutanix-credentials-credentials.yaml

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.