切断環境でのエージェントベースのインストーラのOCIリソースのプロビジョニング
エージェントベースのインストーラを使用してOpenShiftコンテナ・プラットフォーム・クラスタをインストールするために、OCIテナンシで作成する必要があるリソースについて学習します。
TerraformでOCIリソースをプロビジョニングする場合は、Terraformを使用したクラスタ・インフラストラクチャのプロビジョニングの説明に従って、このトピックの手順を使用する必要はありません。
エージェントベースのインストーラのワークフローは、Red Hat Hybrid Cloudコンソールで開始されます。このコンソールでは、OCIでコンピュート・インスタンスをプロビジョニングするために必要な検出ISOイメージを作成するためのopenshift-installバイナリをダウンロードします。検出イメージを作成すると、リソース・プロビジョニングのためにワークフローがOCIコンソールに移動します。
エージェントベースのインストーラを使用する場合は、このドキュメントの前提条件で説明されているリソースと、このトピックで説明するOCIインフラストラクチャ・リソースが必要です。
オプションで、検出ISOイメージに依存するコンピュート・サービス・カスタム・イメージを除き、開始前にこれらのリソースのほとんどを作成できます。次のリソースが必要です:
- コンパートメント
- VCN
- ロード・バランサ
- ロード・バランサのDNSレコード
- クラスタのコンピュート・ノードのタグ・ネームスペースおよび定義済タグ
- クラスタの計算ノードのIAMダイアナミック・グループ
- 動的グループのIAMポリシー
- OpenShift iso検出イメージから作成されたコンピュート・インスタンス・プロビジョニングのカスタム・イメージ
コンパートメント
コンパートメントによって、クラウド・リソースを編成および分離できます。OpenShiftクラスタの新しいコンパートメントを作成することをお薦めします。詳細は、「コンパートメントの作成」を参照してください。
VCNおよびネットワーキング・リソース
OpenShiftコンピュート・ノード、ロード・バランサおよびその他のリソースは、OCI Virtual Cloud Network (VCN)を使用して接続します。VCNの作成手順は、VCNの作成を参照してください。
VCNおよび関連するネットワーキング・リソースをvirtual-network-family
集計リソース・タイプで管理するには、IAM権限が必要です。詳細は、リソースへのアクセスの管理を参照してください。ネットワーキングの権限については、「コア・サービス」の項で説明します。
オプションで、VCN内のネットワーク・セキュリティ・グループ(NSG)を使用してアクセスを制御できます。NSGを使用したネットワーク・トラフィックおよびアクセスの制御の詳細は、ネットワーク・セキュリティ・グループを参照してください。NSGは、他のOpenShfitインフラストラクチャ・リソースと同じコンパートメントにある必要があることに注意してください。
VCNおよびサブネットの構成の詳細は、GitHubのOCIのOpenShiftのTerraform定義済リソースのページを参照してください。特定のリソース定義については、shared_modulesディレクトリ内の関連フォルダにアクセスし、oci_core_vcn,
oci_core_internet_gateway
、oci_core_nat_gateway
、 oci_core_route_table
、 oci_core_subnet
およびoci_core_network_security_group
リソースを検索します。
ロード・バランサ
Red Hat OpenShiftクラスタには、2つのロード・バランサ(内部ネットワーク・トラフィック用と外部トラフィック用)が必要です。手順については、ロード・バランサの作成を参照してください。ロード・バランサ構成の概要は、GitHubのOCIのOpenShiftのTerraform定義済リソースのページを参照してください。特定のリソース定義については、shared_modulesディレクトリ内の関連フォルダにアクセスし、oci_load_balancer_load_balancer
、oci_load_balancer_backend_set
およびoci_load_balancer_listener
リソースを検索します。
内部Load Balancer
ポート | バックエンド・マシン(プール・メンバー) | Description |
---|---|---|
6443 | ブートストラップおよびコントロール・プレーン | Kubernetes APIサーバー |
22623 | ブートストラップおよびコントロール・プレーン | マシン構成サーバー |
22624 | ブートストラップおよびコントロール・プレーン | マシン構成サーバー |
外部Load Balancer
次の情報を使用して、外部トラフィックに使用されるロード・バランサを構成します:
ポート | バックエンド・マシン(プール・メンバー) | 説明 |
---|---|---|
80 |
イングレス・コントローラ・ポッド、コンピュートまたはワーカーをデフォルトで実行するマシン |
HTTPSトラフィック |
443 |
イングレス・コントローラ・ポッド、コンピュートまたはワーカーをデフォルトで実行するマシン |
HTTPSトラフィック |
6443 | ブートストラップおよびコントロール・プレーン | HTTPSトラフィック |
DNSレコード
内部および外部のOpenShiftネットワーク・トラフィックをルーティングするためのDNSレコードを作成します。DNSゾーンを作成および管理する手順については、Zonesを参照してください。各DNSレコードは、ロード・バランサの同じパブリックIDとプライベートIDを共有する必要があります。
高レベルのDNS構成の詳細は、GitHubのOCIのOpenShiftのTerraform定義済リソースのページを参照してください。特定のリソース定義については、shared_modulesディレクトリ内の関連フォルダにアクセスし、oci_dns_zone
およびoci_dns_rrset
リソースを検索します。
コンポーネント | 記録 | ロード・バランサ・タイプ | 説明 |
---|---|---|---|
Kubernetes API | api.<cluster_name>.<base_domain>. |
外部ロード・バランサIPの使用 |
APIロード・バランサを識別するDNS A/AAAAまたはCNAMEレコードおよびDNS PTRレコード。 これらのレコードは、クラスタ外部のクライアント、およびクラスタ内のすべてのノードから解決できる必要があります。 |
Kubernetes API | api-int.<cluster_name>.<base_domain>. |
内部ロード・バランサIPの使用 |
APIロード・バランサを内部的に識別するためのDNS A/AAAAまたはCNAMEレコードおよびDNS PTRレコード。 これらのレコードは、クラスタ内のすべてのノードから解決できる必要があります。 |
ルート | *.apps.<cluster_name>.<base_domain>. |
外部ロード・バランサIPの使用 |
アプリケーション・イングレス・ロード・バランサを参照するワイルドカードDNS A/AAAAまたはCNAMEレコード。 アプリケーション・イングレス・ロード・バランサは、イングレス・コントローラ・ポッドを実行するマシンをターゲットとします。イングレス・コントローラ・ポッドは、デフォルトでコンピュート・マシンで実行されます。 これらのレコードは、クラスタ外部のクライアント、およびクラスタ内のすべてのノードから解決できる必要があります。 たとえば、 |
定義されたタグ
すべてのコントロール・プレーン・ノード(master
インスタンス・ロールを取得)およびコンピュート・ノード(worker
インスタンス・ロールを取得)をグループ化するには、定義済タグが必要です。
タグ付けサービスを使用して、OpenShiftクラスタの作成に使用しているコンパートメントに次のタグ付けリソースを作成します:
- タグ・ネームスペース:
openshift_tags
- 定義済タグ名:
instance_role
instance_role
の定義済タグ値:master
worker
手順については、Tags and Tag Namespace Conceptsを参照してください。高レベルのタグ付けの詳細は、GitHubのOCIのOpenShiftのTerraform定義済リソース・ページを参照してください。特定のリソース定義については、shared_modulesディレクトリ内の関連フォルダにアクセスし、oci_identity_tag_namespace
およびoci_identity_tag
リソースを検索します。
動的グループ
動的グループを使用すると、(ユーザー・グループと同様に) Oracle Cloud Infrastructureコンピュート・インスタンスを「プリンシパル」の俳優としてグループ化できます。IAMポリシー(次の項を参照)を作成して、動的グループのルールを定義します。手順については、動的グループの管理を参照してください。動的グループ構成の詳細は、GitHubの「OCIのOpenShiftのTerraform定義済リソース」ページを参照してください。特定のリソース定義については、shared_modulesディレクトリの関連フォルダにアクセスし、次のリソースを検索します: oci_identity_dynamic_group
。
動的グループ・ポリシー
master
動的グループにはIAMポリシーが必要です。手順については、動的グループの管理およびポリシーの仕組みを参照してください。動的グループ・ポリシー構成の概要は、GitHubの「OCI上のOpenShiftのTerraform定義済リソース」ページを参照してください。特定のリソース定義については、shared_modulesディレクトリの関連フォルダにアクセスし、次のリソースを検索します: oci_identity_policy
。
ポリシー・ステートメントは次のようにフォーマットされます。
Allow dynamic-group master to manage volume-family in compartment id <compartment_ocid>
Allow dynamic-group master to manage instance-family in compartment id <compartment_ocid>
Allow dynamic-group master to manage security-lists in compartment id <compartment_ocid>
Allow dynamic-group master to use virtual-network-family in compartment id <compartment_ocid>
Allow dynamic-group master to manage load-balancers in compartment id <compartment_ocid>
OpenShiftコンテナ・プラットフォーム・インスタンスのカスタム・イメージ
エージェントベースのインストーラを使用してOpenShiftコンテナ・プラットフォームのクラスタ・ノードを作成するには、クラスタ・ノードの実行に必要なRed Hatソフトウェアを含むコンピュート・サービス・カスタム・イメージが必要です。このイメージを作成するには、次の手順を実行する必要があります:
- Red Hat Hybrid Cloud Consoleから入手可能なopenshift-installバイナリを使用して、検出ISOイメージをローカルに作成します。手順については、OCIにクラスタをインストールするための構成ファイルの作成を参照してください。
- 検出ISOイメージをOCIオブジェクト・ストレージにアップロードします。手順については、オブジェクト・ストレージ・バケットの作成およびバケットへのオブジェクト・ストレージ・オブジェクトのアップロードを参照してください。
- 検出ISOに基づいてコンピュート・サービスにカスタム・イメージを作成します。手順については、カスタム・イメージの管理を参照してください。
カスタム・イメージを作成する場合は、イメージに対してこのオプションが有効になっていないようにBIOS機能をクリアする必要があります。詳細は、「カスタム・イメージの管理」ドキュメントの「カスタム・イメージのイメージ機能の構成」を参照してください。
エージェント構成ファイル
エージェントベースのインストーラでは、エージェントベースのインストーラを使用して検出ISOイメージを生成できるように、編集が必要な2つの構成ファイルが必要です。これらは、agent-config.yaml
およびinstall-config.yaml
ファイルです。これらのファイルの作成および構成の詳細は、Red HatドキュメントのOCIにクラスタをインストールするための構成ファイルの作成を参照してください。
agent-config.yaml
およびinstall-config.yaml
ファイルを作成した後、ローカルに保存します。ローカル・ディレクトリ構造は次のとおりです。
.
└── local_machine_work_directory/
├── agent-config.yaml
├── install-config.yaml
└── openshift /
├── oci-csi.yml
└── oci-ccm.yml
ファイアウォール構成
OpenShiftコンテナ・プラットフォームに必要なサイトへのアクセス権を付与するようにファイアウォールが構成されていることを確認します。OpenShiftコンテナ・プラットフォームに対するファイアウォールの許可リストの設定の詳細は、Red HatドキュメントのOpenShiftコンテナ・プラットフォーム用のファイアウォールの構成を参照してください。
URL | ポート番号 | 機能 |
---|---|---|
ghcr.io | 443 | Oracle Cloud Control Manager (CCM)およびContainer Storage Interface (CSI)のコンテナ・イメージを提供します。 |
registry.k8s.io | 443 | CCMおよびCSIのサポートするkubernetesコンテナ・イメージを提供します。 |