9.7. ネットワークが制限された環境での GCP へのクラスターのインストール

OpenShift Container Platform 4.12 では、既存の Google Virtual Private Cloud (VPC) にインストールリリースコンテンツの内部ミラーを作成することで、制限されたネットワークの Google Cloud Platform (GCP) にクラスターをインストールできます。

重要

ミラーリングされたインストールリリースのコンテンツを使用して OpenShift Container Platform クラスターをインストールすることは可能ですが、クラスターが GCP API を使用するにはインターネットアクセスが必要になります。

9.7.1. 前提条件

  • OpenShift Container Platform のインストールおよび更新 プロセスの詳細を確認している。
  • クラスターインストール方法の選択およびそのユーザー向けの準備 を確認している。
  • クラスターをホストするように GCP プロジェクトを設定 している。
  • 非接続インストールのイメージのミラーリング をレジストリーに対して行っており、使用しているバージョンの OpenShift Container Platform の imageContentSources データを取得している。

    重要

    インストールメディアはミラーホストにあるため、そのコンピューターを使用してすべてのインストール手順を完了することができます。

  • GCP に既存の VPC がある。インストーラーでプロビジョニングされるインフラストラクチャーを使用するネットワークが制限された環境にクラスターをインストールする場合は、インストーラーでプロビジョニングされる VPC を使用することはできません。以下の要件のいずれかを満たすユーザーによってプロビジョニングされる VPC を使用する必要があります。

    • ミラーレジストリーが含まれる。
    • 別の場所でホストされるミラーレジストリーにアクセスするためのファイアウォールルールまたはピアリング接続がある。
  • ファイアウォールを使用する場合は、クラスターがアクセスを必要とするサイトを許可するようにファイアウォールを設定する必要がある。他のサイトへのアクセスを付与する必要がある場合もありますが、*.googleapis.com および accounts.google.com へのアクセスを付与する必要があります。
  • お使いの環境でクラウドアイデンティティーおよびアクセス管理 (IAM) API にアクセスできない場合や、管理者レベルの認証情報シークレットを kube-system namespace に保存することを望まない場合は、IAM 認証情報を手動で作成および維持 することができます。

9.7.2. ネットワークが制限された環境でのインストールについて

OpenShift Container Platform 4.12 では、ソフトウェアコンポーネントを取得するためにインターネットへのアクティブな接続を必要としないインストールを実行できます。ネットワークが制限された環境のインストールは、クラスターのインストール先となるクラウドプラットフォームに応じて、インストーラーでプロビジョニングされるインフラストラクチャーまたはユーザーによってプロビジョニングされるインフラストラクチャーを使用して実行できます。

クラウドプラットフォーム上でネットワークが制限されたインストールの実行を選択した場合でも、そのクラウド API へのアクセスが必要になります。Amazon Web Service の Route 53 DNS や IAM サービスなどの一部のクラウド機能には、インターネットアクセスが必要です。ネットワークによっては、ベアメタルハードウェア、Nutanix、または VMware vSphere へのインストールに必要なインターネットアクセスが少なくて済む場合があります。

ネットワークが制限されたインストールを完了するには、OpenShift イメージレジストリーのコンテンツをミラーリングし、インストールメディアを含むレジストリーを作成する必要があります。このミラーは、インターネットと制限されたネットワークの両方にアクセスできるミラーホストで、または制限に対応する他の方法を使用して作成できます。

9.7.2.1. その他の制限

ネットワークが制限された環境のクラスターには、以下の追加の制限および制約があります。

  • ClusterVersion ステータスには Unable to retrieve available updates エラーが含まれます。
  • デフォルトで、開発者カタログのコンテンツは、必要とされるイメージストリームタグにアクセスできないために使用できません。

9.7.3. OpenShift Container Platform のインターネットアクセス

OpenShift Container Platform 4.12 では、クラスターのインストールに必要なイメージを取得するために、インターネットにアクセスする必要があります。

インターネットへのアクセスは以下を実行するために必要です。

  • OpenShift Cluster Manager Hybrid Cloud Console にアクセスし、インストールプログラムをダウンロードし、サブスクリプション管理を実行します。クラスターにインターネットアクセスがあり、Telemetry を無効にしない場合、そのサービスは有効なサブスクリプションでクラスターを自動的に使用します。
  • クラスターのインストールに必要なパッケージを取得するために Quay.io にアクセスします。
  • クラスターの更新を実行するために必要なパッケージを取得します。
重要

クラスターでインターネットに直接アクセスできない場合、プロビジョニングする一部のタイプのインフラストラクチャーでネットワークが制限されたインストールを実行できます。このプロセスで、必要なコンテンツをダウンロードし、これを使用してミラーレジストリーにインストールパッケージを設定します。インストールタイプによっては、クラスターのインストール環境でインターネットアクセスが不要となる場合があります。クラスターを更新する前に、ミラーレジストリーのコンテンツを更新します。

9.7.4. クラスターノードの SSH アクセス用のキーペアの生成

OpenShift Container Platform をインストールする際に、SSH パブリックキーをインストールプログラムに指定できます。キーは、Ignition 設定ファイルを介して Red Hat Enterprise Linux CoreOS (RHCOS) ノードに渡され、ノードへの SSH アクセスを認証するために使用されます。このキーは各ノードの core ユーザーの ~/.ssh/authorized_keys リストに追加され、パスワードなしの認証が可能になります。

キーがノードに渡されると、キーペアを使用して RHCOS ノードにユーザー core として SSH を実行できます。SSH 経由でノードにアクセスするには、秘密鍵のアイデンティティーをローカルユーザーの SSH で管理する必要があります。

インストールのデバッグまたは障害復旧を実行するためにクラスターノードに対して SSH を実行する場合は、インストールプロセスの間に SSH 公開鍵を指定する必要があります。 /openshift-install gather コマンドでは、SSH 公開鍵がクラスターノードに配置されている必要もあります。

重要

障害復旧およびデバッグが必要な実稼働環境では、この手順を省略しないでください。

注記

AWS キーペア などのプラットフォームに固有の方法で設定したキーではなく、ローカルキーを使用する必要があります。

手順

  1. クラスターノードへの認証に使用するローカルマシンに既存の SSH キーペアがない場合は、これを作成します。たとえば、Linux オペレーティングシステムを使用するコンピューターで以下のコマンドを実行します。

    $ ssh-keygen -t ed25519 -N '' -f <path>/<file_name> 1
    1
    新しい SSH キーのパスとファイル名 (~/.ssh/id_ed25519 など) を指定します。既存のキーペアがある場合は、公開鍵が ~/.ssh ディレクトリーにあることを確認します。
    注記

    FIPS で検証済みまたは進行中のモジュール (Modules in Process) 暗号ライブラリーを使用する OpenShift Container Platform クラスターを x86_64ppc64le、および s390x アーキテクチャーにインストールする予定の場合は、ed25519 アルゴリズムを使用するキーは作成しないでください。代わりに、rsa アルゴリズムまたは ecdsa アルゴリズムを使用するキーを作成します。

  2. 公開 SSH キーを表示します。

    $ cat <path>/<file_name>.pub

    たとえば、次のコマンドを実行して ~/.ssh/id_ed25519.pub 公開鍵を表示します。

    $ cat ~/.ssh/id_ed25519.pub
  3. ローカルユーザーの SSH エージェントに SSH 秘密鍵 ID が追加されていない場合は、それを追加します。キーの SSH エージェント管理は、クラスターノードへのパスワードなしの SSH 認証、または ./openshift-install gather コマンドを使用する場合は必要になります。

    注記

    一部のディストリビューションでは、~/.ssh/id_rsa および ~/.ssh/id_dsa などのデフォルトの SSH 秘密鍵のアイデンティティーは自動的に管理されます。

    1. ssh-agent プロセスがローカルユーザーに対して実行されていない場合は、バックグラウンドタスクとして開始します。

      $ eval "$(ssh-agent -s)"

      出力例

      Agent pid 31874

      注記

      クラスターが FIPS モードにある場合は、FIPS 準拠のアルゴリズムのみを使用して SSH キーを生成します。鍵は RSA または ECDSA のいずれかである必要があります。

  4. SSH プライベートキーを ssh-agent に追加します。

    $ ssh-add <path>/<file_name> 1
    1
    ~/.ssh/id_ed25519 などの、SSH プライベートキーのパスおよびファイル名を指定します。

    出力例

    Identity added: /home/<you>/<path>/<file_name> (<computer_name>)

次のステップ

  • OpenShift Container Platform をインストールする際に、SSH パブリックキーをインストールプログラムに指定します。

9.7.5. インストール設定ファイルの作成

Google Cloud Platform (GCP) にインストールする OpenShift Container Platform クラスターをカスタマイズできます。

前提条件

  • OpenShift Container Platform インストールプログラム、およびクラスターのプルシークレットを取得する。ネットワークが制限されたインストールでは、これらのファイルがミラーホスト上に置かれます。
  • ミラーレジストリーの作成時に生成された imageContentSources 値を使用します。
  • ミラーレジストリーの証明書の内容を取得する。
  • サブスクリプションレベルでサービスプリンシパルのパーミッションを取得する。

手順

  1. install-config.yaml ファイルを作成します。

    1. インストールプログラムが含まれるディレクトリーに切り替え、以下のコマンドを実行します。

      $ ./openshift-install create install-config --dir <installation_directory> 1
      1
      <installation_directory> の場合、インストールプログラムが作成するファイルを保存するためにディレクトリー名を指定します。

      ディレクトリーを指定する場合:

      • ディレクトリーに execute 権限があることを確認します。この権限は、インストールディレクトリーで Terraform バイナリーを実行するために必要です。
      • 空のディレクトリーを使用します。ブートストラップ X.509 証明書などの一部のインストールアセットは有効期限が短いため、インストールディレクトリーを再利用しないでください。別のクラスターインストールの個別のファイルを再利用する必要がある場合は、それらをディレクトリーにコピーすることができます。ただし、インストールアセットのファイル名はリリース間で変更される可能性があります。インストールファイルを以前のバージョンの OpenShift Container Platform からコピーする場合は注意してコピーを行ってください。
    2. プロンプト時に、クラウドの設定の詳細情報を指定します。

      1. オプション: クラスターマシンにアクセスするために使用する SSH キーを選択します。

        注記

        インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、ssh-agent プロセスが使用する SSH キーを指定します。

      2. ターゲットに設定するプラットフォームとして gcp を選択します。
      3. コンピューター上で GCP アカウント用のサービスアカウントキーを設定していない場合、GCP からこれを取得してファイルの内容を貼り付けるか、ファイルへの絶対パスを入力する必要があります。
      4. クラスターのプロビジョニングに使用するプロジェクト ID を選択します。デフォルト値は、設定したサービスアカウントによって指定されます。
      5. クラスターをデプロイするリージョンを選択します。
      6. クラスターをデプロイするベースドメインを選択します。ベースドメインは、クラスターに作成したパブリック DNS ゾーンに対応します。
      7. クラスターの記述名を入力します。
      8. Red Hat OpenShift Cluster Manager からプルシークレット を貼り付けます。
  2. install-config.yaml ファイルを編集し、ネットワークが制限された環境でのインストールに必要な追加の情報を提供します。

    1. pullSecret の値を更新して、レジストリーの認証情報を追加します。

      pullSecret: '{"auths":{"<mirror_host_name>:5000": {"auth": "<credentials>","email": "you@example.com"}}}'

      <mirror_host_name> の場合、ミラーレジストリーの証明書で指定したレジストリードメイン名を指定し、 <credentials> の場合は、ミラーレジストリーの base64 でエンコードされたユーザー名およびパスワードを指定します。

    2. additionalTrustBundle パラメーターおよび値を追加します。

      additionalTrustBundle: |
        -----BEGIN CERTIFICATE-----
        ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
        -----END CERTIFICATE-----

      この値は、ミラーレジストリーに使用した証明書ファイルの内容である必要があります。証明書ファイルは、既存の信頼できる認証局、またはミラーレジストリー用に生成した自己署名証明書のいずれかです。

    3. VPC のネットワークおよびサブネットを定義して、親の platform.gcp フィールドの下にクラスターをインストールします。

      network: <existing_vpc>
      controlPlaneSubnet: <control_plane_subnet>
      computeSubnet: <compute_subnet>

      platform.gcp.network には、既存の Google VPC の名前を指定します。platform.gcp.controlPlaneSubnet および platform.gcp.computeSubnet の場合には、コントロールプレーンマシンとコンピュートマシンをそれぞれデプロイするために既存のサブネットを指定します。

    4. 次の YAML の抜粋のようなイメージコンテンツリソースを追加します。

      imageContentSources:
      - mirrors:
        - <mirror_host_name>:5000/<repo_name>/release
        source: quay.io/openshift-release-dev/ocp-release
      - mirrors:
        - <mirror_host_name>:5000/<repo_name>/release
        source: registry.redhat.io/ocp/release

      これらの値には、ミラーレジストリーの作成時に記録された imageContentSources を使用します。

  3. 必要な install-config.yaml ファイルに他の変更を加えます。利用可能なパラメーターの詳細については、インストール設定パラメーターセクションを参照してください。
  4. install-config.yaml ファイルをバックアップし、複数のクラスターをインストールするのに使用できるようにします。

    重要

    install-config.yaml ファイルはインストールプロセス時に使用されます。このファイルを再利用する必要がある場合は、この段階でこれをバックアップしてください。

9.7.5.1. インストール設定パラメーター

OpenShift Container Platform クラスターをデプロイする前に、クラスターをホストするクラウドプラットフォームでアカウントを記述し、クラスターのプラットフォームをオプションでカスタマイズするためにパラメーターの値を指定します。install-config.yaml インストール設定ファイルを作成する際に、コマンドラインで必要なパラメーターの値を指定します。クラスターをカスタマイズする場合、install-config.yaml ファイルを変更して、プラットフォームについての詳細情報を指定できます。

注記

インストール後は、これらのパラメーターを install-config.yaml ファイルで変更することはできません。

9.7.5.1.1. 必須設定パラメーター

必須のインストール設定パラメーターは、以下の表で説明されています。

表9.22 必須パラメーター

パラメーター説明

apiVersion

install-config.yaml コンテンツの API バージョン。現在のバージョンは v1 です。インストールプログラムは、古い API バージョンもサポートしている場合があります。

文字列

baseDomain

クラウドプロバイダーのベースドメイン。ベースドメインは、OpenShift Container Platform クラスターコンポーネントへのルートを作成するために使用されます。クラスターの完全な DNS 名は、baseDomain<metadata.name>.<baseDomain> 形式を使用する metadata.name パラメーターの値の組み合わせです。

example.com などの完全修飾ドメインまたはサブドメイン名。

metadata

Kubernetes リソース ObjectMeta。ここからは name パラメーターのみが消費されます。

オブジェクト

metadata.name

クラスターの名前。クラスターの DNS レコードはすべて {{.metadata.name}}.{{.baseDomain}} のサブドメインです。

dev などの小文字、ハイフン (-)、およびピリオド (.) が含まれる文字列。

platform

インストールを実行する特定のプラットフォームの設定: alibabacloudawsbaremetalazuregcpibmcloudnutanixopenstackovirtvsphere、または {}platform.<platform> パラメーターに関する追加情報は、以下の表で特定のプラットフォームを参照してください。

オブジェクト

pullSecret

Red Hat OpenShift Cluster Manager からプルシークレット を取得して、Quay.io などのサービスから OpenShift Container Platform コンポーネントのコンテナーイメージをダウンロードすることを認証します。

{
   "auths":{
      "cloud.openshift.com":{
         "auth":"b3Blb=",
         "email":"you@example.com"
      },
      "quay.io":{
         "auth":"b3Blb=",
         "email":"you@example.com"
      }
   }
}
9.7.5.1.2. ネットワーク設定パラメーター

既存のネットワークインフラストラクチャーの要件に基づいて、インストール設定をカスタマイズできます。たとえば、クラスターネットワークの IP アドレスブロックを拡張するか、デフォルトとは異なる IP アドレスブロックを指定できます。

IPv4 アドレスのみがサポートされます。

注記

Globalnet は、Red Hat OpenShift Data Foundation ディザスターリカバリーソリューションではサポートされていません。局地的なディザスターリカバリーのシナリオでは、各クラスター内のクラスターとサービスネットワークに重複しない範囲のプライベート IP アドレスを使用するようにしてください。

表9.23 ネットワークパラメーター

パラメーター説明

networking

クラスターのネットワークの設定。

オブジェクト

注記

インストール後に networking オブジェクトで指定したパラメーターを変更することはできません。

networking.networkType

インストールする Red Hat OpenShift Networking ネットワークプラグイン。

OpenShiftSDN または OVNKubernetes のいずれか。OpenShiftSDN は、全 Linux ネットワーク用の CNI プラグインです。OVNKubernetes は、Linux ネットワークと、Linux サーバーと Windows サーバーの両方を含む Linux ネットワークおよびハイブリッドネットワーク用の CNI プラグインです。デフォルトの値は OVNkubernetes です。

networking.clusterNetwork

Pod の IP アドレスブロック。

デフォルト値は 10.128.0.0/14 で、ホストの接頭辞は /23 です。

複数の IP アドレスブロックを指定する場合は、ブロックが重複しないようにしてください。

オブジェクトの配列。以下に例を示します。

networking:
  clusterNetwork:
  - cidr: 10.128.0.0/14
    hostPrefix: 23

networking.clusterNetwork.cidr

networking.clusterNetwork を使用する場合に必須です。IP アドレスブロック。

IPv4 ネットワーク

CIDR (Classless Inter-Domain Routing) 表記の IP アドレスブロック。IPv4 ブロックの接頭辞長は 0 から 32 の間になります。

networking.clusterNetwork.hostPrefix

それぞれの個別ノードに割り当てるサブネット接頭辞長。たとえば、hostPrefix23 に設定される場合、各ノードに指定の cidr から /23 サブネットが割り当てられます。hostPrefix 値の 23 は、510 (2^(32 - 23) - 2) Pod IP アドレスを提供します。

サブネット接頭辞。

デフォルト値は 23 です。

networking.serviceNetwork

サービスの IP アドレスブロック。デフォルト値は 172.30.0.0/16 です。

OpenShift SDN および OVN-Kubernetes ネットワークプラグインは、サービスネットワークの単一 IP アドレスブロックのみをサポートします。

CIDR 形式の IP アドレスブロックを持つ配列。以下に例を示します。

networking:
  serviceNetwork:
   - 172.30.0.0/16

networking.machineNetwork

マシンの IP アドレスブロック。

複数の IP アドレスブロックを指定する場合は、ブロックが重複しないようにしてください。

オブジェクトの配列。以下に例を示します。

networking:
  machineNetwork:
  - cidr: 10.0.0.0/16

networking.machineNetwork.cidr

networking.machineNetwork を使用する場合に必須です。IP アドレスブロック。libvirt 以外のすべてのプラットフォームでは、デフォルト値は 10.0.0.0/16 です。libvirt の場合、デフォルト値は 192.168.126.0/24 です。

CIDR 表記の IP ネットワークブロック。

例: 10.0.0.0/16

注記

優先される NIC が置かれている CIDR に一致する networking.machineNetwork を設定します。

9.7.5.1.3. オプションの設定パラメーター

オプションのインストール設定パラメーターは、以下の表で説明されています。

表9.24 オプションのパラメーター

パラメーター説明

additionalTrustBundle

ノードの信頼済み証明書ストアに追加される PEM でエンコードされた X.509 証明書バンドル。この信頼バンドルは、プロキシーが設定される際にも使用できます。

文字列

capabilities

オプションのコアクラスターコンポーネントのインストールを制御します。オプションのコンポーネントを無効にすることで、OpenShift Container Platform クラスターのフットプリントを削減できます。詳しくは、インストール の「クラスター機能ページ」を参照してください。

文字列配列

capabilities.baselineCapabilitySet

有効にするオプション機能の初期セットを選択します。有効な値は Nonev4.11v4.12vCurrent です。デフォルト値は vCurrent です。

文字列

capabilities.additionalEnabledCapabilities

オプションの機能のセットを、baselineCapabilitySet で指定したものを超えて拡張します。このパラメーターで複数の機能を指定できます。

文字列配列

compute

コンピュートノードを設定するマシンの設定。

MachinePool オブジェクトの配列。

compute.architecture

プール内のマシンの命令セットアーキテクチャーを決定します。現在、さまざまなアーキテクチャーのクラスターはサポートされていません。すべてのプールは同じアーキテクチャーを指定する必要があります。有効な値は amd64 (デフォルト) です。

文字列

compute.hyperthreading

コンピュートマシンで同時マルチスレッドまたは hyperthreading を有効/無効にするかどうか。デフォルトでは、同時スレッドはマシンのコアのパフォーマンスを上げるために有効にされます。

重要

同時スレッドを無効にする場合は、容量計画においてマシンパフォーマンスの大幅な低下が考慮に入れられていることを確認します。

Enabled または Disabled

compute.name

compute を使用する場合に必須です。マシンプールの名前。

worker

compute.platform

compute を使用する場合に必須です。このパラメーターを使用して、ワーカーマシンをホストするクラウドプロバイダーを指定します。このパラメーターの値は controlPlane.platform パラメーターの値に一致する必要があります。

alibabacloudawsazure, gcpibmcloudnutanixopenstackovirtvsphere、または {}

compute.replicas

プロビジョニングするコンピュートマシン (ワーカーマシンとしても知られる) の数。

2 以上の正の整数。デフォルト値は 3 です。

featureSet

機能セットのクラスターを有効にします。機能セットは、デフォルトで有効にされない OpenShift Container Platform 機能のコレクションです。インストール中に機能セットを有効にする方法の詳細は、「機能ゲートの使用による各種機能の有効化」を参照してください。

文字列。TechPreviewNoUpgrade など、有効にする機能セットの名前。

controlPlane

コントロールプレーンを設定するマシンの設定。

MachinePool オブジェクトの配列。

controlPlane.architecture

プール内のマシンの命令セットアーキテクチャーを決定します。現在、さまざまなアーキテクチャーのクラスターはサポートされていません。すべてのプールは同じアーキテクチャーを指定する必要があります。有効な値は amd64 (デフォルト) です。

文字列

controlPlane.hyperthreading

コントロールプレーンマシンで同時マルチスレッドまたは hyperthreading を有効/無効にするかどうか。デフォルトでは、同時スレッドはマシンのコアのパフォーマンスを上げるために有効にされます。

重要

同時スレッドを無効にする場合は、容量計画においてマシンパフォーマンスの大幅な低下が考慮に入れられていることを確認します。

Enabled または Disabled

controlPlane.name

controlPlane を使用する場合に必須です。マシンプールの名前。

master

controlPlane.platform

controlPlane を使用する場合に必須です。このパラメーターを使用して、コントロールプレーンマシンをホストするクラウドプロバイダーを指定します。このパラメーターの値は compute.platform パラメーターの値に一致する必要があります。

alibabacloudawsazure, gcpibmcloudnutanixopenstackovirtvsphere、または {}

controlPlane.replicas

プロビジョニングするコントロールプレーンマシンの数。

サポートされる値は 3 のみです (これはデフォルト値です)。

credentialsMode

Cloud Credential Operator (CCO) モード。モードを指定しないと、CCO は指定された認証情報の機能を動的に判別しようとします。この場合、複数のモードがサポートされるプラットフォームで Mint モードが優先されます。GCP で共有 Virtual Private Cloud (VPC) にインストールする場合は、credentialsModePassthrough に設定する必要があります。

注記

すべてのクラウドプロバイダーですべての CCO モードがサポートされているわけではありません。CCO モードの詳細は、Cluster Operators リファレンスCloud Credential Operator を参照してください。

注記

AWS アカウントでサービスコントロールポリシー (SCP) が有効になっている場合は、credentialsMode パラメーターを MintPassthrough または Manual に設定する必要があります。

MintPassthroughManual、または空の文字列 ("")。

fips

FIPS モードを有効または無効にします。デフォルトは false (無効) です。FIPS モードが有効にされている場合、OpenShift Container Platform が実行される Red Hat Enterprise Linux CoreOS (RHCOS) マシンがデフォルトの Kubernetes 暗号スイートをバイパスし、代わりに RHCOS で提供される暗号モジュールを使用します。

重要

クラスターで FIPS モードを有効にするには、FIPS モードで動作するように設定された Red Hat Enterprise Linux (RHEL) コンピューターからインストールプログラムを実行する必要があります。RHEL での FIPS モードの設定の詳細は、FIPS モードでのシステムのインストール を参照してください。FIPS 検証済み/Modules In Process 暗号ライブラリーの使用は、x86_64ppc64le、および s390x アーキテクチャー上の OpenShift Container Platform デプロイメントでのみサポートされます。

注記

Azure File ストレージを使用している場合、FIPS モードを有効にすることはできません。

false または true

imageContentSources

release-image コンテンツのソースおよびリポジトリー。

オブジェクトの配列。この表の以下の行で説明されているように、source およびオプションで mirrors が含まれます。

imageContentSources.source

imageContentSources を使用する場合に必須です。ユーザーが参照するリポジトリーを指定します (例: イメージプル仕様)。

文字列

imageContentSources.mirrors

同じイメージが含まれる可能性のあるリポジトリーを 1 つ以上指定します。

文字列の配列。

publish

Kubernetes API、OpenShift ルートなどのクラスターのユーザーに表示されるエンドポイントをパブリッシュまたは公開する方法。

Internal または External。プライベートクラスターをデプロイするには、publishInternal に設定します。これはインターネットからアクセスできません。デフォルト値は External です。

sshKey

クラスターマシンへのアクセスを認証するための SSH キー。

注記

インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、ssh-agent プロセスが使用する SSH キーを指定します。

たとえば、sshKey: ssh-ed25519 AAAA.. です。

9.7.5.1.4. 追加の Google Cloud Platform (GCP) 設定パラメーター

追加の GCP 設定パラメーターは以下の表で説明されています。

表9.25 追加の GCP パラメーター

パラメーター説明

platform.gcp.network

クラスターをデプロイする既存 Virtual Private Cloud (VPC) の名前。クラスターを共有 VPC にデプロイする場合は、共有 VPC を含む GCP プロジェクトの名前で platform.gcp.networkProjectID を設定する必要があります。

文字列。

platform.gcp.networkProjectID

オプション:クラスターをデプロイする共有 VPC を含む GCP プロジェクトの名前。

文字列。

platform.gcp.projectID

インストールプログラムがクラスターをインストールする GCP プロジェクトの名前。

文字列。

platform.gcp.region

クラスターをホストする GCP リージョンの名前。

有効なリージョン名 (例: us-central1)

platform.gcp.controlPlaneSubnet

コントロールプレーンマシンをデプロイする既存サブネットの名前。

サブネット名。

platform.gcp.computeSubnet

コンピュートマシンをデプロイする既存サブネットの名前。

サブネット名。

platform.gcp.createFirewallRules

オプション:ネットワークタグを使用してファイアウォールルールを作成および管理する場合は、この値を Disabled に設定します。クラスターは、クラスター通信に必要なファイアウォールルールをデフォルトで自動的に作成および管理します。これらのタスクを自動的に実行するには、サービスアカウントにホストプロジェクトでの roles/compute.networkAdmin 権限と roles/compute.securityAdmin 権限が必要です。サービスアカウントにホストプロジェクトの roles/dns.admin 権限がない場合は、dns.networks.bindPrivateDNSZone 権限が必要です。

Enabled または Disabled。デフォルト値は Enabled です。

platform.gcp.publicDNSZone.project

オプション:パブリック DNS ゾーンを含むプロジェクトの名前。この値を設定する場合、サービスアカウントには、指定されたプロジェクトでの roles/dns.admin 権限が必要です。この値を設定しない場合、デフォルトは gcp.projectId です。

パブリック DNS ゾーンを含むプロジェクトの名前。

platform.gcp.publicDNSZone.id

オプション:既存パブリック DNS ゾーンの ID または名前。パブリック DNS ゾーンのドメインは、baseDomain パラメーターと一致する必要があります。この値を設定しない場合、インストールプログラムはサービスプロジェクトのパブリック DNS ゾーンを使用します。

パブリック DNS ゾーンの名前。

platform.gcp.privateDNSZone.project

オプション:プライベート DNS ゾーンを含むプロジェクトの名前。この値を設定する場合、サービスアカウントには、ホストプロジェクトでの roles/dns.admin 権限が必要です。この値を設定しない場合、デフォルトは gcp.projectId です。

プライベート DNS ゾーンを含むプロジェクトの名前。

platform.gcp.privateDNSZone.id

オプション:既存プライベート DNS ゾーンの ID または名前。この値を設定しない場合、インストールプログラムはサービスプロジェクトにプライベート DNS ゾーンを作成します。

プライベート DNS ゾーンの名前。

platform.gcp.licenses

コンピューティングイメージに適用する必要があるライセンス URL のリスト。

重要

license パラメーターは非推奨のフィールドであり、ネストされた仮想化はデフォルトで有効になっています。このフィールドの使用は推奨されません。

ネストされた仮想化 を有効にするライセンスなど、ライセンス API で使用可能なすべてのライセンス。このパラメーターは、ビルド済みのイメージを生成するメカニズムでは使用できません。ライセンス URL を使用すると、インストールプログラムは使用する前にソースイメージをコピーする必要があります。

platform.gcp.defaultMachinePlatform.zones

インストールプログラムがマシンを作成するアベイラビリティーゾーン。

YAML シーケンスus-central1-a などの有効な GCP アベイラビリティーゾーン の一覧。

platform.gcp.defaultMachinePlatform.osDisk.diskSizeGB

ディスクのサイズ (GB 単位)。

16 GB から 65536 GB の間のサイズ

platform.gcp.defaultMachinePlatform.osDisk.diskType

GCP ディスクタイプ

デフォルトの pd-ssd または pd-standard ディスクタイプ。コントロールプレーンノードは pd-ssd ディスクタイプである必要があります。コンピュートノードはどちらのタイプでも構いません。

platform.gcp.defaultMachinePlatform.osImage.project

オプション: デフォルトで、インストールプログラムは、コントロールプレーンおよびコンピュートマシンの起動に使用される RHCOS イメージをダウンロードしてインストールします。両方のタイプのマシンで使用するインストールプログラムのカスタム RHCOS イメージの場所を指定することで、デフォルトの動作をオーバーライドできます。

文字列。イメージが置かれている GCP プロジェクトの名前。

platform.gcp.defaultMachinePlatform.osImage.name

インストールプログラムがコントロールプレーンとコンピュートマシンの起動に使用するカスタム RHCOS イメージの名前。platform.gcp.defaultMachinePlatform.osImage.project を使用する場合、このフィールドは必須です。

文字列。RHCOS イメージの名前。

platform.gcp.defaultMachinePlatform.tags

オプション:コントロールプレーンおよびコンピュートマシンに追加する別のネットワークタグ。

network-tag1 などの 1 つ以上の文字列。

platform.gcp.defaultMachinePlatform.type

コントロールプレーンおよびコンピュートマシンの GCP マシンタイプ

n1-standard-4 などの GCP マシンタイプ。

platform.gcp.defaultMachinePlatform.osDisk.encryptionKey.kmsKey.name

マシンのディスク暗号化に使用されるお客様が管理する暗号化キーの名前。

暗号化キー名。

platform.gcp.defaultMachinePlatform.osDisk.encryptionKey.kmsKey.keyRing

KMS キーが属する Key Management Service (KMS) キーリングの名前。

KMS キーリング名。

platform.gcp.defaultMachinePlatform.osDisk.encryptionKey.kmsKey.location

KMS キーリングが存在する GCP の場所

GCP の場所。

platform.gcp.defaultMachinePlatform.osDisk.encryptionKey.kmsKey.projectID

KMS キーリングが存在するプロジェクトの ID。この値は、設定されていない場合、デフォルトで platform.gcp.projectID パラメーターの値になります。

GCP プロジェクト ID

platform.gcp.defaultMachinePlatform.osDisk.encryptionKey.kmsKeyServiceAccount

コントロールプレーンおよびコンピュートマシンの暗号化要求に使用される GCP サービスアカウント。存在しない場合には、Compute Engine のデフォルトのサービスアカウントが使用されます。GCP サービスアカウントの詳細は、Google のドキュメントの service accounts を参照してください。

<service_account_name>@<project_id>.iam.gserviceaccount.com などの GCP サービスアカウントのメール。

controlPlane.platform.gcp.osDisk.encryptionKey.kmsKey.name

コントロールプレーンマシンのディスク暗号化に使用されるお客様が管理する暗号化キーの名前。

暗号化キー名。

controlPlane.platform.gcp.osDisk.encryptionKey.kmsKey.keyRing

コントロールプレーンマシンの場合、KMS キーが属する KMS キーリングの名前。

KMS キーリング名。

controlPlane.platform.gcp.osDisk.encryptionKey.kmsKey.location

コントロールプレーンマシンの場合、キーリングが存在する GCP の場所。KMS の場所の詳細は、Google のドキュメント Cloud KMS locations を参照してください。

キーリングの GCP の場所。

controlPlane.platform.gcp.osDisk.encryptionKey.kmsKey.projectID

コントロールプレーンマシンの場合、KMS キーリングが存在するプロジェクトの ID。設定されていない場合、この値は VM プロジェクト ID にデフォルト設定されます。

GCP プロジェクト ID

controlPlane.platform.gcp.osDisk.encryptionKey.kmsKeyServiceAccount

コントロールプレーンマシンの暗号化要求に使用される GCP サービスアカウント。存在しない場合には、Compute Engine のデフォルトのサービスアカウントが使用されます。GCP サービスアカウントの詳細は、Google のドキュメントの service accounts を参照してください。

<service_account_name>@<project_id>.iam.gserviceaccount.com などの GCP サービスアカウントのメール。

controlPlane.platform.gcp.osDisk.diskSizeGB

ディスクのサイズ (GB 単位)。この値はコントロールプレーンマシンに適用されます。

16 から 65536 までの整数。

controlPlane.platform.gcp.osDisk.diskType

コントロールプレーンマシンの GCP ディスクタイプ

コントロールプレーンマシンは、デフォルトの pd-ssd ディスクタイプを使用する必要があります。

controlPlane.platform.gcp.osImage.project

オプション: デフォルトで、インストールプログラムは、コントロールプレーンおよびコンピュートマシンの起動に使用する Red Hat Enterprise Linux CoreOS (RHCOS) イメージをダウンロードしてインストールします。コントロールプレーンマシンのみで使用するインストールプログラムのカスタム RHCOS イメージの場所を指定することで、デフォルトの動作をオーバーライドできます。

文字列。イメージが置かれている GCP プロジェクトの名前。

controlPlane.platform.gcp.osImage.name

インストールプログラムがコントロールプレーンマシンの起動に使用するカスタム RHCOS イメージの名前。controlPlane.platform.gcp.osImage.project を使用する場合、このフィールドは必須です。

文字列。RHCOS イメージの名前。

controlPlane.platform.gcp.tags

オプション:コントロールプレーンマシンに追加する別のネットワークタグ。このパラメーターを設定すると、コントロールプレーンマシンの platform.gcp.defaultMachinePlatform.tags パラメーターが上書きされます。

control-plane-tag1 などの 1 つ以上の文字列。

controlPlane.platform.gcp.type

コントロールプレーン マシンの GCP マシンタイプ。設定されている場合、このパラメーターは platform.gcp.defaultMachinePlatform.type パラメーターを上書きします。

n1-standard-4 などの GCP マシンタイプ。

controlPlane.platform.gcp.zones

インストールプログラムがコントロールプレーンマシンを作成するアベイラビリティーゾーン。

YAML シーケンスus-central1-a などの有効な GCP アベイラビリティーゾーン の一覧。

compute.platform.gcp.osDisk.encryptionKey.kmsKey.name

コントロールマシンのディスク暗号化に使用されるお客様が管理する暗号化キーの名前。

暗号化キー名。

compute.platform.gcp.osDisk.encryptionKey.kmsKey.keyRing

コンピュートマシンの場合、KMS キーが属する KMS キーリングの名前。

KMS キーリング名。

compute.platform.gcp.osDisk.encryptionKey.kmsKey.location

コンピュートマシンの場合、キーリングが存在する GCP の場所。KMS の場所の詳細は、Google のドキュメント Cloud KMS locations を参照してください。

キーリングの GCP の場所。

compute.platform.gcp.osDisk.encryptionKey.kmsKey.projectID

コンピュートマシンの場合、KMS キーリングが存在するプロジェクトの ID。設定されていない場合、この値は VM プロジェクト ID にデフォルト設定されます。

GCP プロジェクト ID

compute.platform.gcp.osDisk.encryptionKey.kmsKeyServiceAccount

コンピュートマシンの暗号化要求に使用される GCP サービスアカウント。この値が設定されていない場合には、Compute Engine のデフォルトのサービスアカウントが使用されます。GCP サービスアカウントの詳細は、Google のドキュメントの service accounts を参照してください。

<service_account_name>@<project_id>.iam.gserviceaccount.com などの GCP サービスアカウントのメール。

compute.platform.gcp.osDisk.diskSizeGB

ディスクのサイズ (GB 単位)。この値はコンピュートマシンに適用されます。

16 から 65536 までの整数。

compute.platform.gcp.osDisk.diskType

コンピュートマシンの GCP ディスクタイプ

デフォルトの pd-ssd または pd-standard ディスクタイプ。

compute.platform.gcp.osImage.project

オプション: デフォルトで、インストールプログラムはコンピュートマシンの起動に使用する RHCOS イメージをダウンロードしてインストールします。コンピュートマシンのみで使用するインストールプログラムのカスタム RHCOS イメージの場所を指定することで、デフォルトの動作をオーバーライドできます。

文字列。イメージが置かれている GCP プロジェクトの名前。

compute.platform.gcp.osImage.name

インストールプログラムがコンピュートマシンの起動に使用するカスタム RHCOS イメージの名前。compute.platform.gcp.osImage.project を使用する場合、このフィールドは必須です。

文字列。RHCOS イメージの名前。

compute.platform.gcp.tags

オプション:コンピュートマシンに追加する別のネットワークタグ。このパラメーターを設定すると、コンピュートマシンの platform.gcp.defaultMachinePlatform.tags パラメーターが上書きされます。

compute-network-tag1 などの 1 つ以上の文字列。

compute.platform.gcp.type

コンピュートマシンの GCP マシンタイプ。設定されている場合、このパラメーターは platform.gcp.defaultMachinePlatform.type パラメーターを上書きします。

n1-standard-4 などの GCP マシンタイプ。

compute.platform.gcp.zones

インストールプログラムがコンピュートマシンを作成するアベイラビリティーゾーン。

YAML シーケンスus-central1-a などの有効な GCP アベイラビリティーゾーン の一覧。

9.7.5.2. クラスターインストールの最小リソース要件

それぞれのクラスターマシンは、以下の最小要件を満たしている必要があります。

表9.26 最小リソース要件

マシンオペレーティングシステムvCPU [1]仮想 RAMストレージ1 秒あたりの入出力 (IOPS) [2]

ブートストラップ

RHCOS

4

16 GB

100 GB

300

コントロールプレーン

RHCOS

4

16 GB

100 GB

300

Compute

RHCOS、RHEL 8.6 以降 [3]

2

8 GB

100 GB

300

  1. 1 vCPU は、同時マルチスレッド (SMT) またはハイパースレッディングが有効にされていない場合に 1 つの物理コアと同等です。これが有効にされている場合、以下の数式を使用して対応する比率を計算します: (コアごとのスレッド × コア数) × ソケット数 = vCPU
  2. OpenShift Container Platform および Kubernetes はディスクのパフォーマンスに敏感であり、特に 10 ms p99 fsync 期間を必要とするコントロールプレーンノード上の etcd については、高速ストレージが推奨されます。多くのクラウドプラットフォームでは、ストレージサイズと IOPS スケールが一緒にあるため、十分なパフォーマンスを得るためにストレージボリュームの割り当てが必要になる場合があります。
  3. ユーザーによってプロビジョニングされるすべてのインストールと同様に、クラスターで RHEL コンピュートマシンの使用を選択する場合は、システム更新の実行、パッチの適用、その他すべての必要なタスクの完了など、オペレーティングシステムのライフサイクルの管理と保守をすべて担当します。RHEL 7 コンピューティングマシンの使用は推奨されておらず、OpenShift Container Platform 4.10 以降では削除されています。

プラットフォームのインスタンスタイプがクラスターマシンの最小要件を満たす場合、これは OpenShift Container Platform で使用することがサポートされます。

9.7.5.3. GCP のテスト済みインスタンスタイプ

以下の Google Cloud Platform インスタンスタイプは OpenShift Container Platform でテストされています。

例9.23 マシンのシリーズ

  • C2
  • C2D
  • C3
  • E2
  • M1
  • N1
  • N2
  • N2D
  • Tau T2D

9.7.5.4. カスタムマシンタイプの使用

カスタムマシンタイプを使用した OpenShift Container Platform クラスターのインストールがサポートされます。

カスタムマシンタイプを使用する場合は、以下を考慮してください。

  • 事前定義されたインスタンスタイプと同様に、カスタムマシンタイプは、コントロールプレーンとコンピューティングマシンの最小リソース要件を満たす必要があります。詳細については、「クラスターインストールの最小リソース要件」を参照してください。
  • カスタムマシンタイプの名前は、次の構文に従う必要があります。

    custom-<number_of_cpus>-<amount_of_memory_in_mb>

    たとえば、custom-6-20480 です。

インストールプロセスの一環として、カスタムマシンタイプを install-config.yaml ファイルで指定します。

カスタムマシンタイプのサンプル install-config.yaml ファイル

compute:
- architecture: amd64
  hyperthreading: Enabled
  name: worker
  platform:
    gcp:
      type: custom-6-20480
  replicas: 2
controlPlane:
  architecture: amd64
  hyperthreading: Enabled
  name: master
  platform:
    gcp:
      type: custom-6-20480
  replicas: 3

9.7.5.5. GCP のカスタマイズされた install-config.yaml ファイルのサンプル

install-config.yaml ファイルをカスタマイズして、OpenShift Container Platform クラスターのプラットフォームについての詳細を指定するか、必要なパラメーターの値を変更することができます。

重要

このサンプルの YAML ファイルは参照用にのみ提供されます。インストールプログラムを使用して install-config.yaml ファイルを取得し、これを変更する必要があります。

apiVersion: v1
baseDomain: example.com 1
controlPlane: 2 3
  hyperthreading: Enabled 4
  name: master
  platform:
    gcp:
      type: n2-standard-4
      zones:
      - us-central1-a
      - us-central1-c
      osDisk:
        diskType: pd-ssd
        diskSizeGB: 1024
        encryptionKey: 5
          kmsKey:
            name: worker-key
            keyRing: test-machine-keys
            location: global
            projectID: project-id
      tags: 6
      - control-plane-tag1
      - control-plane-tag2
      osImage: 7
        project: example-project-name
        name: example-image-name
  replicas: 3
compute: 8 9
- hyperthreading: Enabled 10
  name: worker
  platform:
    gcp:
      type: n2-standard-4
      zones:
      - us-central1-a
      - us-central1-c
      osDisk:
        diskType: pd-standard
        diskSizeGB: 128
        encryptionKey: 11
          kmsKey:
            name: worker-key
            keyRing: test-machine-keys
            location: global
            projectID: project-id
      tags: 12
      - compute-tag1
      - compute-tag2
      osImage: 13
          project: example-project-name
          name: example-image-name
  replicas: 3
metadata:
  name: test-cluster 14
networking:
  clusterNetwork:
  - cidr: 10.128.0.0/14
    hostPrefix: 23
  machineNetwork:
  - cidr: 10.0.0.0/16
  networkType: OVNKubernetes 15
  serviceNetwork:
  - 172.30.0.0/16
platform:
  gcp:
    projectID: openshift-production 16
    region: us-central1 17
    defaultMachinePlatform:
      tags: 18
      - global-tag1
      - global-tag2
      osImage: 19
        project: example-project-name
        name: example-image-name
    network: existing_vpc 20
    controlPlaneSubnet: control_plane_subnet 21
    computeSubnet: compute_subnet 22
pullSecret: '{"auths":{"<local_registry>": {"auth": "<credentials>","email": "you@example.com"}}}' 23
fips: false 24
sshKey: ssh-ed25519 AAAA... 25
additionalTrustBundle: | 26
    -----BEGIN CERTIFICATE-----
    <MY_TRUSTED_CA_CERT>
    -----END CERTIFICATE-----
imageContentSources: 27
- mirrors:
  - <local_registry>/<local_repository_name>/release
  source: quay.io/openshift-release-dev/ocp-release
- mirrors:
  - <local_registry>/<local_repository_name>/release
  source: quay.io/openshift-release-dev/ocp-v4.0-art-dev
1 14 16 17
必須。インストールプログラムはこの値の入力を求めるプロンプトを出します。
2 8
これらのパラメーターおよび値を指定しない場合、インストールプログラムはデフォルトの値を指定します。
3 9
controlPlane セクションは単一マッピングですが、compute セクションはマッピングのシーケンスになります。複数の異なるデータ構造の要件を満たすには、 compute セクションの最初の行はハイフン - で始め、controlPlane セクションの最初の行はハイフンで始めることができません。1 つのコントロールプレーンプールのみが使用されます。
4 10
同時マルチスレッドまたは hyperthreading を有効/無効にするかどうか。デフォルトでは、同時スレッドはマシンのコアのパフォーマンスを上げるために有効にされます。パラメーター値を Disabled に設定するとこれを無効にすることができます。一部のクラスターマシンで同時マルチスレッドを無効にする場合は、これをすべてのクラスターマシンで無効にする必要があります。
重要

同時スレッドを無効にする場合は、容量計画においてマシンパフォーマンスの大幅な低下が考慮に入れられていることを確認します。同時マルチスレッドを無効にする場合は、マシンに対して n1-standard-8 などの大規模なマシンタイプを使用します。

5 11
オプション: 仮想マシンと永続ボリュームの両方を暗号化するカスタム暗号化キーセクション。デフォルトのコンピュートサービスアカウントには、KMS キーを使用するためのパーミッションが付与され、適切な IAM ロールが割り当てられている必要があります。デフォルトのサービスアカウント名は、service-<project_number>@compute-system.iam.gserviceaccount.com パターンをベースにしています。サービスアカウントに適切な権限を付与する方法の詳細については、マシン管理 → コンピュートマシンセットの作成→ GCP でのコンピューティングマシンセットの作成を参照してください。
6 12 18
オプション: コントロールプレーンまたはコンピューティングマシンセットに適用するネットワークタグのセット。platform.gcp.defaultMachinePlatform.tags パラメーターは、コントロールプレーンとコンピュートマシンの両方に適用されます。compute.platform.gcp.tags パラメーターまたは controlPlane.platform.gcp.tags パラメーターが設定されている場合は、platform.gcp.defaultMachinePlatform.tags パラメーターを上書きします。
7 13 19
オプション: インストールプログラムがコントロールプレーンマシンとコンピュートマシンの起動に使用するカスタム Red Hat Enterprise Linux CoreOS (RHCOS) イメージ。platform.gcp.defaultMachinePlatform.osImage の下の project および name パラメーターは、コントロールプレーンマシンとコンピュートマシンの両方に適用されます。controlPlane.platform.gcp.osImage または compute.platform.gcp.osImage の下の project および name パラメーターが設定されている場合、それらは platform.gcp.defaultMachinePlatform.osImage パラメーターをオーバーライドします。
15
インストールするクラスターネットワークプラグイン。サポートされている値は OVNKubernetesOpenShiftSDN です。デフォルトの値は OVNkubernetes です。
20
既存 VPC の名前を指定します。
21
コントロールプレーンマシンをデプロイする既存サブネットの名前を指定します。サブネットは、指定した VPC に属している必要があります。
22
コンピュートマシンをデプロイする既存サブネットの名前を指定します。サブネットは、指定した VPC に属している必要があります。
23
<local_registry> については、レジストリードメイン名と、ミラーレジストリーがコンテンツを提供するために使用するポートをオプションで指定します。例: registry.example.com または registry.example.com:5000<credentials> について、ミラーレジストリーの base64 でエンコードされたユーザー名およびパスワードを指定します。
24
FIPS モードを有効または無効にするかどうか。デフォルトでは、FIPS モードは有効にされません。FIPS モードが有効にされている場合、OpenShift Container Platform が実行される Red Hat Enterprise Linux CoreOS (RHCOS) マシンがデフォルトの Kubernetes 暗号スイートをバイパスし、代わりに RHCOS で提供される暗号モジュールを使用します。
重要

クラスターで FIPS モードを有効にするには、FIPS モードで動作するように設定された Red Hat Enterprise Linux (RHEL) コンピューターからインストールプログラムを実行する必要があります。RHEL での FIPS モードの設定の詳細は、FIPS モードでのシステムのインストール を参照してください。FIPS 検証済み/Modules In Process 暗号ライブラリーの使用は、x86_64ppc64le、および s390x アーキテクチャー上の OpenShift Container Platform デプロイメントでのみサポートされます。

25
クラスター内のマシンにアクセスするために使用する sshKey 値をオプションで指定できます。
注記

インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、ssh-agent プロセスが使用する SSH キーを指定します。

26
ミラーレジストリーに使用した証明書ファイルの内容を指定します。
27
リポジトリーのミラーリングに使用するコマンドの出力の imageContentSources セクションを指定します。

9.7.5.6. GCP にグローバルにアクセスできる Ingress コントローラーの作成

Google Cloud Platform (GCP) クラスターにグローバルにアクセスできる Ingress コントローラーを作成できます。グローバルアクセスは、内部ロードバランサーを使用する Ingress コントローラーでのみ利用できます。

前提条件

  • install-config.yaml を作成し、これに対する変更を完了している。

手順

グローバルアクセスが設定された Ingress コントローラーの新規の GCP クラスターへの作成

  1. インストールプログラムが含まれるディレクトリーに切り替え、マニフェストファイルを作成します。

    $ ./openshift-install create manifests --dir <installation_directory> 1
    1
    <installation_directory> については、クラスターの install-config.yaml ファイルが含まれるディレクトリーの名前を指定します。
  2. cluster-ingress-default-ingresscontroller.yaml という名前のファイルを <installation_directory>/manifests/ ディレクトリーに作成します。

    $ touch <installation_directory>/manifests/cluster-ingress-default-ingresscontroller.yaml 1
    1
    <installation_directory> については、クラスターの manifests/ ディレクトリーが含まれるディレクトリー名を指定します。

    ファイルの作成後は、以下のようにいくつかのネットワーク設定ファイルが manifests/ ディレクトリーに置かれます。

    $ ls <installation_directory>/manifests/cluster-ingress-default-ingresscontroller.yaml

    出力例

    cluster-ingress-default-ingresscontroller.yaml

  3. エディターで cluster-ingress-default-ingresscontroller.yaml ファイルを開き、必要な Operator 設定を記述するカスタムリソース (CR) を入力します。

    サンプル clientAccess 設定を Global に設定します。

      apiVersion: operator.openshift.io/v1
      kind: IngressController
      metadata:
        name: default
        namespace: openshift-ingress-operator
      spec:
        endpointPublishingStrategy:
          loadBalancer:
            providerParameters:
              gcp:
                clientAccess: Global 1
              type: GCP
            scope: Internal          2
          type: LoadBalancerService

    1
    gcp.clientAccessGlobal に設定します。
    2
    グローバルアクセスは、内部ロードバランサーを使用する Ingress コントローラーでのみ利用できます。

9.7.5.7. インストール時のクラスター全体のプロキシーの設定

実稼働環境では、インターネットへの直接アクセスを拒否し、代わりに HTTP または HTTPS プロキシーを使用することができます。プロキシー設定を install-config.yaml ファイルで行うことにより、新規の OpenShift Container Platform クラスターをプロキシーを使用するように設定できます。

前提条件

  • 既存の install-config.yaml ファイルがある。
  • クラスターがアクセスする必要のあるサイトを確認済みで、それらのいずれかがプロキシーをバイパスする必要があるかどうかを判別している。デフォルトで、すべてのクラスター egress トラフィック (クラスターをホストするクラウドについてのクラウドプロバイダー API に対する呼び出しを含む) はプロキシーされます。プロキシーを必要に応じてバイパスするために、サイトを Proxy オブジェクトの spec.noProxy フィールドに追加している。

    注記

    Proxy オブジェクトの status.noProxy フィールドには、インストール設定の networking.machineNetwork[].cidrnetworking.clusterNetwork[].cidr、および networking.serviceNetwork[] フィールドの値が設定されます。

    Amazon Web Services (AWS)、Google Cloud Platform (GCP)、Microsoft Azure、および Red Hat OpenStack Platform (RHOSP) へのインストールの場合、Proxy オブジェクトの status.noProxy フィールドには、インスタンスメタデータのエンドポイント (169.254.169.254) も設定されます。

手順

  1. install-config.yaml ファイルを編集し、プロキシー設定を追加します。以下に例を示します。

    apiVersion: v1
    baseDomain: my.domain.com
    proxy:
      httpProxy: http://<username>:<pswd>@<ip>:<port> 1
      httpsProxy: https://<username>:<pswd>@<ip>:<port> 2
      noProxy: example.com 3
    additionalTrustBundle: | 4
        -----BEGIN CERTIFICATE-----
        <MY_TRUSTED_CA_CERT>
        -----END CERTIFICATE-----
    additionalTrustBundlePolicy: <policy_to_add_additionalTrustBundle> 5
    1
    クラスター外の HTTP 接続を作成するために使用するプロキシー URL。URL スキームは http である必要があります。
    2
    クラスター外で HTTPS 接続を作成するために使用するプロキシー URL。
    3
    プロキシーから除外するための宛先ドメイン名、IP アドレス、または他のネットワーク CIDR のコンマ区切りのリスト。サブドメインのみと一致するように、ドメインの前に . を付けます。たとえば、.y.comx.y.com に一致しますが、 y.com には一致しません。* を使用し、すべての宛先のプロキシーをバイパスします。
    4
    指定されている場合、インストールプログラムは HTTPS 接続のプロキシーに必要な 1 つ以上の追加の CA 証明書が含まれる user-ca-bundle という名前の設定マップを openshift-config namespace に生成します。次に Cluster Network Operator は、これらのコンテンツを Red Hat Enterprise Linux CoreOS (RHCOS) 信頼バンドルにマージする trusted-ca-bundle 設定マップを作成し、この設定マップは Proxy オブジェクトの trustedCA フィールドで参照されます。additionalTrustBundle フィールドは、プロキシーのアイデンティティー証明書が RHCOS 信頼バンドルからの認証局によって署名されない限り必要になります。
    5
    オプション: trustedCA フィールドの user-ca-bundle 設定マップを参照する Proxy オブジェクトの設定を決定するポリシー。許可される値は Proxyonly および Always です。Proxyonly を使用して、http/https プロキシーが設定されている場合にのみ user-ca-bundle 設定マップを参照します。Always を使用して、常に user-ca-bundle 設定マップを参照します。デフォルト値は Proxyonly です。
    注記

    インストールプログラムは、プロキシーの readinessEndpoints フィールドをサポートしません。

    注記

    インストーラーがタイムアウトした場合は、インストーラーの wait-for コマンドを使用してデプロイメントを再起動してからデプロイメントを完了します。以下に例を示します。

    $ ./openshift-install wait-for install-complete --log-level debug
  2. ファイルを保存し、OpenShift Container Platform のインストール時にこれを参照します。

インストールプログラムは、指定の install-config.yaml ファイルのプロキシー設定を使用する cluster という名前のクラスター全体のプロキシーを作成します。プロキシー設定が指定されていない場合、cluster Proxy オブジェクトが依然として作成されますが、これには spec がありません。

注記

cluster という名前の Proxy オブジェクトのみがサポートされ、追加のプロキシーを作成することはできません。

9.7.6. クラスターのデプロイ

互換性のあるクラウドプラットフォームに OpenShift Container Platform をインストールできます。

重要

インストールプログラムの create cluster コマンドは、初期インストール時に 1 回だけ実行できます。

前提条件

  • クラスターをホストするクラウドプラットフォームでアカウントを設定します。
  • OpenShift Container Platform インストールプログラム、およびクラスターのプルシークレットを取得する。
  • ホスト上のクラウドプロバイダーアカウントに、クラスターをデプロイするための適切な権限があることを確認してください。アカウントの権限が正しくないと、インストールプロセスが失敗し、不足している権限を示すエラーメッセージが表示されます。

手順

  1. クラスターに設定した GCP アカウントのサービスアカウントキーを使用しない既存の GCP 認証情報で、以下の場所に保存されているものを削除します。

    • GOOGLE_CREDENTIALSGOOGLE_CLOUD_KEYFILE_JSON、または GCLOUD_KEYFILE_JSON 環境変数
    • ~/.gcp/osServiceAccount.json ファイル
    • gcloud cli デフォルト認証情報
  2. インストールプログラムが含まれるディレクトリーに切り替え、クラスターのデプロイメントを初期化します。

    $ ./openshift-install create cluster --dir <installation_directory> \ 1
        --log-level=info 2
    1
    <installation_directory> については、カスタマイズした ./install-config.yaml ファイルの場所を指定します。
    2
    異なるインストールの詳細情報を表示するには、info ではなく、warndebug、または error を指定します。
    注記

    ホストに設定したクラウドプロバイダーアカウントにクラスターをデプロイするための十分なパーミッションがない場合、インストールプロセスは停止し、不足しているパーミッションが表示されます。

  3. オプション: クラスターをインストールするために使用したサービスアカウントのパーミッションの数を減らすことができます。

    • Owner ロールをサービスアカウントに割り当てている場合、 そのロールを削除し、これを Viewer ロールに置き換えることができます。
    • Service Account Key Admin ロールが含まれている場合は、これを削除することができます。

検証

クラスターのデプロイが正常に完了すると、次のようになります。

  • ターミナルには、Web コンソールへのリンクや kubeadmin ユーザーの認証情報など、クラスターにアクセスするための指示が表示されます。
  • 認証情報は <installation_directory>/.openshift_install.log にも出力されます。
重要

インストールプログラム、またはインストールプログラムが作成するファイルを削除することはできません。これらはいずれもクラスターを削除するために必要になります。

出力例

...
INFO Install complete!
INFO To access the cluster as the system:admin user when using 'oc', run 'export KUBECONFIG=/home/myuser/install_dir/auth/kubeconfig'
INFO Access the OpenShift web-console here: https://console-openshift-console.apps.mycluster.example.com
INFO Login to the console with user: "kubeadmin", and password: "password"
INFO Time elapsed: 36m22s

重要
  • インストールプログラムが生成する Ignition 設定ファイルには、24 時間が経過すると期限切れになり、その後に更新される証明書が含まれます。証明書を更新する前にクラスターが停止し、24 時間経過した後にクラスターを再起動すると、クラスターは期限切れの証明書を自動的に復元します。例外として、kubelet 証明書を回復するために保留状態の node-bootstrapper 証明書署名要求 (CSR) を手動で承認する必要があります。詳細は、コントロールプレーン証明書の期限切れの状態からのリカバリー についてのドキュメントを参照してください。
  • 24 時間証明書はクラスターのインストール後 16 時間から 22 時間にローテーションするため、Ignition 設定ファイルは、生成後 12 時間以内に使用することを推奨します。12 時間以内に Ignition 設定ファイルを使用することにより、インストール中に証明書の更新が実行された場合のインストールの失敗を回避できます。

9.7.7. バイナリーのダウンロードによる OpenShift CLI のインストール

コマンドラインインターフェイスを使用して OpenShift Container Platform と対話するために CLI (oc) をインストールすることができます。oc は Linux、Windows、または macOS にインストールできます。

重要

以前のバージョンの oc をインストールしている場合、これを使用して OpenShift Container Platform 4.12 のすべてのコマンドを実行することはできません。新規バージョンの oc をダウンロードし、インストールします。

Linux への OpenShift CLI のインストール

以下の手順を使用して、OpenShift CLI (oc) バイナリーを Linux にインストールできます。

手順

  1. Red Hat カスタマーポータルの OpenShift Container Platform ダウンロードページ に移動します。
  2. Product Variant ドロップダウンリストからアーキテクチャーを選択します。
  3. バージョン ドロップダウンリストから適切なバージョンを選択します。
  4. OpenShift v4.12 Linux Client エントリーの横にある Download Now をクリックして、ファイルを保存します。
  5. アーカイブを展開します。

    $ tar xvf <file>
  6. oc バイナリーを、PATH にあるディレクトリーに配置します。

    PATH を確認するには、以下のコマンドを実行します。

    $ echo $PATH

検証

  • OpenShift CLI のインストール後に、oc コマンドを使用して利用できます。

    $ oc <command>
Windows への OpenShift CLI のインストール

以下の手順を使用して、OpenShift CLI (oc) バイナリーを Windows にインストールできます。

手順

  1. Red Hat カスタマーポータルの OpenShift Container Platform ダウンロードページ に移動します。
  2. バージョン ドロップダウンリストから適切なバージョンを選択します。
  3. OpenShift v4.12 Windows Client エントリーの横にある Download Now をクリックして、ファイルを保存します。
  4. ZIP プログラムでアーカイブを解凍します。
  5. oc バイナリーを、PATH にあるディレクトリーに移動します。

    PATH を確認するには、コマンドプロンプトを開いて以下のコマンドを実行します。

    C:\> path

検証

  • OpenShift CLI のインストール後に、oc コマンドを使用して利用できます。

    C:\> oc <command>
macOC への OpenShift CLI のインストール

以下の手順を使用して、OpenShift CLI (oc) バイナリーを macOS にインストールできます。

手順

  1. Red Hat カスタマーポータルの OpenShift Container Platform ダウンロードページ に移動します。
  2. バージョン ドロップダウンリストから適切なバージョンを選択します。
  3. OpenShift v4.12 macOS Client エントリーの横にある Download Now をクリックして、ファイルを保存します。

    注記

    macOS arm64 の場合は、OpenShift v4.12 macOS arm64 Client エントリーを選択します。

  4. アーカイブを展開し、解凍します。
  5. oc バイナリーをパスにあるディレクトリーに移動します。

    PATH を確認するには、ターミナルを開き、以下のコマンドを実行します。

    $ echo $PATH

検証

  • OpenShift CLI のインストール後に、oc コマンドを使用して利用できます。

    $ oc <command>

9.7.8. CLI の使用によるクラスターへのログイン

クラスター kubeconfig ファイルをエクスポートし、デフォルトシステムユーザーとしてクラスターにログインできます。kubeconfig ファイルには、クライアントを正しいクラスターおよび API サーバーに接続するために CLI で使用されるクラスターについての情報が含まれます。このファイルはクラスターに固有のファイルであり、OpenShift Container Platform のインストール時に作成されます。

前提条件

  • OpenShift Container Platform クラスターをデプロイしていること。
  • oc CLI をインストールしていること。

手順

  1. kubeadmin 認証情報をエクスポートします。

    $ export KUBECONFIG=<installation_directory>/auth/kubeconfig 1
    1
    <installation_directory> には、インストールファイルを保存したディレクトリーへのパスを指定します。
  2. エクスポートされた設定を使用して、oc コマンドを正常に実行できることを確認します。

    $ oc whoami

    出力例

    system:admin

9.7.9. デフォルトの OperatorHub カタログソースの無効化

Red Hat によって提供されるコンテンツを調達する Operator カタログおよびコミュニティープロジェクトは、OpenShift Container Platform のインストール時にデフォルトで OperatorHub に設定されます。ネットワークが制限された環境では、クラスター管理者としてデフォルトのカタログを無効にする必要があります。

手順

  • disableAllDefaultSources: trueOperatorHub オブジェクトに追加して、デフォルトカタログのソースを無効にします。

    $ oc patch OperatorHub cluster --type json \
        -p '[{"op": "add", "path": "/spec/disableAllDefaultSources", "value": true}]'
ヒント

または、Web コンソールを使用してカタログソースを管理できます。AdministrationCluster SettingsConfigurationOperatorHub ページから、Sources タブをクリックして、個別のソースを作成、更新、削除、無効化、有効化できます。

9.7.10. OpenShift Container Platform の Telemetry アクセス

OpenShift Container Platform 4.12 では、クラスターの健全性および正常に実行された更新についてのメトリクスを提供するためにデフォルトで実行される Telemetry サービスにもインターネットアクセスが必要です。クラスターがインターネットに接続されている場合、Telemetry は自動的に実行され、クラスターは OpenShift Cluster Manager Hybrid Cloud Console に登録されます。

OpenShift Cluster Manager インベントリーが正常である (Telemetry によって自動的に維持、または OpenShift Cluster Manager Hybrid Cloud Console を使用して手動で維持) ことを確認した後に、subscription watch を使用 して、アカウントまたはマルチクラスターレベルで OpenShift Container Platform サブスクリプションを追跡します。

関連情報

9.7.11. 次のステップ