クラスタへのノードの追加

OCIにデプロイされたRed Hat OpenShiftクラスタにノードを追加する方法について学習します。

前提条件

始める前に、次のものがあることを確認してください。

  • OCIで機能するOpenShiftクラスタ。

  • OpenShiftコンソールおよびOCIでプロビジョニングされたクラスタ(そのkubeconfigファイルを含む)へのアクセス。

  • OCI Computeインスタンスおよびロード・バランサを管理する権限。詳細は、IAMの概要および共通ポリシーを参照してください。

パート1: ISOイメージの生成およびアップロード

既存のOpenShiftクラスタにノードを追加するには、まずノード・プロビジョニング用のブート可能なISOイメージを生成し、それをOCI Object Storageにアップロードし、Terraform構成で使用する事前認証済リクエスト(PAR) URLを生成する必要があります。

ISOイメージの生成およびアップロード
ISOを生成する方法は、クラスタをデプロイする方法によって異なります。

ISOイメージをオブジェクト・ストレージ・バケットにアップロードし、事前認証済リクエストURLを生成するには、オブジェクト・ストレージへのRed Hat ISOイメージのアップロードを参照してください。OpenShiftイメージ・ソースURIを入力する場合は、この事前認証済リクエストURLを指定する必要があります。

パート2: OCIでの計算ノードのプロビジョニング

この項の手順に従って、リソース・マネージャ・サービスのadd-nodes.zipファイルを使用してOCIコンピュート・ノードをプロビジョニングします。

OpenShiftクラスタに対する計算ノードのプロビジョニング
  1. GitHubのoci-openshift-releasesページに移動します。必要なリリースの「アセット」セクションから、add-nodes.zipファイルをダウンロードします。ファイルの以前のバージョンも使用できます。
  2. OCIコンソールにサインインします。手順が必要な場合は、OCIスタート・ガイドでコンソールへのサインインを参照してください。
  3. ナビゲーション・メニューを開き、「開発者サービス」を選択します。「リソース・マネージャ」で、「スタック」を選択します。
  4. 「スタックの作成」を選択します
  5. 「スタック情報」セクションで、「自分の構成」を選択します。.zipファイルを選択し、add-nodes.zipファイルをアップロードします。構成ソースを指定したら、「次へ」を選択します。
  6. OpenShiftクラスタ構成セクションで、テナンシおよびコンパートメントOCIDsを指定します。OpenShiftイメージ・ソースURIに、パート1でアップロードしたISOイメージの事前認証済リクエストURLを貼り付けます。
  7. 「ネットワーキング構成」セクションで、ネットワーキング・コンパートメント、既存のVCN、OCPおよびベア・メタル用の既存のプライベート・サブネットおよび既存のパブリック・サブネットを指定します。
  8. 「コントロール・プレーン・ノード構成」セクションで、クラスタに追加するコントロール・プレーン・ノードの詳細を指定します。シェイプ、OCPU、メモリー、ブート・ボリューム・サイズ、ボリューム・パフォーマンス・ユニット(VPU)などのノード変数の詳細は、OpenShiftコンテナ・プラットフォーム・インフラストラクチャの作成のトピックを参照してください。
  9. 「コンピュート・ノード構成」セクションで、クラスタに追加するコンピュート・ノードの詳細を指定します。
  10. 「作成」を選択してスタックを作成します。コンソールは、新しいスタックのスタックの詳細ページにリダイレクトされます。
  11. スタックの詳細ページで、「適用」を選択して適用ジョブを作成し、クラスタの新しいノードをプロビジョニングします。適用ジョブの実行後、ジョブの詳細を取得してそのステータスを確認します。成功(SUCCEEDED)は、ジョブが完了したことを示します。

パート2: クラスタへのノードの追加

「OpenShiftクラスタのコンピュート・ノードのプロビジョニング」セクションのステップを完了すると、新しいノードをOpenShiftクラスタに追加できるようになります。クラスタ・タイプに基づいて指示に従います。

補助インストーラのクラスタ手順(コンソール)

Assistedインストーラを使用してクラスタを作成した場合は、Red Hat Hybrid Cloud Consoleおよびクラスタ・コンソールを使用して、新しいノードをクラスタに追加し、証明書署名リクエスト(CSR)を承認できます。

または、OpenShift CLI (oc)バージョン4.17以降を使用して、これらのタスクを実行できます。CLIを使用するには、「CLIを使用したクラスタへのノードの追加」の手順に従います。

Red Hat Hybrid Cloud Consoleでのクラスタへのホストの追加
  1. Red Hat Hybrid Cloud Console (https://console.redhat.com/openshift/)のクラスタ詳細ページに移動し、「ホストの追加」タブを選択して「ホストの追加」セクションを表示します。
  2. 新しいホストが「準備完了」状態になったら、クラスタの詳細ページで「準備完了ホストのインストール」ボタンを選択して続行します。新しいホストがブートし、OpenShiftクラスタに登録されます。インストールを完了するには、クラスタのOpenShift Webコンソールで承認する必要があります。手順については、Approve new nodes in the cluster consoleを参照してください。
    ヒント

    Red Hat Hybrid Cloud Consoleでノードの追加中に「不十分な」エラーが発生した場合は、トラブルシューティング・ページのOpenShiftコンソールでのノードの追加時の「不十分な」エラーの項を参照してください。
クラスタ・コンソールでの新規ノードの承認
  1. クラスタのOpenShift Webコンソールにサインインします。
  2. 「コンピュート」「ノード」の順に選択して、クラスタで使用可能なノードのリストに移動します。

    Webベースのクラスタ・コンソールでのクラスタのノードのリスト・ビューのイメージです。

  3. 新しいノードの行の [検出]リンクを選択します。
  4. 「証明書の承認が必要です」ダイアログで、「承認」を選択してクラスタにノードを追加します。ノードに保留中のサーバー認証署名リクエストがある場合、ノードのステータスは「準備中」に変わります。

    「証明書の承認が必要」ダイアログのイメージです。

  5. 「未準備」状態のノードの場合、「未準備」リンクを選択して「ノード・ステータス」ダイアログを開きます。署名リクエスト情報を確認し、「承認」を選択して署名プロセスを完了し、クラスタ内のワークロードをノードに取得させます。

    サーバー署名リクエスト承認ボタンが表示されたノード・ステータス・ダイアログのイメージです。

エージェントベースのインストーラのクラスタ手順(CLI)

エージェントベースのインストーラを使用してクラスタを作成した場合は、OpenShift CLI (oc)バージョン4.17以降を使用して、新しいノードをクラスタに追加し、証明書署名リクエスト(CSR)を承認する必要があります。
ノート

CLIを使用してターゲット・クラスタに接続するには、kubeconfigファイルが必要です。このファイルは、クラスタのインストール中に生成されます。詳細は、Red HatドキュメントのOpenShift CLIのインストールおよびクラスタへのノードの追加を参照してください。
CLIを使用したクラスタへのノードの追加
  1. kubeconfigファイルを使用してターゲット・クラスタに接続します。
  2. 次のコマンドを実行して、ノードがブートされ、クラスタに追加できる状態になっていることを確認します。

    $ oc adm node-image monitor --ip-addresses <ip_addresses>
                                    

    <ip_addresses>は、追加するノードのIPアドレスのリストを指定します。

  3. CSRごとに次のコマンドを実行して、CSRを承認します。

    $ oc adm certificate approve <csr_name>
                                    

    保留中のCSRに関する情報が必要な場合は、次のコマンドを実行します。

    $ oc get csr