7.5. インストール設定ファイルの作成
Google Cloud Platform (GCP) にインストールする OpenShift Container Platform クラスターをカスタマイズできます。
前提条件
- OpenShift Container Platform インストールプログラム、およびクラスターのプルシークレットを取得する。ネットワークが制限されたインストールでは、これらのファイルがミラーホスト上に置かれます。
-
ミラーレジストリーの作成時に生成された
imageContentSources
値を使用します。 - ミラーレジストリーの証明書の内容を取得する。
- サブスクリプションレベルでサービスプリンシパルのパーミッションを取得する。
手順
install-config.yaml
ファイルを作成します。インストールプログラムが含まれるディレクトリーに切り替え、以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ./openshift-install create install-config --dir <installation_directory>
$ ./openshift-install create install-config --dir <installation_directory>
1 - 1
<installation_directory>
の場合、インストールプログラムが作成するファイルを保存するためにディレクトリー名を指定します。
ディレクトリーを指定する場合:
-
ディレクトリーに
execute
権限があることを確認します。この権限は、インストールディレクトリーで Terraform バイナリーを実行するために必要です。 - 空のディレクトリーを使用します。ブートストラップ X.509 証明書などの一部のインストールアセットは有効期限が短いため、インストールディレクトリーを再利用しないでください。別のクラスターインストールの個別のファイルを再利用する必要がある場合は、それらをディレクトリーにコピーすることができます。ただし、インストールアセットのファイル名はリリース間で変更される可能性があります。インストールファイルを以前のバージョンの OpenShift Container Platform からコピーする場合は注意してコピーを行ってください。
プロンプト時に、クラウドの設定の詳細情報を指定します。
オプション: クラスターマシンにアクセスするために使用する SSH キーを選択します。
注記インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、
ssh-agent
プロセスが使用する SSH キーを指定します。- ターゲットに設定するプラットフォームとして gcp を選択します。
- コンピューター上で GCP アカウント用のサービスアカウントキーを設定していない場合、GCP からこれを取得してファイルの内容を貼り付けるか、ファイルへの絶対パスを入力する必要があります。
- クラスターのプロビジョニングに使用するプロジェクト ID を選択します。デフォルト値は、設定したサービスアカウントによって指定されます。
- クラスターをデプロイするリージョンを選択します。
- クラスターをデプロイするベースドメインを選択します。ベースドメインは、クラスターに作成したパブリック DNS ゾーンに対応します。
- クラスターの記述名を入力します。
- Red Hat OpenShift Cluster Manager からプルシークレット を貼り付けます。
install-config.yaml
ファイルを編集し、ネットワークが制限された環境でのインストールに必要な追加の情報を提供します。pullSecret
の値を更新して、レジストリーの認証情報を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow pullSecret: '{"auths":{"<mirror_host_name>:5000": {"auth": "<credentials>","email": "you@example.com"}}}'
pullSecret: '{"auths":{"<mirror_host_name>:5000": {"auth": "<credentials>","email": "you@example.com"}}}'
<mirror_host_name>
の場合、ミラーレジストリーの証明書で指定したレジストリードメイン名を指定し、<credentials>
の場合は、ミラーレジストリーの base64 でエンコードされたユーザー名およびパスワードを指定します。additionalTrustBundle
パラメーターおよび値を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow additionalTrustBundle: | -----BEGIN CERTIFICATE----- ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ -----END CERTIFICATE-----
additionalTrustBundle: | -----BEGIN CERTIFICATE----- ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ -----END CERTIFICATE-----
この値は、ミラーレジストリーに使用した証明書ファイルの内容である必要があります。証明書ファイルは、既存の信頼できる認証局、またはミラーレジストリー用に生成した自己署名証明書のいずれかです。
VPC のネットワークおよびサブネットを定義して、親の
platform.gcp
フィールドの下にクラスターをインストールします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow network: <existing_vpc> controlPlaneSubnet: <control_plane_subnet> computeSubnet: <compute_subnet>
network: <existing_vpc> controlPlaneSubnet: <control_plane_subnet> computeSubnet: <compute_subnet>
platform.gcp.network
には、既存の Google VPC の名前を指定します。platform.gcp.controlPlaneSubnet
およびplatform.gcp.computeSubnet
の場合には、コントロールプレーンマシンとコンピュートマシンをそれぞれデプロイするために既存のサブネットを指定します。次の YAML の抜粋のようなイメージコンテンツリソースを追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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: - 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
を使用します。
-
必要な
install-config.yaml
ファイルに他の変更を加えます。利用可能なパラメーターの詳細については、インストール設定パラメーターセクションを参照してください。 install-config.yaml
ファイルをバックアップし、複数のクラスターをインストールするのに使用できるようにします。重要install-config.yaml
ファイルはインストールプロセス時に使用されます。このファイルを再利用する必要がある場合は、この段階でこれをバックアップしてください。
7.5.1. インストール設定パラメーター
OpenShift Container Platform クラスターをデプロイする前に、クラスターをホストするクラウドプラットフォームでアカウントを記述し、クラスターのプラットフォームをオプションでカスタマイズするためにパラメーターの値を指定します。install-config.yaml
インストール設定ファイルを作成する際に、コマンドラインで必要なパラメーターの値を指定します。クラスターをカスタマイズする場合、install-config.yaml
ファイルを変更して、プラットフォームについての詳細情報を指定できます。
インストール後は、これらのパラメーターを install-config.yaml
ファイルで変更することはできません。
7.5.1.1. 必須設定パラメーター
必須のインストール設定パラメーターは、以下の表で説明されています。
パラメーター | 説明 | 値 |
---|---|---|
|
| 文字列 |
|
クラウドプロバイダーのベースドメイン。ベースドメインは、OpenShift Container Platform クラスターコンポーネントへのルートを作成するために使用されます。クラスターの完全な DNS 名は、 |
|
|
Kubernetes リソース | オブジェクト |
|
クラスターの名前。クラスターの DNS レコードはすべて |
|
|
インストールを実行する特定のプラットフォームの設定: | オブジェクト |
| 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" } } }
|
7.5.1.2. ネットワーク設定パラメーター
既存のネットワークインフラストラクチャーの要件に基づいて、インストール設定をカスタマイズできます。たとえば、クラスターネットワークの IP アドレスブロックを拡張するか、デフォルトとは異なる IP アドレスブロックを指定できます。
IPv4 アドレスのみがサポートされます。
Globalnet は、Red Hat OpenShift Data Foundation ディザスターリカバリーソリューションではサポートされていません。局地的なディザスターリカバリーのシナリオでは、各クラスター内のクラスターとサービスネットワークに重複しない範囲のプライベート IP アドレスを使用するようにしてください。
パラメーター | 説明 | 値 |
---|---|---|
| クラスターのネットワークの設定。 | オブジェクト 注記
インストール後に |
| インストールする Red Hat OpenShift Networking ネットワークプラグイン。 |
|
| Pod の IP アドレスブロック。
デフォルト値は 複数の IP アドレスブロックを指定する場合は、ブロックが重複しないようにしてください。 | オブジェクトの配列。以下に例を示します。 networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23
|
|
IPv4 ネットワーク |
CIDR (Classless Inter-Domain Routing) 表記の IP アドレスブロック。IPv4 ブロックの接頭辞長は |
|
それぞれの個別ノードに割り当てるサブネット接頭辞長。たとえば、 | サブネット接頭辞。
デフォルト値は |
|
サービスの IP アドレスブロック。デフォルト値は OpenShift SDN および OVN-Kubernetes ネットワークプラグインは、サービスネットワークの単一 IP アドレスブロックのみをサポートします。 | CIDR 形式の IP アドレスブロックを持つ配列。以下に例を示します。 networking: serviceNetwork: - 172.30.0.0/16
|
| マシンの IP アドレスブロック。 複数の IP アドレスブロックを指定する場合は、ブロックが重複しないようにしてください。 | オブジェクトの配列。以下に例を示します。 networking: machineNetwork: - cidr: 10.0.0.0/16
|
|
| CIDR 表記の IP ネットワークブロック。
例: 注記
優先される NIC が置かれている CIDR に一致する |
7.5.1.3. オプションの設定パラメーター
オプションのインストール設定パラメーターは、以下の表で説明されています。
パラメーター | 説明 | 値 |
---|---|---|
| ノードの信頼済み証明書ストアに追加される PEM でエンコードされた X.509 証明書バンドル。この信頼バンドルは、プロキシーが設定される際にも使用できます。 | 文字列 |
| オプションのコアクラスターコンポーネントのインストールを制御します。オプションのコンポーネントを無効にすることで、OpenShift Container Platform クラスターのフットプリントを削減できます。詳細は、インストール の「クラスター機能ページ」を参照してください。 | 文字列配列 |
|
有効にするオプション機能の初期セットを選択します。有効な値は | 文字列 |
|
オプションの機能のセットを、 | 文字列配列 |
| コンピュートノードを設定するマシンの設定。 |
|
|
プール内のマシンの命令セットアーキテクチャーを決定します。現在、さまざまなアーキテクチャーのクラスターはサポートされていません。すべてのプールは同じアーキテクチャーを指定する必要があります。有効な値は | 文字列 |
|
コンピュートマシンで同時マルチスレッドまたは 重要 同時スレッドを無効にする場合は、容量計画においてマシンパフォーマンスの大幅な低下が考慮に入れられていることを確認します。 |
|
|
|
|
|
|
|
| プロビジョニングするコンピュートマシン (ワーカーマシンとしても知られる) の数。 |
|
| 機能セットのクラスターを有効にします。機能セットは、デフォルトで有効にされない OpenShift Container Platform 機能のコレクションです。インストール中に機能セットを有効にする方法の詳細は、「機能ゲートの使用による各種機能の有効化」を参照してください。 |
文字列。 |
| コントロールプレーンを設定するマシンの設定。 |
|
|
プール内のマシンの命令セットアーキテクチャーを決定します。現在、さまざまなアーキテクチャーのクラスターはサポートされていません。すべてのプールは同じアーキテクチャーを指定する必要があります。有効な値は | 文字列 |
|
コントロールプレーンマシンで同時マルチスレッドまたは 重要 同時スレッドを無効にする場合は、容量計画においてマシンパフォーマンスの大幅な低下が考慮に入れられていることを確認します。 |
|
|
|
|
|
|
|
| プロビジョニングするコントロールプレーンマシンの数。 |
サポートされる値は |
|
Cloud Credential Operator (CCO) モード。モードを指定しないと、CCO は指定された認証情報の機能を動的に判別しようとします。この場合、複数のモードがサポートされるプラットフォームで Mint モードが優先されます。GCP で共有 Virtual Private Cloud (VPC) にインストールする場合は、 注記 すべてのクラウドプロバイダーですべての CCO モードがサポートされているわけではありません。CCO モードの詳細は、Cluster Operators リファレンス の Cloud Credential Operator を参照してください。 注記
AWS アカウントでサービスコントロールポリシー (SCP) が有効になっている場合は、 |
|
|
FIPS モードを有効または無効にします。デフォルトは 重要
クラスターで FIPS モードを有効にするには、FIPS モードで動作するように設定された Red Hat Enterprise Linux (RHEL) コンピューターからインストールプログラムを実行する必要があります。RHEL での FIPS モードの設定の詳細は、FIPS モードでのシステムのインストール を参照してください。FIPS 検証済み/Modules In Process 暗号ライブラリーの使用は、 注記 Azure File ストレージを使用している場合、FIPS モードを有効にすることはできません。 |
|
| release-image コンテンツのソースおよびリポジトリー。 |
オブジェクトの配列。この表の以下の行で説明されているように、 |
|
| 文字列 |
| 同じイメージが含まれる可能性のあるリポジトリーを 1 つ以上指定します。 | 文字列の配列。 |
| Kubernetes API、OpenShift ルートなどのクラスターのユーザーに表示されるエンドポイントをパブリッシュまたは公開する方法。 |
|
| クラスターマシンへのアクセスを認証するための SSH キー。 注記
インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、 |
たとえば、 |
7.5.1.4. 追加の Google Cloud Platform (GCP) 設定パラメーター
追加の GCP 設定パラメーターは以下の表で説明されています。
パラメーター | 説明 | 値 |
---|---|---|
|
クラスターをデプロイする既存 Virtual Private Cloud (VPC) の名前。クラスターを共有 VPC にデプロイする場合は、共有 VPC を含む GCP プロジェクトの名前で | 文字列。 |
| オプション:クラスターをデプロイする共有 VPC を含む GCP プロジェクトの名前。 | 文字列。 |
| インストールプログラムがクラスターをインストールする GCP プロジェクトの名前。 | 文字列。 |
| クラスターをホストする GCP リージョンの名前。 |
有効なリージョン名 (例: |
| コントロールプレーンマシンをデプロイする既存サブネットの名前。 | サブネット名。 |
| コンピュートマシンをデプロイする既存サブネットの名前。 | サブネット名。 |
|
オプション:ネットワークタグを使用してファイアウォールルールを作成および管理する場合は、この値を |
|
|
オプション:パブリック DNS ゾーンを含むプロジェクトの名前。この値を設定する場合、サービスアカウントには、指定されたプロジェクトでの | パブリック DNS ゾーンを含むプロジェクトの名前。 |
|
オプション:既存パブリック DNS ゾーンの ID または名前。パブリック DNS ゾーンのドメインは、 | パブリック DNS ゾーンの名前。 |
|
オプション:プライベート DNS ゾーンを含むプロジェクトの名前。この値を設定する場合、サービスアカウントには、ホストプロジェクトでの | プライベート DNS ゾーンを含むプロジェクトの名前。 |
| オプション:既存プライベート DNS ゾーンの ID または名前。この値を設定しない場合、インストールプログラムはサービスプロジェクトにプライベート DNS ゾーンを作成します。 | プライベート DNS ゾーンの名前。 |
| コンピューティングイメージに適用する必要があるライセンス URL のリスト。 重要
| ネストされた仮想化 を有効にするライセンスなど、ライセンス API で使用可能なすべてのライセンス。このパラメーターは、ビルド済みのイメージを生成するメカニズムでは使用できません。ライセンス URL を使用すると、インストールプログラムは使用する前にソースイメージをコピーする必要があります。 |
| インストールプログラムがマシンを作成するアベイラビリティーゾーン。 |
YAML シーケンス の |
| ディスクのサイズ (GB 単位)。 | 16 GB から 65536 GB の間のサイズ |
|
デフォルトの | |
| オプション: デフォルトで、インストールプログラムは、コントロールプレーンおよびコンピュートマシンの起動に使用される RHCOS イメージをダウンロードしてインストールします。両方のタイプのマシンで使用するインストールプログラムのカスタム RHCOS イメージの場所を指定することで、デフォルトの動作をオーバーライドできます。 | 文字列。イメージが置かれている GCP プロジェクトの名前。 |
|
インストールプログラムがコントロールプレーンとコンピュートマシンの起動に使用するカスタム RHCOS イメージの名前。 | 文字列。RHCOS イメージの名前。 |
| オプション:コントロールプレーンおよびコンピュートマシンに追加する別のネットワークタグ。 |
|
| コントロールプレーンおよびコンピュートマシンの GCP マシンタイプ。 |
|
| マシンのディスク暗号化に使用されるお客様が管理する暗号化キーの名前。 | 暗号化キー名。 |
| KMS キーが属する Key Management Service (KMS) キーリングの名前。 | KMS キーリング名。 |
| KMS キーリングが存在する GCP の場所。 | GCP の場所。 |
|
KMS キーリングが存在するプロジェクトの ID。この値は、設定されていない場合、デフォルトで | GCP プロジェクト ID |
| コントロールプレーンおよびコンピュートマシンの暗号化要求に使用される GCP サービスアカウント。存在しない場合には、Compute Engine のデフォルトのサービスアカウントが使用されます。GCP サービスアカウントの詳細は、Google のドキュメントの service accounts を参照してください。 |
|
| コントロールプレーンマシンのディスク暗号化に使用されるお客様が管理する暗号化キーの名前。 | 暗号化キー名。 |
| コントロールプレーンマシンの場合、KMS キーが属する KMS キーリングの名前。 | KMS キーリング名。 |
| コントロールプレーンマシンの場合、キーリングが存在する GCP の場所。KMS の場所の詳細は、Google のドキュメント Cloud KMS locations を参照してください。 | キーリングの GCP の場所。 |
| コントロールプレーンマシンの場合、KMS キーリングが存在するプロジェクトの ID。設定されていない場合、この値は VM プロジェクト ID にデフォルト設定されます。 | GCP プロジェクト ID |
| コントロールプレーンマシンの暗号化要求に使用される GCP サービスアカウント。存在しない場合には、Compute Engine のデフォルトのサービスアカウントが使用されます。GCP サービスアカウントの詳細は、Google のドキュメントの service accounts を参照してください。 |
|
| ディスクのサイズ (GB 単位)。この値はコントロールプレーンマシンに適用されます。 | 16 から 65536 までの整数。 |
| コントロールプレーンマシンの GCP ディスクタイプ。 |
コントロールプレーンマシンは、デフォルトの |
| オプション: デフォルトで、インストールプログラムは、コントロールプレーンおよびコンピュートマシンの起動に使用する Red Hat Enterprise Linux CoreOS (RHCOS) イメージをダウンロードしてインストールします。コントロールプレーンマシンのみで使用するインストールプログラムのカスタム RHCOS イメージの場所を指定することで、デフォルトの動作をオーバーライドできます。 | 文字列。イメージが置かれている GCP プロジェクトの名前。 |
|
インストールプログラムがコントロールプレーンマシンの起動に使用するカスタム RHCOS イメージの名前。 | 文字列。RHCOS イメージの名前。 |
|
オプション:コントロールプレーンマシンに追加する別のネットワークタグ。このパラメーターを設定すると、コントロールプレーンマシンの |
|
|
コントロールプレーン マシンの GCP マシンタイプ。設定されている場合、このパラメーターは |
|
| インストールプログラムがコントロールプレーンマシンを作成するアベイラビリティーゾーン。 |
YAML シーケンス の |
| コントロールマシンのディスク暗号化に使用されるお客様が管理する暗号化キーの名前。 | 暗号化キー名。 |
| コンピュートマシンの場合、KMS キーが属する KMS キーリングの名前。 | KMS キーリング名。 |
| コンピュートマシンの場合、キーリングが存在する GCP の場所。KMS の場所の詳細は、Google のドキュメント Cloud KMS locations を参照してください。 | キーリングの GCP の場所。 |
| コンピュートマシンの場合、KMS キーリングが存在するプロジェクトの ID。設定されていない場合、この値は VM プロジェクト ID にデフォルト設定されます。 | GCP プロジェクト ID |
| コンピュートマシンの暗号化要求に使用される GCP サービスアカウント。この値が設定されていない場合には、Compute Engine のデフォルトのサービスアカウントが使用されます。GCP サービスアカウントの詳細は、Google のドキュメントの service accounts を参照してください。 |
|
| ディスクのサイズ (GB 単位)。この値はコンピュートマシンに適用されます。 | 16 から 65536 までの整数。 |
| コンピュートマシンの GCP ディスクタイプ。 |
デフォルトの |
| オプション: デフォルトで、インストールプログラムはコンピュートマシンの起動に使用する RHCOS イメージをダウンロードしてインストールします。コンピュートマシンのみで使用するインストールプログラムのカスタム RHCOS イメージの場所を指定することで、デフォルトの動作をオーバーライドできます。 | 文字列。イメージが置かれている GCP プロジェクトの名前。 |
|
インストールプログラムがコンピュートマシンの起動に使用するカスタム RHCOS イメージの名前。 | 文字列。RHCOS イメージの名前。 |
|
オプション:コンピュートマシンに追加する別のネットワークタグ。このパラメーターを設定すると、コンピュートマシンの |
|
|
コンピュートマシンの GCP マシンタイプ。設定されている場合、このパラメーターは |
|
| インストールプログラムがコンピュートマシンを作成するアベイラビリティーゾーン。 |
YAML シーケンス の |
7.5.2. クラスターインストールの最小リソース要件
それぞれのクラスターマシンは、以下の最小要件を満たしている必要があります。
マシン | オペレーティングシステム | 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 vCPU は、同時マルチスレッド (SMT) またはハイパースレッディングが有効にされていない場合に 1 つの物理コアと同等です。これが有効にされている場合、以下の数式を使用して対応する比率を計算します: (コアごとのスレッド × コア数) × ソケット数 = vCPU
- OpenShift Container Platform および Kubernetes はディスクのパフォーマンスに敏感であり、特に 10 ms p99 fsync 期間を必要とするコントロールプレーンノード上の etcd には、高速ストレージが推奨されます。多くのクラウドプラットフォームでは、ストレージサイズと IOPS スケールが一緒にあるため、十分なパフォーマンスを得るためにストレージボリュームの割り当てが必要になる場合があります。
- すべての user-provisioned installation と同様に、クラスターで RHEL コンピュートマシンの使用を選択する場合は、システム更新の実行、パッチの適用、その他すべての必要なタスクの完了など、オペレーティングシステムのライフサイクルの管理と保守をすべて担当します。RHEL 7 コンピューティングマシンの使用は推奨されておらず、OpenShift Container Platform 4.10 以降では削除されています。
プラットフォームのインスタンスタイプがクラスターマシンの最小要件を満たす場合、これは OpenShift Container Platform で使用することがサポートされます。
関連情報
7.5.3. GCP のテスト済みインスタンスタイプ
以下の Google Cloud Platform インスタンスタイプは OpenShift Container Platform でテストされています。
例7.1 マシンのシリーズ
-
A2
-
A3
-
C2
-
C2D
-
C3
-
C3D
-
C4
-
E2
-
M1
-
N1
-
N2
-
N2D
-
N4
-
Tau T2D
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
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
7.5.5. GCP のカスタマイズされた install-config.yaml ファイルのサンプル
install-config.yaml
ファイルをカスタマイズして、OpenShift Container Platform クラスターのプラットフォームに関する詳細を指定するか、必要なパラメーターの値を変更することができます。
このサンプルの YAML ファイルは参照用にのみ提供されます。インストールプログラムを使用して install-config.yaml
ファイルを取得し、これを変更する必要があります。
apiVersion: v1 baseDomain: example.com controlPlane: hyperthreading: Enabled name: master platform: gcp: type: n2-standard-4 zones: - us-central1-a - us-central1-c osDisk: diskType: pd-ssd diskSizeGB: 1024 encryptionKey: kmsKey: name: worker-key keyRing: test-machine-keys location: global projectID: project-id tags: - control-plane-tag1 - control-plane-tag2 osImage: project: example-project-name name: example-image-name replicas: 3 compute: - hyperthreading: Enabled name: worker platform: gcp: type: n2-standard-4 zones: - us-central1-a - us-central1-c osDisk: diskType: pd-standard diskSizeGB: 128 encryptionKey: kmsKey: name: worker-key keyRing: test-machine-keys location: global projectID: project-id tags: - compute-tag1 - compute-tag2 osImage: project: example-project-name name: example-image-name replicas: 3 metadata: name: test-cluster networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 machineNetwork: - cidr: 10.0.0.0/16 networkType: OVNKubernetes serviceNetwork: - 172.30.0.0/16 platform: gcp: projectID: openshift-production region: us-central1 defaultMachinePlatform: tags: - global-tag1 - global-tag2 osImage: project: example-project-name name: example-image-name network: existing_vpc controlPlaneSubnet: control_plane_subnet computeSubnet: compute_subnet pullSecret: '{"auths":{"<local_registry>": {"auth": "<credentials>","email": "you@example.com"}}}' fips: false sshKey: ssh-ed25519 AAAA... additionalTrustBundle: | -----BEGIN CERTIFICATE----- <MY_TRUSTED_CA_CERT> -----END CERTIFICATE----- imageContentSources: - 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
apiVersion: v1
baseDomain: example.com
controlPlane:
hyperthreading: Enabled
name: master
platform:
gcp:
type: n2-standard-4
zones:
- us-central1-a
- us-central1-c
osDisk:
diskType: pd-ssd
diskSizeGB: 1024
encryptionKey:
kmsKey:
name: worker-key
keyRing: test-machine-keys
location: global
projectID: project-id
tags:
- control-plane-tag1
- control-plane-tag2
osImage:
project: example-project-name
name: example-image-name
replicas: 3
compute:
- hyperthreading: Enabled
name: worker
platform:
gcp:
type: n2-standard-4
zones:
- us-central1-a
- us-central1-c
osDisk:
diskType: pd-standard
diskSizeGB: 128
encryptionKey:
kmsKey:
name: worker-key
keyRing: test-machine-keys
location: global
projectID: project-id
tags:
- compute-tag1
- compute-tag2
osImage:
project: example-project-name
name: example-image-name
replicas: 3
metadata:
name: test-cluster
networking:
clusterNetwork:
- cidr: 10.128.0.0/14
hostPrefix: 23
machineNetwork:
- cidr: 10.0.0.0/16
networkType: OVNKubernetes
serviceNetwork:
- 172.30.0.0/16
platform:
gcp:
projectID: openshift-production
region: us-central1
defaultMachinePlatform:
tags:
- global-tag1
- global-tag2
osImage:
project: example-project-name
name: example-image-name
network: existing_vpc
controlPlaneSubnet: control_plane_subnet
computeSubnet: compute_subnet
pullSecret: '{"auths":{"<local_registry>": {"auth": "<credentials>","email": "you@example.com"}}}'
fips: false
sshKey: ssh-ed25519 AAAA...
additionalTrustBundle: |
-----BEGIN CERTIFICATE-----
<MY_TRUSTED_CA_CERT>
-----END CERTIFICATE-----
imageContentSources:
- 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
- インストールするクラスターネットワークプラグイン。サポートされている値は
OVNKubernetes
とOpenShiftSDN
です。デフォルトの値は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_64
、ppc64le
、およびs390x
アーキテクチャー上の OpenShift Container Platform デプロイメントでのみサポートされます。 - 25
- クラスター内のマシンにアクセスするために使用する
sshKey
値をオプションで指定できます。注記インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、
ssh-agent
プロセスが使用する SSH キーを指定します。 - 26
- ミラーレジストリーに使用した証明書ファイルの内容を指定します。
- 27
- リポジトリーのミラーリングに使用するコマンドの出力の
imageContentSources
セクションを指定します。
7.5.6. GCP にグローバルにアクセスできる Ingress コントローラーの作成
Google Cloud Platform (GCP) クラスターにグローバルにアクセスできる Ingress コントローラーを作成できます。グローバルアクセスは、内部ロードバランサーを使用する Ingress コントローラーでのみ利用できます。
前提条件
-
install-config.yaml
を作成し、これに対する変更を完了している。
手順
グローバルアクセスが設定された Ingress コントローラーの新規の GCP クラスターへの作成
インストールプログラムが含まれるディレクトリーに切り替え、マニフェストファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ./openshift-install create manifests --dir <installation_directory>
$ ./openshift-install create manifests --dir <installation_directory>
1 - 1
<installation_directory>
については、クラスターのinstall-config.yaml
ファイルが含まれるディレクトリーの名前を指定します。
cluster-ingress-default-ingresscontroller.yaml
という名前のファイルを<installation_directory>/manifests/
ディレクトリーに作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow touch <installation_directory>/manifests/cluster-ingress-default-ingresscontroller.yaml
$ touch <installation_directory>/manifests/cluster-ingress-default-ingresscontroller.yaml
1 - 1
<installation_directory>
については、クラスターのmanifests/
ディレクトリーが含まれるディレクトリー名を指定します。
ファイルの作成後は、以下のようにいくつかのネットワーク設定ファイルが
manifests/
ディレクトリーに置かれます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ls <installation_directory>/manifests/cluster-ingress-default-ingresscontroller.yaml
$ ls <installation_directory>/manifests/cluster-ingress-default-ingresscontroller.yaml
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cluster-ingress-default-ingresscontroller.yaml
cluster-ingress-default-ingresscontroller.yaml
エディターで
cluster-ingress-default-ingresscontroller.yaml
ファイルを開き、必要な Operator 設定を記述するカスタムリソース (CR) を入力します。サンプル
clientAccess
設定をGlobal
に設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: operator.openshift.io/v1 kind: IngressController metadata: name: default namespace: openshift-ingress-operator spec: endpointPublishingStrategy: loadBalancer: providerParameters: gcp: clientAccess: Global type: GCP scope: Internal type: LoadBalancerService
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
7.5.7. インストール時のクラスター全体のプロキシーの設定
実稼働環境では、インターネットへの直接アクセスを拒否し、代わりに HTTP または HTTPS プロキシーを使用することができます。プロキシー設定を install-config.yaml
ファイルで行うことにより、新規の OpenShift Container Platform クラスターをプロキシーを使用するように設定できます。
前提条件
-
既存の
install-config.yaml
ファイルがある。 クラスターがアクセスする必要のあるサイトを確認済みで、それらのいずれかがプロキシーをバイパスする必要があるかどうかを判別している。デフォルトで、すべてのクラスター Egress トラフィック (クラスターをホストするクラウドに関するクラウドプロバイダー API に対する呼び出しを含む) はプロキシーされます。プロキシーを必要に応じてバイパスするために、サイトを
Proxy
オブジェクトのspec.noProxy
フィールドに追加している。注記Proxy
オブジェクトのstatus.noProxy
フィールドには、インストール設定のnetworking.machineNetwork[].cidr
、networking.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
) も設定されます。
手順
install-config.yaml
ファイルを編集し、プロキシー設定を追加します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: v1 baseDomain: my.domain.com proxy: httpProxy: http://<username>:<pswd>@<ip>:<port> httpsProxy: https://<username>:<pswd>@<ip>:<port> noProxy: example.com additionalTrustBundle: | -----BEGIN CERTIFICATE----- <MY_TRUSTED_CA_CERT> -----END CERTIFICATE----- additionalTrustBundlePolicy: <policy_to_add_additionalTrustBundle>
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.com
はx.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
コマンドを使用してデプロイメントを再起動してからデプロイメントを完了します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ./openshift-install wait-for install-complete --log-level debug
$ ./openshift-install wait-for install-complete --log-level debug
- ファイルを保存し、OpenShift Container Platform のインストール時にこれを参照します。
インストールプログラムは、指定の install-config.yaml
ファイルのプロキシー設定を使用する cluster
という名前のクラスター全体のプロキシーを作成します。プロキシー設定が指定されていない場合、cluster
Proxy
オブジェクトが依然として作成されますが、これには spec
がありません。
cluster
という名前の Proxy
オブジェクトのみがサポートされ、追加のプロキシーを作成することはできません。