2.4. OCI にクラスターをインストールするための設定ファイルの作成
Agent-based Installer を使用して起動可能な ISO イメージを生成できるように、install-config.yaml
設定ファイルと agent-config.yaml
設定ファイルを作成する必要があります。エージェントベースのインストールは、Assisted Discovery Agent と Assisted Service を含む起動可能な ISO で構成されます。これらのコンポーネントは、クラスターのインストールを実行するために両方とも必要ですが、後者のコンポーネントはいずれか 1 つのホストでのみ実行されます。
Agent-based Installer を使用して、ゼロタッチプロビジョニング (ZTP) カスタムリソースを生成または受け入れることもできます。
前提条件
- OpenShift Container Platform のインストールおよび更新プロセスの詳細を確認した。
- クラスターのインストール方法の選択とその方法の準備に関するユーザー向けドキュメントを確認した。
- 「Agent-based Installer を使用したインストールの準備」ドキュメントを確認した。
- Red Hat Hybrid Cloud Console から Agent-based Installer とコマンドラインインターフェイス (CLI) をダウンロードした。
非接続環境にインストールする場合は、環境にミラーレジストリーを準備し、リリースイメージをレジストリーにミラーリングした。
重要次のコマンドを実行して、
openshift-install
バイナリーのバージョンが、Red Hat Quay などの共有レジストリーではなく、ローカルイメージコンテナーレジストリーに関連していることを確認してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ./openshift-install version
$ ./openshift-install version
共有レジストリーバイナリーの出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ./openshift-install 4.18.0 built from commit ae7977b7d1ca908674a0d45c5c243c766fa4b2ca release image registry.ci.openshift.org/origin/release:4.18ocp-release@sha256:0da6316466d60a3a4535d5fed3589feb0391989982fba59d47d4c729912d6363 release architecture amd64
./openshift-install 4.18.0 built from commit ae7977b7d1ca908674a0d45c5c243c766fa4b2ca release image registry.ci.openshift.org/origin/release:4.18ocp-release@sha256:0da6316466d60a3a4535d5fed3589feb0391989982fba59d47d4c729912d6363 release architecture amd64
- 管理者権限で OpenShift Container Platform にログインしている。
手順
次のコマンドを実行して、設定ファイルを保存するインストールディレクトリーを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mkdir ~/<directory_name>
$ mkdir ~/<directory_name>
組織のニーズに合わせて
install-config.yaml
設定ファイルを設定し、作成したディレクトリーにファイルを保存します。外部プラットフォームを設定する
install-config.yaml
ファイルCopy to Clipboard Copied! Toggle word wrap Toggle overflow install-config.yaml ...
# install-config.yaml apiVersion: v1 baseDomain: <base_domain>
1 networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 network type: OVNKubernetes machineNetwork: - cidr: <ip_address_from_cidr>
2 serviceNetwork: - 172.30.0.0/16 compute: - architecture: amd64
3 hyperthreading: Enabled name: worker replicas: 0 controlPlane: architecture: amd64
4 hyperthreading: Enabled name: master replicas: 3 platform: external: platformName: oci
5 cloudControllerManager: External sshKey: <public_ssh_key>
6 pullSecret: '<pull_secret>'
7 # ...
- 1
- クラウドプロバイダーのベースドメイン。
- 2
- ネットワーク上で機能するリソースおよびコンポーネントに対して CIDR が割り当てる仮想クラウドネットワーク (VCN) の IP アドレス。
- 3 4
- インフラストラクチャーに応じて、
arm64
またはamd64
のいずれかを選択できます。 - 5
- OpenShift Container Platform が OCI と統合できるように、
OCI
を外部プラットフォームとして設定します。 - 6
- SSH 公開鍵を指定します。
- 7
- OpenShift Container Platform コンポーネントおよびサービス (Quay.io など) のコンテナーイメージをダウンロードするときに認証するために必要なプルシークレット。Red Hat Hybrid Cloud Console の Install OpenShift Container Platform 4 を参照してください。
ローカルシステム上に
openshift
という名前のディレクトリーを作成します。これはインストールディレクトリーのサブディレクトリーである必要があります。重要install-config.yaml
またはagent-config.yaml
設定ファイルをopenshift
ディレクトリーに移動しないでください。-
スタックを使用して OCI インフラストラクチャーリソースをプロビジョニングした場合: OCI スタックの
dynamic_custom_manifest
出力をコピーして、manifest.yaml
という名前のファイルに貼り付け、そのファイルをopenshift
ディレクトリーに保存します。 スタックを使用して OCI インフラストラクチャーリソースをプロビジョニングしなかった場合: カスタムマニフェストをダウンロードして準備し、エージェント ISO イメージを作成します。
- Configuration Files (Oracle ドキュメント) に移動し、GitHub のカスタムマニフェストディレクトリーへのリンクをクリックします。
-
condensed-manifest.yml
ファイルの内容をコピーし、openshift
ディレクトリー内のファイルにローカルに保存します。 -
condensed-manifest.yml
ファイルで、TODO
でマークされたセクションを更新して、コンパートメントの Oracle® Cloud Identifier (OCID)、VCN の OCID、ロードバランサーからのサブネットの OCID、およびセキュリティーリストの OCID を指定します。
組織の要件に合わせて
agent-config.yaml
設定ファイルを設定します。IPv4 ネットワーク用のサンプル
agent-config.yaml
ファイルCopy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: v1beta1 metadata: name: <cluster_name> namespace: <cluster_namespace> rendezvousIP: <ip_address_from_CIDR> bootArtifactsBaseURL: <server_URL> # ...
apiVersion: v1beta1 metadata: name: <cluster_name>
1 namespace: <cluster_namespace>
2 rendezvousIP: <ip_address_from_CIDR>
3 bootArtifactsBaseURL: <server_URL>
4 # ...
- 1
- DNS レコードに指定したクラスター名。
- 2
- OpenShift Container Platform 上のクラスターの namespace。
- 3
- ネットワーク IP アドレス形式として IPv4 を使用する場合は、
rendezvousIP
パラメーターを、VCN の Classless Inter-Domain Routing (CIDR) 方式によってネットワークに割り当てられる IPv4 アドレスに必ず設定してください。また、ISO を使用して起動したインスタンスプール内の少なくとも 1 つのインスタンスが、rendezvousIP
パラメーターに設定した IP アドレス値と一致していることを確認してください。 - 4
- rootfs イメージをアップロードするサーバーの URL。このパラメーターは、非接続環境でのみ必要です。
インストールディレクトリーで次のコマンドを入力して、rootfs イメージを除外した最小限の ISO イメージを生成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ./openshift-install agent create image --log-level debug
$ ./openshift-install agent create image --log-level debug
このコマンドは次の操作も実行します。
-
サブディレクトリー
./<installation_directory>/auth directory:
を作成し、そのサブディレクトリーにkubeadmin-password
ファイルとkubeconfig
ファイルを配置します。 -
agent-config.yaml
設定ファイルで指定した IP アドレスに基づいて、rendezvousIP
ファイルを作成します。 オプション:
agent-config.yaml
およびinstall-config.yaml
設定ファイルに加えた変更は、すべてゼロタッチプロビジョニング (ZTP) カスタムリソースにインポートされます。重要Agent-based Installer は Red Hat Enterprise Linux CoreOS (RHCOS) を使用します。後のステップで説明する rootfs イメージは、オペレーティングシステムの起動、回復、修復に必要です。
-
サブディレクトリー
非接続環境のみ: rootfs イメージを Web サーバーにアップロードします。
-
最小限の ISO イメージを作成したときに生成された
./<installation_directory>/boot-artifacts
ディレクトリーに移動します。 任意の Hypertext Transfer Protocol デーモン (
httpd
) などの優先 Web サーバーを使用して、agent-config.yaml
ファイルのbootArtifactsBaseURL
パラメーターに指定された場所に rootfs イメージをアップロードします。たとえば、
bootArtifactsBaseURL
パラメーターにhttp://192.168.122.20
と指定されている場合、生成された rootfs イメージをこの場所にアップロードして、Agent-based Installer がhttp://192.168.122.20/agent.x86_64-rootfs.img
からイメージにアクセスできるようにします。Agent-based Installer は、外部プラットフォームの最小限の ISO を起動した後、http://192.168.122.20/agent.x86_64-rootfs.img
の場所から rootfs イメージをシステムメモリーにダウンロードします。注記また、Agent-based Installer は、Operator がクラスターのノードを起動するときに rootfs イメージをシステムメモリーにダウンロードするために、
bootArtifactsBaseURL
の値を最小限の ISO イメージの設定に追加します。重要1
GB を超える完全な ISO イメージには、rootfs イメージが含まれていることに注意してください。このイメージは、通常150
MB 未満の最小 ISO イメージよりも大きくなります。
-
最小限の ISO イメージを作成したときに生成された