検索

20.2. Agent-based Installer を使用して Oracle Cloud Infrastructure (OCI) にクラスターをインストールする

download PDF

OpenShift Container Platform 4.16 では、Agent-based Installer を使用して Oracle® Cloud Infrastructure (OCI) にクラスターをインストールすると、専用、ハイブリッド、パブリックおよびマルチクラウド環境をサポートするインフラストラクチャー上でクラスターのワークロードを実行できます。

20.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 サービスを使いやすくするだけでなく、接続環境または非接続環境のいずれかにクラスターをインストールする機能を備えています。

次の図は、接続環境と非接続環境のワークフローを示しています。

図20.3 接続環境で Agent-based Installer を使用して OCI にクラスターをインストールするためのワークフロー

接続環境で Agent-based Installer を使用して OCI にクラスターをインストールするためのワークフロー概略図

図20.4 非接続環境で Agent-based Installer を使用して OCI にクラスターをインストールするためのワークフロー

非接続環境で 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」を参照してください。

20.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 レコードにアクセスできることを確認する必要があります。

前提条件

手順

20.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 にログインしている。

手順

  1. 非接続環境の場合は、Red Hat OpenShift のミラーレジストリーをローカルコンテナーイメージレジストリーにミラーリングします。

    重要

    openshift-install バイナリーのバージョンが、Red Hat Quay などの共有レジストリーではなく、ローカルイメージコンテナーレジストリーに関連していることを確認してください。

    $ ./openshift-install version

    共有レジストリーバイナリーの出力例

    ./openshift-install 4.16.0
    built from commit ae7977b7d1ca908674a0d45c5c243c766fa4b2ca
    release image registry.ci.openshift.org/origin/release:4.16ocp-release@sha256:0da6316466d60a3a4535d5fed3589feb0391989982fba59d47d4c729912d6363
    release architecture amd64

  2. 組織のニーズに合わせて 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 を参照してください。
  3. ローカルシステム上に openshift という名前のディレクトリーを作成します。

    重要

    install-config.yaml および agent-config.yaml 設定ファイルを openshift ディレクトリーに移動しないでください。

  4. 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 カスタムマニフェストが必要です。
  5. Oracle ドキュメントの "Configuration Files" セクションで提供されているカスタムマニフェストファイルにアクセスします。

    1. oci-ccm.yml 設定ファイルで定義されている oci-cloud-controller-manager シークレットを、組織のリージョン、コンパートメント OCID、VCN OCID、およびロードバランサーのサブネット OCID と一致するように変更します。
  6. 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 イメージは、オペレーティングシステムの起動、復旧、修復に必要です。

  7. 組織の要件に合わせて 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。
  8. 次のどちらかの更新を、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 イメージよりも大きくなります。

20.2.4. OpenShift Container Platform のファイアウォールの設定

OpenShift Container Platform をインストールする前に、ファイアウォールを、OpenShift Container Platform が必要とするサイトへのアクセスを付与するように設定する必要があります。ファイアウォールを使用する場合は、OpenShift Container Platform が機能するために必要なサイトにアクセスできるように、ファイアウォールに追加の設定を行います。

非接続環境の場合は、Red Hat と Oracle の両方のコンテンツをミラーリングする必要があります。このような環境では、ファイアウォールを特定のポートとレジストリーに公開するためのファイアウォールルールを作成する必要があります。

注記

ご使用の環境で OpenShift Container Platform クラスターの前に専用のロードバランサーがある場合は、ファイアウォールとロードバランサーの間の許可リストを確認して、クラスターに対する不要なネットワーク制限を回避してください。

手順

  1. ファイアウォールの許可リストに次のレジストリー 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.iocdn0[1-6].quay.io の代わりに、ワイルドカードの *.quay.io*.openshiftapps.com を使用できます。
    • ワイルドカード *.access.redhat.com を使用すると、設定を簡素化し、registry.access.redhat.com を含むすべてのサブドメインを許可できます。
    • quay.io などのサイトを許可リストに追加するには、*.quay.io などのワイルドカードエントリーを拒否リストに加えないでください。ほとんどの場合、イメージレジストリーはコンテンツ配信ネットワーク (CDN) を使用してイメージを提供します。ファイアウォールがアクセスをブロックすると、最初のダウンロード要求が cdn01.quay.io などのホスト名にリダイレクトされるときに、イメージのダウンロードが拒否されます。
  2. ファイアウォールの許可リストを設定し、ビルドに必要な言語またはフレームワークのリソースを提供するサイトをリストに含めます。
  3. 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 で必須

  4. ファイアウォールの許可リストを設定し、次のレジストリー URL をリストに含めます。

    URLポート機能

    api.openshift.com

    443

    クラスタートークンの両方が必要であり、クラスターに更新が利用可能かどうかを確認するために必要です。

    rhcos.mirror.openshift.com

    443

    Red Hat Enterprise Linux CoreOS (RHCOS) イメージをダウンロードするために必要。

  5. ファイアウォールの許可リストを設定し、次の外部 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 イメージレジストリーが他のプラットフォームやベンダーをサポートしていないためです。

20.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 にクラスターをインストールするための設定ファイルの作成」を参照してください。

手順

  1. エージェント ISO イメージを Oracle のデフォルトの Object Storage バケットにアップロードし、エージェント ISO イメージをカスタムイメージとしてこのバケットにインポートします。カスタムイメージが Unified Extensible Firmware Interface (UEFI) モードで起動するように設定されていることを確認します。詳細は、Creating the OpenShift Container Platform ISO Image (Oracle ドキュメント) を参照してください。
  2. クラスタートポロジー用に提供されたベースイメージからコンピュートインスタンスを作成します。Creating the OpenShift Container Platform cluster on OCI (Oracle ドキュメント) を参照してください。

    重要

    コンピュートインスタンスを作成する前に、クラスターに十分なメモリーとディスクリソースがあることを確認してください。さらに、少なくとも 1 つのコンピュートインスタンスが、agent-config.yaml ファイルの rendezvousIP に記載されているアドレスと同じ IP アドレスを持っていることを確認してください。

20.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.16.0-0    True       False          False      6m18s
    baremetal      4.16.0-0    True       False          False      2m42s
    network        4.16.0-0    True       True           False      5m58s  Progressing: …
        …

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.