第20章 OCI へのインストール
20.1. Assisted Installer を使用して Oracle Cloud Infrastructure (OCI) にクラスターをインストールする
OpenShift Container Platform 4.15 以降のバージョンでは、独自に用意するインフラストラクチャーを使用して、Assisted Installer を使用して Oracle® Cloud Infrastructure (OCI) にクラスターをインストールできます。
20.1.1. Assisted Installer と OCI の概要
専用、ハイブリッド、パブリックおよびマルチクラウド環境をサポートする Oracle® Cloud Infrastructure (OCI) インフラストラクチャー上でクラスターワークロードを実行できます。Red Hat と Oracle はどちらも、OCI 上の OpenShift Container Platform クラスターでの OCI の実行をテスト、検証、サポートしています。
Assisted Installer は OCI プラットフォームをサポートしています。Assisted Installer では、OCI へのクラスターのインストールタスクを自動化するために、直感的な対話型ワークフローを利用できます。
図20.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」を参照してください。
20.1.2. OCI リソースとサービスの作成
Oracle® Cloud Infrastructure (OCI) のリソースとサービスを作成すると、組織の要件を満たすガバナンス標準に準拠したインフラストラクチャーを確立できます。
前提条件
- クラスターをホストするための OCI アカウントを設定した。Prerequisites (Oracle ドキュメント) を参照してください。
手順
- 管理者権限を使用して Oracle Cloud Infrastructure (OCI) アカウントにログインします。
- Oracle リソースからアーカイブファイルをダウンロードします。アーカイブファイルには、クラスターリソースとカスタムマニフェストを作成するためのファイルが含まれています。アーカイブファイルにはスクリプトも含まれており、スクリプトを実行すると、DNS レコードやインスタンスなどの OCI リソースが作成されます。詳細は、Configuration Files (Oracle ドキュメント) を参照してください。
20.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 managementZones 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 を必ずメモしておいてください。
関連情報
20.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 ドキュメント) の手順に従ってカスタムマニフェストファイルを編集します。
20.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 ドキュメントの「インストールの完了」セクションを参照してください。
20.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 リージョンがわかります。
20.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
が発生することが予想されます。
図20.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
に変更します。