4.5. インストール設定ファイルの作成
Google Cloud Platform (GCP) にインストールする OpenShift Container Platform クラスターをカスタマイズできます。
前提条件
- OpenShift Container Platform インストールプログラムおよびクラスターのプルシークレットがある。
- GCP アカウントを設定します。
手順
install-config.yamlファイルを作成します。インストールプログラムが含まれるディレクトリーに切り替え、以下のコマンドを実行します。
./openshift-install create install-config --dir <installation_directory>
$ ./openshift-install create install-config --dir <installation_directory>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<installation_directory>の場合、インストールプログラムが作成するファイルを保存するためにディレクトリー名を指定します。
ディレクトリーを指定する場合:
-
ディレクトリーに
execute権限があることを確認します。この権限は、インストールディレクトリーで Terraform バイナリーを実行するために必要です。 - 空のディレクトリーを使用します。ブートストラップ X.509 証明書などの一部のインストールアセットは有効期限が短いため、インストールディレクトリーを再利用しないでください。別のクラスターインストールの個別のファイルを再利用する必要がある場合は、それらをディレクトリーにコピーすることができます。ただし、インストールアセットのファイル名はリリース間で変更される可能性があります。インストールファイルを以前のバージョンの OpenShift Container Platform からコピーする場合は注意してください。
プロンプト時に、クラウドの設定の詳細情報を指定します。
オプション: クラスターマシンにアクセスするために使用する SSH キーを選択します。
注記インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、
ssh-agentプロセスが使用する SSH キーを指定します。- ターゲットに設定するプラットフォームとして gcp を選択します。
- コンピューター上で GCP アカウント用のサービスアカウントキーを設定していない場合、GCP からこれを取得してファイルの内容を貼り付けるか、ファイルへの絶対パスを入力する必要があります。
- クラスターのプロビジョニングに使用するプロジェクト ID を選択します。デフォルト値は、設定したサービスアカウントによって指定されます。
- クラスターをデプロイするリージョンを選択します。
- クラスターをデプロイするベースドメインを選択します。ベースドメインは、クラスターに作成したパブリック DNS ゾーンに対応します。
- クラスターの記述名を入力します。
install-config.yamlファイルを変更します。利用可能なパラメーターの詳細は、「インストール設定パラメーター」のセクションを参照してください。注記3 ノードクラスターをインストールする場合は、必ず
compute.replicasパラメーターを0に設定してください。これにより、クラスターのコントロールプレーンがスケジュール可能になります。詳細は、「GCP に 3 ノードクラスターをインストールする」を参照してください。install-config.yamlファイルをバックアップし、複数のクラスターをインストールするのに使用できるようにします。重要install-config.yamlファイルはインストールプロセス時に使用されます。このファイルを再利用する必要がある場合は、この段階でこれをバックアップしてください。
4.5.1. クラスターインストールの最小リソース要件 リンクのコピーリンクがクリップボードにコピーされました!
それぞれのクラスターマシンは、以下の最小要件を満たしている必要があります。
| マシン | オペレーティングシステム | 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 つの物理コアと同等です。これが有効にされている場合、(コアあたりのスレッド数 x コア数) x ソケット数 = 仮想 CPU という数式を使用して対応する比率を計算します。
- OpenShift Container Platform および Kubernetes はディスクのパフォーマンスに敏感であり、特に 10 ms p99 fsync 期間を必要とするコントロールプレーンノード上の etcd には、高速ストレージが推奨されます。多くのクラウドプラットフォームでは、ストレージサイズと IOPS が連動してスケーリングされるため、十分なパフォーマンスを得るには、ストレージボリュームを過剰に割り当てる必要がある場合がある点に注意してください。
- すべての user-provisioned installation と同様に、クラスターで RHEL コンピュートマシンの使用を選択する場合は、システム更新の実行、パッチの適用、その他すべての必要なタスクの完了など、オペレーティングシステムのライフサイクルの管理と保守をすべて担当します。RHEL 7 コンピュートマシンの使用は非推奨となり、OpenShift Container Platform 4.10 以降で削除されています。
OpenShift Container Platform バージョン 4.19 の場合、RHCOS は RHEL バージョン 9.6 に基づいています。これは、マイクロアーキテクチャー要件を更新します。次のリストには、各アーキテクチャーに必要な最小限の命令セットアーキテクチャー (ISA) が含まれています。
- x86-64 アーキテクチャーには x86-64-v2 ISA が必要
- ARM64 アーキテクチャーには ARMv8.0-A ISA が必要
- IBM Power アーキテクチャーには Power 9 ISA が必要
- s390x アーキテクチャーには z14 ISA が必要
詳細は、アーキテクチャー (RHEL ドキュメント) を参照してください。
プラットフォームのインスタンスタイプがクラスターマシンの最小要件を満たす場合、これは OpenShift Container Platform で使用することがサポートされます。
4.5.2. GCP のテスト済みインスタンスタイプ リンクのコピーリンクがクリップボードにコピーされました!
以下の Google Cloud Platform インスタンスタイプは OpenShift Container Platform でテストされています。
すべてのインスタンスタイプがすべてのリージョンおよびゾーンで使用できるわけではありません。使用可能なインスタンスタイプとゾーンの詳細は、regions and zones (Google ドキュメント) を参照してください。
一部のインスタンスタイプでは、Hyperdisk ストレージの使用が必要です。Hyperdisk ストレージを必要とするインスタンスタイプを使用する場合は、クラスター内のすべてのノードが Hyperdisk ストレージをサポートする必要があり、Hyperdisk ストレージを使用するようにデフォルトのストレージクラスを変更する必要があります。詳細は、machine series support for Hyperdisk (Google ドキュメント) を参照してください。ストレージクラスを変更する手順は、ストレージ の「動的プロビジョニング」ページの 「GCE PersistentDisk (gcePD) オブジェクトの定義」セクションを参照してください。
例4.1 マシンのシリーズ
-
A2 -
A3 -
C2 -
C2D -
C3 -
C3D -
C4 -
E2 -
M1 -
N1 -
N2 -
N2D -
N4 -
Tau T2D
4.5.3. 64 ビット ARM インフラストラクチャー上の GCP のテスト済みインスタンスタイプ リンクのコピーリンクがクリップボードにコピーされました!
以下の Google Cloud Platform (GCP) 64 ビット ARM インスタンスタイプは OpenShift Container Platform でテストされています。
例4.2 64 ビット ARM マシン用のマシンシリーズ
-
C4A -
Tau T2A
4.5.4. カスタムマシンタイプの使用 リンクのコピーリンクがクリップボードにコピーされました!
カスタムマシンタイプを使用した OpenShift Container Platform クラスターのインストールがサポートされます。
カスタムマシンタイプを使用する場合は、以下を考慮してください。
- 事前定義されたインスタンスタイプと同様に、カスタムマシンタイプは、コントロールプレーンとコンピューティングマシンの最小リソース要件を満たす必要があります。詳細は、「クラスターインストールの最小リソース要件」を参照してください。
カスタムマシンタイプの名前は、次の構文に従う必要があります。
custom-<number_of_cpus>-<amount_of_memory_in_mb>たとえば、
custom-6-20480です。
インストールプロセスの一環として、カスタムマシンタイプを install-config.yaml ファイルで指定します。
カスタムマシンタイプのサンプル install-config.yaml ファイル
4.5.5. Shielded VM の有効化 リンクのコピーリンクがクリップボードにコピーされました!
クラスターをインストールする場合は、Shielded VM を使用できます。Shielded VM には、セキュアブート、ファームウェアと整合性の監視、ルートキット検出などの追加のセキュリティー機能があります。詳細は、Shielded VM に関する Google のドキュメントを参照してください。
Shielded VM は現在、64 ビット ARM インフラストラクチャーを備えたクラスターではサポートされていません。
手順
クラスターをデプロイする前に、テキストエディターを使用して、
install-config.yamlファイルを編集し、次のいずれかのスタンザを追加します。コントロールプレーンマシンのみに Shielded VM を使用するには:
controlPlane: platform: gcp: secureBoot: EnabledcontrolPlane: platform: gcp: secureBoot: EnabledCopy to Clipboard Copied! Toggle word wrap Toggle overflow コンピューティングマシンのみに Shielded VM を使用するには:
compute: - platform: gcp: secureBoot: Enabledcompute: - platform: gcp: secureBoot: EnabledCopy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのマシンに Shielded VM を使用するには:
platform: gcp: defaultMachinePlatform: secureBoot: Enabledplatform: gcp: defaultMachinePlatform: secureBoot: EnabledCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.6. Confidential 仮想マシンの有効化 リンクのコピーリンクがクリップボードにコピーされました!
クラスターをインストールする場合は、Confidential 仮想マシンを使用できます。Confidential 仮想マシンは処理中のデータを暗号化します。詳細は、Confidential Computing に関する Google のドキュメントを参照してください。Confidential 仮想マシンと Shielded VM を同時に有効にすることができますが、それらは互いに依存していません。
現在、Confidential 仮想マシンは 64 ビット ARM アーキテクチャーではサポートされていません。
手順
クラスターをデプロイする前に、テキストエディターを使用して、
install-config.yamlファイルを編集し、次のいずれかのスタンザを追加します。コントロールプレーンマシンのみに Confidential 仮想マシンを使用するには:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Confidential 仮想マシンを有効にします。
- 2
- Confidential 仮想マシンをサポートするマシンタイプを指定します。Confidential 仮想マシンには、N2D または C2D シリーズのマシンタイプが必要です。サポートされているマシンタイプの詳細は、サポートされているオペレーティングシステムとマシンタイプ を参照してください。
- 3
- ハードウェアやソフトウェアの更新など、ホストのメンテナンスイベント中の VM の動作を指定します。Confidential 仮想マシンを使用するマシンの場合は、この値を
Terminateに設定する必要があります。これにより、VM が停止します。Confidential 仮想マシンはライブ VM 移行をサポートしていません。
コンピューティングマシンのみに Confidential 仮想マシンを使用するには:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのマシンに Confidential 仮想マシンを使用するには:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.7. ユーザー管理 DNS の有効化 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトの cluster-provisioned DNS ソリューションの代わりに、ユーザーが管理するドメインネームサーバー (DNS) ソリューションを使用してクラスターをインストールできます。その結果、クラウドの DNS にレコードを追加するのではなく、独自のシステムで API および Ingress DNS レコードを管理できるようになります。たとえば、組織のセキュリティーポリシーにより、Google Cloud DNS などのパブリック DNS サービスの使用が許可されていない場合があります。このようなシナリオでは、独自の DNS サービスを使用してパブリック DNS サービスをバイパスし、API および Ingress サービスの IP アドレスに対して独自の DNS を管理できます。
インストール中にユーザー管理 DNS を有効にすると、インストールプログラムは、クラスター内のみで API および Ingress サービスの DNS レコードをプロビジョニングします。クラスター外部からのアクセスを確保するには、インストール後に API および Ingress サービス用に選択した外部 DNS サービスで DNS レコードをプロビジョニングする必要があります。
user-provisioned DNS は、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
前提条件
-
jqパッケージがインストールされている。
手順
クラスターをデプロイする前に、テキストエディターを使用して
install-config.yamlファイルを開き、次のスタンザを追加します。ユーザー管理 DNS を有効にする場合:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- DNS 管理を有効にします。
API サーバーおよび Ingress サービスの DNS レコードをプロビジョニングする方法は、「独自の DNS レコードのプロビジョニング」を参照してください。
4.5.8. GCP のカスタマイズされた install-config.yaml ファイルのサンプル リンクのコピーリンクがクリップボードにコピーされました!
install-config.yaml ファイルをカスタマイズして、OpenShift Container Platform クラスターのプラットフォームに関する詳細を指定するか、必要なパラメーターの値を変更することができます。
このサンプルの YAML ファイルは参照用にのみ提供されます。インストールプログラムを使用して install-config.yaml ファイルを取得し、これを変更する必要があります。
- 1 15 17 18 21
- 必須。インストールプログラムはこの値の入力を求めるプロンプトを出します。
- 2
- オプション: Cloud Credential Operator (CCO) に指定されたモードの使用を強制するには、このパラメーターを追加します。デフォルトでは、CCO は
kube-systemnamespace のルート認証情報を使用して、認証情報の機能を動的に判断しようとします。CCO モードの詳細は、認証および認可 ガイドの「Cloud Credential Operator について」セクションを参照してください。 - 3 9
- これらのパラメーターおよび値を指定しない場合、インストールプログラムはデフォルトの値を指定します。
- 4 10
controlPlaneセクションは単一マッピングですが、computeセクションはマッピングのシーケンスになります。複数の異なるデータ構造の要件を満たすには、computeセクションの最初の行はハイフン-で始め、controlPlaneセクションの最初の行はハイフンで始めることができません。1 つのコントロールプレーンプールのみが使用されます。- 5 11
- 同時マルチスレッドまたは
hyperthreadingを有効/無効にするかどうか。デフォルトでは、同時マルチスレッドはマシンのコアのパフォーマンスを上げるために有効化されます。パラメーター値をDisabledに設定するとこれを無効にすることができます。一部のクラスターマシンで同時マルチスレッドを無効にする場合は、これをすべてのクラスターマシンで無効にする必要があります。重要同時マルチスレッドを無効にする場合は、容量計画においてマシンパフォーマンスの大幅な低下が考慮に入れられていることを確認します。同時マルチスレッドを無効にする場合は、マシンに対して
n1-standard-8などの大規模なマシンタイプを使用します。 - 6 12
- オプション: 仮想マシンと永続ボリュームの両方を暗号化するカスタム暗号化キーセクション。デフォルトのコンピュートサービスアカウントには、KMS キーを使用するためのパーミッションが付与され、適切な IAM ロールが割り当てられている必要があります。デフォルトのサービスアカウント名は、
service-<project_number>@compute-system.iam.gserviceaccount.comパターンをベースにしています。サービスアカウントに適切な権限を付与する方法の詳細は、「マシン管理」→「コンピュートマシンセットの作成」→「GCP でのコンピューティングマシンセットの作成」を参照してください。 - 7 13 19
- オプション: コントロールプレーンまたはコンピューティングマシンセットに適用するネットワークタグのセット。
platform.gcp.defaultMachinePlatform.tagsパラメーターは、コントロールプレーンとコンピュートマシンの両方に適用されます。compute.platform.gcp.tagsパラメーターまたはcontrolPlane.platform.gcp.tagsパラメーターが設定されている場合は、platform.gcp.defaultMachinePlatform.tagsパラメーターを上書きします。 - 8 14 20
- オプション: コントロールプレーンとコンピュートマシンの起動に使用するカスタム 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パラメーターをオーバーライドします。 - 16
- インストールするクラスターネットワークプラグイン。サポートされる値はデフォルト値の
OVNKubernetesのみです。 - 22
- FIPS モードを有効または無効にするかどうか。デフォルトでは、FIPS モードは有効にされません。FIPS モードが有効にされている場合、OpenShift Container Platform が実行される Red Hat Enterprise Linux CoreOS (RHCOS) マシンがデフォルトの Kubernetes 暗号スイートをバイパスし、代わりに RHCOS で提供される暗号モジュールを使用します。重要
FIPS モードでブートされた Red Hat Enterprise Linux (RHEL) または Red Hat Enterprise Linux CoreOS (RHCOS) を実行する場合、OpenShift Container Platform コアコンポーネントは、x86_64、ppc64le、および s390x アーキテクチャーのみで、FIPS 140-2/140-3 検証のために NIST に提出された RHEL 暗号化ライブラリーを使用します。
- 23
- クラスター内のマシンにアクセスするために使用する
sshKey値をオプションで指定できます。注記インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、
ssh-agentプロセスが使用する SSH キーを指定します。
4.5.9. インストール時のクラスター全体のプロキシーの設定 リンクのコピーリンクがクリップボードにコピーされました!
実稼働環境では、インターネットへの直接アクセスを拒否し、代わりに 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 - 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-confignamespace に生成します。次に Cluster Network Operator は、これらのコンテンツを Red Hat Enterprise Linux CoreOS (RHCOS) 信頼バンドルにマージするtrusted-ca-bundleconfig map を作成し、この config map は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
$ ./openshift-install wait-for install-complete --log-level debugCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ファイルを保存し、OpenShift Container Platform のインストール時にこれを参照します。
インストールプログラムは、指定の install-config.yaml ファイルのプロキシー設定を使用する cluster という名前のクラスター全体のプロキシーを作成します。プロキシー設定が指定されていない場合、cluster Proxy オブジェクトが依然として作成されますが、これには spec がありません。
cluster という名前の Proxy オブジェクトのみがサポートされ、追加のプロキシーを作成することはできません。