第11章 Nutanix へのインストール

11.1. Nutanix へのインストールの準備

OpenShift Container Platform クラスターをインストールする前に、Nutanix 環境が以下の要件を満たしていることを確認してください。

11.1.1. Nutanix バージョン要件

以下の要件を満たす Nutanix 環境に OpenShift Container Platform クラスターをインストールする必要があります。

表11.1 Nutanix 仮想環境のバージョン要件

コンポーネント必須バージョン

Nutanix AOS

5.20.4 以降、または 6.5.1 以降

Prism Central

2022.4+

11.1.2. 環境要件

OpenShift Container Platform クラスターをインストールする前に、以下の Nutanix AOS 環境要件を確認してください。

11.1.2.1. 必要なアカウント特権

インストールプログラムには、クラスターをデプロイし、その日次の操作を維持するために必要な権限のある Nutanix アカウントへのアクセスが必要です。以下のオプションを使用できます。

  • 管理者権限を持つローカル Prism Central ユーザーアカウントを使用できます。ローカルアカウントを使用することは、必要な権限を持つアカウントへのアクセスを許可する最も簡単な方法です。
  • 組織のセキュリティーポリシーにより、より制限の厳しい権限セットを使用する必要がある場合は、次の表にリストされている権限を使用して、Prism Central でカスタムの Cloud Native ロールを作成します。その後、Prism Central 認証ディレクトリーのメンバーであるユーザーアカウントにロールを割り当てることができます。エンティティーをロールに割り当てるときは、ユーザーが仮想マシンのデプロイに必要な Prism Element とサブネットのみにアクセスできるようにしてください。

    詳細は、カスタムクラウドネイティブロール の作成と ロールの割り当て に関する Nutanix ドキュメントを参照してください。

例11.1 Custom Cloud Native ロールの作成に必要な権限

Nutanix オブジェクトNutanix API で必要な権限説明

Categories

Create_Category_Mapping
Create_Or_Update_Name_Category
Create_Or_Update_Value_Category
Delete_Category_Mapping
Delete_Name_Category
Delete_Value_Category
View_Category_Mapping
View_Name_Category
View_Value_Category

OpenShift Container Platform マシンに割り当てられたカテゴリーを作成、読み取り、削除します。

Images

Create_Image
Delete_Image
View_Image

OpenShift Container Platform マシンに使用されるオペレーティングシステムイメージを作成、読み取り、削除します。

仮想マシン

Create_Virtual_Machine
Delete_Virtual_Machine
View_Virtual_Machine

OpenShift Container Platform マシンを作成、読み取り、削除します。

クラスター

View_Cluster

OpenShift Container Platform マシンをホストする Prism Element クラスターを表示します。

サブネット

View_Subnet

OpenShift Container Platform マシンをホストするサブネットを表示します。

11.1.2.2. クラスターの制限

利用可能なリソースはクラスターによって異なります。Nutanix 環境内で可能なクラスターの数は、主に、使用可能なストレージスペースと、クラスターが作成するリソースに関連する制限、および IP アドレスやネットワークなど、クラスターをデプロイするために必要なリソースによって制限されます。

11.1.2.3. クラスターリソース

標準クラスターを使用するには、最低 800 GB のストレージが必要です。

インストーラーでプロビジョニングされるインフラストラクチャーを使用する OpenShift Container Platform クラスターをデプロイする場合、インストールプログラムは Nutanix インスタンスに複数のリソースを作成できる必要があります。これらのリソースは 856 GB のストレージを使用しますが、ブートストラップノードはインストールプロセスの一部として破棄されます。

標準的な OpenShift Container Platform インストールでは、以下のリソースを作成します。

  • 1 ラベル
  • 仮想マシン:

    • 1 ディスクイメージ
    • 1 一時的ブートストラップノード
    • 3 コントロールプレーンノード
    • 3 コンピュートマシン

11.1.2.4. ネットワーク要件

ネットワークに AHV IP アドレス管理 (IPAM) を使用し、クラスターマシンに永続的な IP アドレスを提供するように設定されていることを確認する必要があります。さらに、OpenShift Container Platform クラスターをインストールする前に以下のネットワークリソースを作します。

  • IP アドレス
  • DNS レコード
注記

クラスターの各 OpenShift Container Platform ノードは、DHCP を使用して検出可能な Network Time Protocol (NTP) サーバーにアクセスできることが推奨されます。NTP サーバーなしでインストールが可能です。ただし、NTP サーバーは、非同期サーバークロックに通常関連するエラーを防ぎます。

11.1.2.4.1. 必要な IP アドレス

インストーラーによってプロビジョニングされたインストールには、2 つの静的仮想 IP (VIP) アドレスが必要です。

  • API の VIP アドレスが必要です。このアドレスは、クラスター API にアクセスするために使用されます。
  • Ingress 用の VIP アドレスが必要です。このアドレスは、クラスターの Ingress トラフィックに使用されます。

これらの IP アドレスは、OpenShift Container Platform クラスターをインストールするときに指定します。

11.1.2.4.2. DNS レコード

OpenShift Container Platform クラスターをホストする Nutanix インスタンスについて 2 つの静的 IP アドレスの DNS レコードを適切な DNS サーバーに作成する必要があります。各レコードで、 <cluster_name> はクラスター名で、<base_domain> は、クラスターのインストール時に指定するクラスターのベースドメインです。

完全な DNS レコードは <component>.<cluster_name>.<base_domain>. の形式を取ります。

表11.2 必要な DNS レコード

コンポーネントレコード説明

API VIP

api.<cluster_name>.<base_domain>.

この DNS A/AAAA または CNAME レコードは、コントロールプレーンマシンのロードバランサーを参照する必要があります。このレコードは、クラスター外のクライアントおよびクラスター内のすべてのノードで解決できる必要があります。

Ingress VIP

*.apps.<cluster_name>.<base_domain>.

Ingress ルーター Pod を実行するマシンをターゲットにするロードバランサーを参照するワイルドカード DNS A/AAAA または CNAME レコードです。このレコードは、クラスター外のクライアントおよびクラスター内のすべてのノードで解決できる必要があります。

11.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) がインストールされている。

手順

  1. 以下のコマンドを実行して、OpenShift Container Platform リリースイメージを取得します。

    $ RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $3}')
  2. 以下のコマンドを実行して、OpenShift Container Platform リリースイメージから CCO コンテナーイメージを取得します。

    $ CCO_IMAGE=$(oc adm release info --image-for='cloud-credential-operator' $RELEASE_IMAGE -a ~/.pull-secret)
    注記

    $RELEASE_IMAGE のアーキテクチャーが、ccoctlツールを使用する環境のアーキテクチャーと一致していることを確認してください。

  3. 以下のコマンドを実行して、OpenShift Container Platform リリースイメージ内の CCO コンテナーイメージから ccoctl バイナリーを抽出します。

    $ oc image extract $CCO_IMAGE --file="/usr/bin/ccoctl" -a ~/.pull-secret
  4. 次のコマンドを実行して、権限を変更して ccoctl を実行可能にします。

    $ chmod 775 ccoctl

検証

  • ccoctl を使用する準備ができていることを確認するには、次のコマンドを実行してヘルプファイルを表示します。

    $ ccoctl --help

    ccoctl --help の出力

    OpenShift credentials provisioning tool
    
    Usage:
      ccoctl [command]
    
    Available Commands:
      alibabacloud Manage credentials objects for alibaba cloud
      aws          Manage credentials objects for AWS cloud
      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.