OCI へのインストール
Oracle Cloud Infrastructure への OpenShift Container Platform のインストール
概要
第1章 Assisted Installer を使用して Oracle Cloud Infrastructure (OCI) にクラスターをインストールする
OpenShift Container Platform 4.18 以降のバージョンでは、独自に提供するインフラストラクチャーを使用して、Assisted Installer を使用して Oracle® Cloud Infrastructure (OCI) にクラスターをインストールできます。
1.1. Assisted Installer と OCI の概要
専用、ハイブリッド、パブリックおよびマルチクラウド環境をサポートする Oracle® Cloud Infrastructure (OCI) インフラストラクチャー上でクラスターワークロードを実行できます。Red Hat と Oracle はどちらも、OCI 上の OpenShift Container Platform クラスターでの OCI の実行をテスト、検証、サポートしています。
Assisted Installer は OCI プラットフォームをサポートしています。Assisted Installer では、OCI へのクラスターのインストールタスクを自動化するために、直感的な対話型ワークフローを利用できます。
図1.1 接続環境で Assisted Installer を使用して OCI にクラスターをインストールするためのワークフロー
OCI は、規制コンプライアンス、パフォーマンス、費用対効果のニーズを満たすサービスを提供します。OCI Resource Manager 設定にアクセスして、OCI リソースをプロビジョニングおよび設定できます。
OCI リソースをプロビジョニングする手順は、例としてのみ提供されています。他の方法で必要なリソースを作成することも選択できます。スクリプトは単なる例です。独自にプロビジョニングするインフラストラクチャーでクラスターをインストールするには、クラウドプロバイダーおよび OpenShift Container Platform のインストールプロセスを理解している必要があります。OCI Resource Manager 設定にアクセスして以下の手順を完了することも、設定をモデルとして使用して独自のカスタムスクリプトを作成することもできます。
Assisted Installer を使用して OpenShift Container Platform クラスターを OCI にインストールする方法を理解するには、Assisted Installer を使用して Oracle Cloud Infrastructure (OCI) にクラスターをインストールする ドキュメントの手順に従ってください。このドキュメントでは、OCI Cloud Controller Manager (CCM) および Oracle の Container Storage Interface (CSI) オブジェクトを使用して OpenShift Container Platform クラスターを OCI API にリンクする方法を示します。
OCI 上で動作するクラスターワークロードに最適なパフォーマンス条件を確保するために、ブロックボリュームのボリュームパフォーマンスユニット (VPU) がワークロードに適したサイズに設定されていることを確認してください。次のリストを参考に、特定のパフォーマンスニーズに応じて必要な VPU を選択してください。
- テストまたは概念実証環境: 100 GB、20 - 30 VPU。
- 基本的な環境: 500 GB、60 VPU
- 高負荷の実稼働環境: 500 GB 以上、100 以上の VPU
更新やスケーリングアクティビティーに十分な容量を提供できるように、VPU を余分に確保しておくことを検討してください。VPU の詳細は、Oracle ドキュメントの「Volume Performance Units」を参照してください。
OpenShift Container Platform の Assisted Installer に慣れていない場合は、「OpenShift Container Platform の Assisted Installer」を参照してください。
1.2. OCI リソースとサービスの作成
Oracle® Cloud Infrastructure (OCI) のリソースとサービスを作成すると、組織の要件を満たすガバナンス標準に準拠したインフラストラクチャーを確立できます。
前提条件
- クラスターをホストするための OCI アカウントを設定した。Prerequisites (Oracle ドキュメント) を参照してください。
手順
- 管理者権限を使用して Oracle Cloud Infrastructure (OCI) アカウントにログインします。
- Oracle リソースからアーカイブファイルをダウンロードします。アーカイブファイルには、クラスターリソースとカスタムマニフェストを作成するためのファイルが含まれています。アーカイブファイルにはスクリプトも含まれており、スクリプトを実行すると、DNS レコードやインスタンスなどの OCI リソースが作成されます。詳細は、Configuration Files (Oracle ドキュメント) を参照してください。
1.3. Assisted Installer を使用して OCI 互換の検出 ISO イメージを生成する
検出 ISO イメージを生成し、そのイメージを Oracle® Cloud Infrastructure (OCI) にアップロードすると、エージェントによりハードウェアとネットワークの検証チェックを実行してから、OpenShift Container Platform クラスターを OCI にインストールできます。
OCI Web コンソールから、次のリソースを作成する必要があります。
- OCI リソースをより適切に整理し、アクセスを制限し、使用制限を設定するためのコンパートメント。
- 検出 ISO イメージを安全かつ確実に保存するためのオブジェクトストレージバケット。後の段階でインスタンスを起動するためにイメージにアクセスして、クラスターを作成できます。
前提条件
- OCI 上に子コンパートメントとオブジェクトストレージバケットを作成した。Oracle ドキュメントの Provisioning Cloud Infrastructure (OCI Console) を参照してください。
- OpenShift Container Platform のインストールおよび更新プロセスの詳細を確認している。
- ファイアウォールを使用しており、Telemetry サービスを使用する予定の場合は、OpenShift Container Platform が必要なサイトにアクセスできるようにファイアウォールを設定しておく必要があります。
- 仮想マシン (VM) を作成する前に、クラウドインスタンスタイプ (Red Hat Ecosystem Catalog ポータル) を参照して、サポートされている OCI 仮想マシンシェイプを特定してください。
手順
Hybrid Cloud Console の Install OpenShift with the Assisted Installer ページから、Assisted Installer の必要な手順をすべて完了して検出 ISO イメージを生成します。
Cluster Details ステップで、次のフィールドに値を入力します。
フィールド 必要な操作 Cluster name
クラスターの名前 (
ocidemo
など) を指定します。Base domain
クラスターのベースドメイン
(splat-oci.devcluster.openshift.com
など) を指定します。以前に OCI でコンパートメントを作成している場合は、DNS management → Zones → List scope に移動し、親コンパートメントを選択することで、この情報を取得できます。ベースドメインが Public zones タブに表示されます。OpenShift version
OpenShift 4.15
以降のバージョンを指定します。CPU architecture
x86_64
またはArm64
を指定します。Integrate with external partner platforms
Oracle Cloud Infrastructure
を指定します。この値を指定すると、デフォルトで Include custom manifests チェックボックスが選択されます。
- Operators ページで、Next をクリックします。
- Host Discovery ページで、Add hosts をクリックします。
SSH public key フィールドに、ローカルシステムから SSH キーを追加します。
ヒントssh-keygen
ツールを使用して、SSH 認証キーペアを作成できます。- Generate Discovery ISO をクリックして、検出 ISO イメージファイルを生成します。
- ローカルシステムにファイルをダウンロードします。
検出 ISO イメージを OCI バケットにアップロードします。Uploading an Object Storage Object to a Bucket (Oracle ドキュメント) を参照してください。
- アップロードされた検出 ISO イメージに対して、事前認証されたリクエストを作成する必要があります。後で OCI スタックを作成するときに URL を指定する必要があるため、事前認証されたリクエストの URL を必ずメモしておいてください。
関連情報
1.4. クラスター用の OCI インフラストラクチャーのプロビジョニング
Assisted Installer を使用して OpenShift Container Platform クラスターの詳細を作成することで、スタックでこれらの詳細を指定できます。スタックは、OpenShift Container Platform クラスターを OCI にインストールするのに必要なすべての OCI インフラストラクチャーリソース (カスタムイメージなど) のプロビジョニングを自動化できる OCI の機能です。
Oracle® Cloud Infrastructure (OCI) Compute サービスは、OCI 上に仮想マシン (VM) インスタンスを作成します。このインスタンスは、仮想クラウドネットワーク (VCN) サブネット内の仮想ネットワークインターフェイスコントローラー (vNIC) に自動的に接続できます。カスタムマニフェストテンプレートファイルで OpenShift Container Platform クラスターの IP アドレスを指定すると、OCI インスタンスが VCN 経由でクラスターと通信できるようになります。
前提条件
- 検出 ISO イメージを OCI バケットにアップロードしている。詳細は、「Assisted Installer を使用して OCI 互換の検出 ISO イメージを生成する」を参照してください。
手順
- OpenShift Container Platform クラスターの OCI インフラストラクチャーをプロビジョニングする手順を完了します。Creating OpenShift Container Platform Infrastructure Using Resource Manager (Oracle ドキュメント) を参照してください。
- スタックを作成し、Editing the OpenShift Custom Manifests (Oracle ドキュメント) の手順に従ってカスタムマニフェストファイルを編集します。
1.5. Assisted Installer の残りの手順を完了する
Oracle® Cloud Infrastructure (OCI) リソースをプロビジョニングし、OpenShift Container Platform カスタムマニフェスト設定ファイルを OCI にアップロードした後、インスタンス OCI を作成する前に、Assisted Installer で残りのクラスターのインストール手順を完了する必要があります。
前提条件
- カスタムマニフェスト設定ファイルと OCI リソースマネージャー設定リソースを含むリソーススタックを OCI 上に作成した。「クラスター用の OCI インフラストラクチャーのプロビジョニング」を参照してください。
手順
- Red Hat Hybrid Cloud Console Web コンソールから、Host discovery ページに移動します。
Role 列で、対象のホスト名ごとに
Control plane node
またはWorker
を選択します。重要次のステップに進む前に、各ノードが
Ready
ステータスに達するまで待ちます。- Storage ステップと Networking ステップのデフォルト設定を受け入れ、Next をクリックします。
Custom manifests ページの Folder フィールドで、
manifest
を選択します。これは、カスタムマニフェストファイルを保存する Assisted Installer 用のフォルダーです。-
File name フィールドに、
oci-ccm.yml
などの値を入力します。 -
Content セクションで Browse をクリックし、
custom_manifest/manifests/oci-ccm.yml
にあるドライブから CCM マニフェストを選択します。
-
File name フィールドに、
次の Custom manifest セクションを展開し、以下のマニフェストに対して同じ手順を繰り返します。
-
CSI ドライバーマニフェスト:
custom_manifest/manifests/oci-csi.yml
-
CCM マシン設定:
custom_manifest/openshift/machineconfig-ccm.yml
-
CSI ドライバーマシン設定:
custom_manifest/openshift/machineconfig-csi.yml
-
CSI ドライバーマニフェスト:
- Review and create ページで、Install cluster をクリックして、OCI 上に OpenShift Container Platform クラスターを作成します。
クラスターのインストールと初期化操作が完了すると、Assisted Installer によってクラスターのインストール操作が完了したことが示されます。詳細は、OpenShift Container Platform の Assisted Installer ドキュメントの「インストールの完了」セクションを参照してください。
1.6. OCI へのクラスターのインストールが成功したことを確認する
クラスターがインストールされ、Oracle® Cloud Infrastructure (OCI) 上で効果的に実行されていることを確認します。
手順
- Hybrid Cloud Console から Clusters > Assisted Clusters に移動し、クラスターの名前を選択します。
- インストールの進行状況バーが 100% になっていて、“Installation completed successfully” というメッセージが表示されていることを確認します。
- OpenShift Container Platform Web コンソールにアクセスするために、表示される Web コンソール URL をクリックします。
- Nodes メニューページに移動します。
- Nodes テーブルからノードを見つけます。
-
Overview タブで、ノードが
Ready
ステータスになっていることを確認します。 - YAML タブを選択します。
-
labels
パラメーターを確認し、表示されるラベルが、使用する設定に該当するものであることを確認します。たとえば、topology.kubernetes.io/region=us-sanjose-1
というラベルからは、ノードがデプロイされた OCI リージョンがわかります。
1.7. OCI でのクラスターのインストールのトラブルシューティング
Assisted Installer を使用して OpenShift Container Platform クラスターを Oracle® Cloud Infrastructure (OCI) にインストールする際に問題が発生した場合は、次のセクションを読んで一般的な問題のトラブルシューティングを行ってください。
OCI の Ingress ロードバランサーが健全なステータスでない
この問題は、Warning
として分類されています。Resource Manager を使用してスタックを作成すると、デフォルトで 3 つのコンピュートノードのプールが作成され、Ingress ロードバランサーのバックエンドリスナーとして自動的に追加されるためです。デフォルトでは、OpenShift Container Platform は 2 つのルーター Pod をデプロイします。これらの Pod は、OpenShift Container Platform マニフェストファイルのデフォルト値に基づいています。3 つのコンピュートノードで実行できる使用可能なルーター Pod の数 (2 つ) との不一致により、このような Warning
が発生することが予想されます。
図1.2 OCI の Backend set information タブに表示される Warning
メッセージの例:
Ingress ロードバランサーの設定を変更する必要はありません。代わりに、OpenShift Container Platform 上のクラスター内で動作する特定のコンピュートノードに、Ingress ロードバランサーを参照させることができます。これを行うには、OpenShift Container Platform でアノテーションなどの配置メカニズムを使用して、最初に Ingress ロードバランサーにバックエンドリスナーとして設定したコンピュートノード上でのみルーター Pod を実行します。
OCI スタック作成操作が失敗し、Error: 400-InvalidParameter というメッセージが表示される
OCI でスタックを作成しようとすると、ジョブの Logs セクションにエラーメッセージが出力されることがあります。以下に例を示します。
Error: 400-InvalidParameter, DNS Label oci-demo does not follow Oracle requirements Suggestion: Please update the parameter(s) in the Terraform config as per error message DNS Label oci-demo does not follow Oracle requirements Documentation: https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/core_vcn
Hybrid Cloud Console の Install OpenShift with the Assisted Installer ページに移動し、Cluster Details ステップの Cluster name フィールドを確認します。ハイフン (-
) などの特殊文字は、OCI 命名規則に対応性してないため、名前から削除してください。たとえば、oci-demo
は ocidemo
に変更します。
第2章 Agent-based Installer を使用して Oracle Cloud Infrastructure (OCI) にクラスターをインストールする
OpenShift Container Platform 4.18 では、Agent-based Installer を使用して Oracle® Cloud Infrastructure (OCI) にクラスターをインストールすると、専用、ハイブリッド、パブリックおよびマルチクラウド環境をサポートするインフラストラクチャー上でクラスターのワークロードを実行できます。
2.1. Agent-based Installer と OCI の概要
Agent-based Installer を使用して、OpenShift Container Platform クラスターを Oracle® Cloud Infrastructure (OCI) にインストールできます。Red Hat と Oracle はどちらも、OCI 上の OpenShift Container Platform クラスターで OCI および Oracle® Cloud VMware Solution (OCVS) ワークロードの実行をテスト、検証、サポートしています。
Agent-based Installer は、Assisted Installation サービスを使いやすくするだけでなく、接続環境または非接続環境のいずれかにクラスターをインストールする機能を備えています。
次の図は、接続環境と非接続環境のワークフローを示しています。
図2.1 接続環境で Agent-based Installer を使用して OCI にクラスターをインストールするためのワークフロー
図2.2 非接続環境で Agent-based Installer を使用して OCI にクラスターをインストールするためのワークフロー
OCI は、規制コンプライアンス、パフォーマンス、費用対効果のニーズを満たすサービスを提供します。OCI は、64 ビット x86
インスタンスと 64 ビット ARM
インスタンスをサポートします。さらに、OCI は、アプリケーションのアーキテクチャーの変更を最小限に抑えながら VMware ワークロードを OCI に移動できる OCVS サービスを提供します。
ブートディスクには、Nonvolatile Memory Express (NVMe) ドライブまたはソリッドステートドライブ (SSD) を選択することを検討してください。これらのドライブは、低遅延機能と高スループット機能をブートディスクに提供するためです。
OCI で OpenShift Container Platform クラスターを実行すると、次の機能を利用できます。
- コンピュートフレキシブルシェイプ。仮想マシンの Oracle® CPU (OCPU) とメモリーリソースの数をカスタマイズできます。この機能を利用すると、リソースのバランスが取れた環境でクラスターのワークロードが操作を実行できます。Red Hat Ecosystem Catalog ポータルの Oracle ページにアクセスすると、RHEL 認定を受けたすべての OCI シェイプを参照できます。
- ブロックボリュームストレージ。ストレージボリュームのスケーリングと自動チューニングを設定できるため、ブロックボリュームサービスによりパフォーマンスレベルを自動的に調整してパフォーマンスを最適化できます。
- OCVS。VMware® vSphere ソフトウェア定義データセンタ (SDDC) 上で動作するパブリッククラウド環境にクラスターをデプロイできます。VMware vSphere 環境に対する完全な管理権限を維持しながら、OCI サービスを使用して、柔軟かつスケーラブルでセキュアなインフラストラクチャー上でアプリケーションを改善できます。
OCI および OCVS サービス上で動作するクラスターワークロードに最適なパフォーマンス条件を確保するために、ブロックボリュームのボリュームパフォーマンスユニット (VPU) がワークロードに適したサイズに設定されていることを確認してください。次のリストを参考に、特定のパフォーマンスニーズに応じて必要な VPU を選択してください。
- テストまたは概念実証環境: 100 GB、20 - 30 VPU。
- 基本的な環境: 500 GB、60 VPU
- 高負荷の実稼働環境: 500 GB 以上、100 以上の VPU
更新やスケーリングアクティビティーに十分な容量を提供できるように、VPU を余分に確保しておくことを検討してください。VPU の詳細は、Oracle ドキュメントの「Volume Performance Units」を参照してください。
2.2. OCI インフラストラクチャーのリソースとサービスの作成
仮想マシン (VM) シェイプ上に OCI 環境を作成する必要があります。この環境を作成すると、OpenShift Container Platform をインストールし、幅広いクラウドオプションと強力なセキュリティーポリシーをサポートするインフラストラクチャーにクラスターをデプロイできます。OCI コンポーネントに関する事前の知識があれば、OCI リソースの概念を理解し、組織のニーズに合わせてリソースを設定する方法を理解するのに役立ちます。
OCI に OpenShift Container Platform クラスターをインストールするための Agent-based Installer 方式では、OCI リソースとサービスを手動で作成する必要があります。
OpenShift Container Platform との互換性を確保するには、各 DNS レコードのレコードタイプとして A
を設定し、次のようにレコードに名前を付ける必要があります。
-
api.<cluster_name>.<base_domain>
。これは API ロードバランサーのapiVIP
パラメーターをターゲットとしています。 -
api-int.<cluster_name>.<base_domain>
。これは API ロードバランサーのapiVIP
パラメーターをターゲットとしています。 -
*.apps.<cluster_name>.<base_domain>
。これは Ingress ロードバランサーのingressVIP
パラメーターをターゲットとしています。
api.*
および api-int.*
DNS レコードは、コントロールプレーンマシンに関連しています。そのため、インストールした OpenShift Container Platform クラスター内のすべてのノードがこれらの DNS レコードにアクセスできることを確認する必要があります。
前提条件
- OpenShift Container Platform クラスターをホストするために OCI アカウントを設定しました。Prerequisites (Oracle ドキュメント) を参照してください。
手順
- 必要な OCI リソースとサービスを作成します。OCI Resources Needed for Using the Agent-based Installer (Oracle ドキュメント) を参照してください。
2.3. OCI にクラスターをインストールするための設定ファイルの作成
Agent-based Installer を使用して起動可能な ISO イメージを生成できるように、install-config.yaml
設定ファイルと agent-config.yaml
設定ファイルを作成する必要があります。エージェントベースのインストールは、Assisted Discovery Agent と Assisted Service を含む起動可能な ISO で構成されます。これらのコンポーネントは、クラスターのインストールを実行するために両方とも必要ですが、後者のコンポーネントはいずれか 1 つのホストでのみ実行されます。
後の段階では、Oracle ドキュメントの手順に従って、生成されたエージェント ISO イメージを Oracle のデフォルトの Object Storage バケットにアップロードする必要があります。これは、OpenShift Container Platform クラスターを Oracle® Cloud Infrastructure (OCI) に統合するための最初の手順です。
Agent-based Installer を使用して、ゼロタッチプロビジョニング (ZTP) カスタムリソースを生成または受け入れることもできます。
前提条件
- OpenShift Container Platform のインストールおよび更新プロセスの詳細を確認している。
- クラスターインストール方法の選択およびそのユーザー向けの準備を確認している。
- 「Agent-based Installer を使用したインストールの準備」ドキュメントを確認した。
- Red Hat Hybrid Cloud Console から Agent-based Installer とコマンドラインインターフェイス (CLI) をダウンロードしている。
- 管理者権限で OpenShift Container Platform にログインしている。
手順
非接続環境の場合は、Red Hat OpenShift のミラーレジストリーをローカルコンテナーイメージレジストリーにミラーリングします。
重要openshift-install
バイナリーのバージョンが、Red Hat Quay などの共有レジストリーではなく、ローカルイメージコンテナーレジストリーに関連していることを確認してください。$ ./openshift-install version
共有レジストリーバイナリーの出力例
./openshift-install 4.15.0 built from commit ae7977b7d1ca908674a0d45c5c243c766fa4b2ca release image registry.ci.openshift.org/origin/release:4.15ocp-release@sha256:0da6316466d60a3a4535d5fed3589feb0391989982fba59d47d4c729912d6363 release architecture amd64
組織のニーズに合わせて
install-config.yaml
設定ファイルを設定します。外部プラットフォームの設定を示す
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
- インフラストラクチャーに応じて、
x86_64
または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
ディレクトリーに移動しないでください。-
Oracle ドキュメントの "Configuration Files" セクションの手順を完了して、Oracle Cloud Controller Manager (CCM) および Oracle Container Storage Interface (CSI) マニフェストをアーカイブファイルとしてダウンロードし、アーカイブファイルを
openshift
ディレクトリーに保存します。OpenShift Container Platform が外部 OCI プラットフォームに接続できるように、クラスターのインストール中に Oracle CCM をデプロイするために Oracle CCM マニフェストが必要です。OpenShift Container Platform が OCI から必要なオブジェクトを要求できるように、クラスターのインストール中に Oracle CSI ドライバーをデプロイするために Oracle CSI カスタムマニフェストが必要です。 Oracle ドキュメントの "Configuration Files" セクションで提供されているカスタムマニフェストファイルにアクセスします。
-
oci-ccm.yml
設定ファイルで定義されているoci-cloud-controller-manager
シークレットを、組織のリージョン、コンパートメント OCID、VCN OCID、およびロードバランサーのサブネット OCID と一致するように変更します。
-
OpenShift Container Platform CLI で次のコマンドを入力し、Agent-based Installer を使用して、rootfs イメージを除いた最小限の ISO イメージを生成します。後のプロセスでこのイメージを使用して、クラスターのすべてのノードを起動できます。
$ ./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 イメージは、オペレーティングシステムの起動、復旧、修復に必要です。
-
サブディレクトリー
組織の要件に合わせて
agent-config.yaml
設定ファイルを設定します。IPv4 形式のネットワークの値を設定する
agent-config.yaml
設定ファイルの例apiVersion: v1alpha1 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。
次のどちらかの更新を、
agent-config.yaml
設定ファイルに適用します。非接続ネットワークの場合: コマンドを実行して最小限の ISO イメージを生成すると、Agent-based Installer によって rootfs イメージがローカルシステムの
./<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 イメージの設定に追加します。接続されたネットワークの場合:
agent-config.yaml
設定ファイルでbootArtifactsBaseURL
パラメーターを指定する必要はありません。Agent-based Installer のデフォルトの動作で、https://rhcos.mirror.openshift.com
から rootfs URL の場所を読み取ります。Agent-based Installer は、外部プラットフォームの最小限の ISO を起動した後、デフォルトの RHCOS URL から rootfs ファイルをシステムのメモリーにダウンロードします。重要1
GB を超える完全な ISO イメージには、rootfs イメージが含まれていることに注意してください。このイメージは、通常150
MB 未満の最小 ISO イメージよりも大きくなります。
2.4. OpenShift Container Platform のファイアウォールの設定
OpenShift Container Platform をインストールする前に、ファイアウォールを、OpenShift Container Platform が必要とするサイトへのアクセスを付与するように設定する必要があります。ファイアウォールを使用する場合は、OpenShift Container Platform が機能するために必要なサイトにアクセスできるように、ファイアウォールに追加の設定を行います。
非接続環境の場合は、Red Hat と Oracle の両方のコンテンツをミラーリングする必要があります。このような環境では、ファイアウォールを特定のポートとレジストリーに公開するためのファイアウォールルールを作成する必要があります。
ご使用の環境で OpenShift Container Platform クラスターの前に専用のロードバランサーがある場合は、ファイアウォールとロードバランサーの間の許可リストを確認して、クラスターに対する不要なネットワーク制限を回避してください。
手順
ファイアウォールの許可リストに次のレジストリー URL を設定します。
URL ポート 機能 registry.redhat.io
443
コアコンテナーイメージを指定します。
access.redhat.com
443
コンテナークライアントが
registry.access.redhat.com
から取得したイメージを検証するのに必要な署名ストアをホストします。ファイアウォール環境では、このリソースが許可リストに含まれていることを確認してください。registry.access.redhat.com
443
コアコンテナーイメージを含め、Red Hat Ecosystem Catalog に保存されているすべてのコンテナーイメージをホストします。
quay.io
443
コアコンテナーイメージを指定します。
cdn.quay.io
443
コアコンテナーイメージを指定します。
cdn01.quay.io
443
コアコンテナーイメージを指定します。
cdn02.quay.io
443
コアコンテナーイメージを指定します。
cdn03.quay.io
443
コアコンテナーイメージを指定します。
cdn04.quay.io
443
コアコンテナーイメージを指定します。
cdn05.quay.io
443
コアコンテナーイメージを指定します。
cdn06.quay.io
443
コアコンテナーイメージを指定します。
sso.redhat.com
443
https://console.redhat.com
サイトは、sso.redhat.com
からの認証を使用します。-
許可リストで
cdn.quay.io
とcdn0[1-6].quay.io
の代わりに、ワイルドカードの*.quay.io
と*.openshiftapps.com
を使用できます。 -
ワイルドカード
*.access.redhat.com
を使用すると、設定を簡素化し、registry.access.redhat.com
を含むすべてのサブドメインを許可できます。 -
quay.io
などのサイトを許可リストに追加するには、*.quay.io
などのワイルドカードエントリーを拒否リストに加えないでください。ほとんどの場合、イメージレジストリーはコンテンツ配信ネットワーク (CDN) を使用してイメージを提供します。ファイアウォールがアクセスをブロックすると、最初のダウンロード要求がcdn01.quay.io
などのホスト名にリダイレクトされるときに、イメージのダウンロードが拒否されます。
-
許可リストで
- ファイアウォールの許可リストを設定し、ビルドに必要な言語またはフレームワークのリソースを提供するサイトをリストに含めます。
Telemetry を無効にしていない場合は、以下の URL へのアクセスを許可して Red Hat Insights にアクセスできるようにする必要があります。
URL ポート 機能 cert-api.access.redhat.com
443
Telemetry で必須
api.access.redhat.com
443
Telemetry で必須
infogw.api.openshift.com
443
Telemetry で必須
console.redhat.com
443
Telemetry および
insights-operator
で必須ファイアウォールの許可リストを設定し、次のレジストリー URL をリストに含めます。
URL ポート 機能 api.openshift.com
443
クラスタートークンの両方が必要であり、クラスターに更新が利用可能かどうかを確認するために必要です。
rhcos.mirror.openshift.com
443
Red Hat Enterprise Linux CoreOS (RHCOS) イメージをダウンロードするために必要。
ファイアウォールの許可リストを設定し、次の外部 URL をリストに含めます。各リポジトリー URL は OCI コンテナーをホストします。パフォーマンスの問題を軽減するために、イメージをミラーリングするリポジトリーの数をできる限り少なくすることを検討してください。
URL ポート 機能 k8s.gcr.io
port
コミュニティーベースのイメージレジストリーのコンテナーイメージをホストする Kubernetes レジストリー。このイメージレジストリーは、カスタム Google Container Registry (GCR) ドメインでホストされています。
ghcr.io
port
Open Container Initiative イメージを保存および管理できる GitHub イメージレジストリー。プライベート、内部、パブリックパッケージを公開、インストール、削除するには、アクセストークンが必要です。
storage.googleapis.com
443
リリースイメージ署名のソース (ただし、Cluster Version Operator には単一の機能ソースのみが必要)。
registry.k8s.io
port
k8s.gcr.io
イメージレジストリーを置き換えます。これは、k8s.gcr.io
イメージレジストリーが他のプラットフォームやベンダーをサポートしていないためです。
2.5. OCI でのクラスターの実行
Oracle® Cloud Infrastructure (OCI) でクラスターを実行するには、生成されたエージェント ISO イメージを OCI のデフォルトの Object Storage バケットにアップロードする必要があります。さらに、OCI 上でクラスターを実行するために OpenShift Container Platform と OCI が相互に通信できるように、提供されたベースイメージからコンピュートインスタンスを作成する必要があります。
OCI は、次の OpenShift Container Platform クラスタートポロジーをサポートしています。
- シングルノードへの OpenShift Container Platform クラスターのインストール
- 少なくとも 3 つのコントロールプレーンインスタンスと 2 つのコンピュートインスタンスを持つ高可用性クラスター
- 少なくとも 3 つのコントロールプレーンインスタンスを持つコンパクトな 3 ノードクラスター
前提条件
- エージェント ISO イメージを生成した。「OCI にクラスターをインストールするための設定ファイルの作成」を参照してください。
手順
- エージェント ISO イメージを Oracle のデフォルトの Object Storage バケットにアップロードし、エージェント ISO イメージをカスタムイメージとしてこのバケットにインポートします。カスタムイメージが Unified Extensible Firmware Interface (UEFI) モードで起動するように設定されていることを確認します。詳細は、Creating the OpenShift Container Platform ISO Image (Oracle ドキュメント) を参照してください。
クラスタートポロジー用に提供されたベースイメージからコンピュートインスタンスを作成します。Creating the OpenShift Container Platform cluster on OCI (Oracle ドキュメント) を参照してください。
重要コンピュートインスタンスを作成する前に、クラスターに十分なメモリーとディスクリソースがあることを確認してください。さらに、少なくとも 1 つのコンピュートインスタンスが、
agent-config.yaml
ファイルのrendezvousIP
に記載されているアドレスと同じ IP アドレスを持っていることを確認してください。
2.6. エージェントベースのクラスターのインストールが OCI 上で実行されることを確認する
クラスターがインストールされ、Oracle® Cloud Infrastructure (OCI) 上で効果的に実行されていることを確認します。
前提条件
- 必要な OCI リソースとサービスをすべて作成した。「OCI インフラストラクチャーのリソースとサービスの作成」を参照してください。
-
install-config.yaml
設定ファイルとagent-config.yaml
設定ファイルを作成した。「OCI にクラスターをインストールするための設定ファイルの作成」を参照してください。 - エージェント ISO イメージを Oracle のデフォルトの Object Storage バケットにアップロードし、OCI 上にコンピュートインスタンスを作成した。詳細は、「OCI でのクラスターの実行」を参照してください。
手順
OpenShift Container Platform クラスター内の自己管理ノードにコンピュートインスタンスをデプロイした後、以下のいずれかの方法でクラスターのステータスを監視できます。
OpenShift Container Platform CLI から次のコマンドを入力します。
$ ./openshift-install agent wait-for install-complete --log-level debug
ブートストラップノードが動作する
rendezvous
ホストノードの状態を確認します。ホストが再起動すると、ホストはクラスターの一部となります。kubeconfig
API を使用して、さまざまな OpenShift Container Platform コンポーネントのステータスを確認します。KUBECONFIG
環境変数に、クラスターのkubeconfig
設定ファイルの相対パスを設定します。$ export KUBECONFIG=~/auth/kubeconfig
クラスターの各自己管理ノードのステータスを確認します。CCM は、各ノードにラベルを適用して、ノードを OCI 上のクラスターで実行するよう指定します。
$ oc get nodes -A
出力例
NAME STATUS ROLES AGE VERSION main-0.private.agenttest.oraclevcn.com Ready control-plane, master 7m v1.27.4+6eeca63 main-1.private.agenttest.oraclevcn.com Ready control-plane, master 15m v1.27.4+d7fa83f main-2.private.agenttest.oraclevcn.com Ready control-plane, master 15m v1.27.4+d7fa83f
クラスターの各 Operator のステータスを確認します。CCM Operator のステータスは、クラスターが実行中であることを示す適切な指標です。
$ oc get co
出力例 (一部のみ記載)
NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE MESSAGE authentication 4.15.0-0 True False False 6m18s baremetal 4.15.0-0 True False False 2m42s network 4.15.0-0 True True False 5m58s Progressing: … …
Legal Notice
Copyright © 2024 Red Hat, Inc.
OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
Modified versions must remove all Red Hat trademarks.
Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.