4.7. OpenStack への Hosted Control Plane のデプロイ


重要

Red Hat OpenStack Platform (RHOSP) への Hosted Control Plane クラスターのデプロイは、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

Red Hat OpenStack Platform (RHOSP) 17.1 上で動作するホステッドクラスターを使用して Hosted Control Plane をデプロイできます。

ホステッドクラスター は、API エンドポイントとコントロールプレーンが管理クラスターでホストされている OpenShift Container Platform クラスターです。Hosted Control Plane では、コントロールプレーンは管理クラスター上の Pod として存在します。各コントロールプレーンに専用の仮想マシンまたは物理マシンを用意する必要はありません。

4.7.1. OpenStack の前提条件

Red Hat OpenStack Platform (RHOSP) 上にホステッドクラスターを作成する前に、次の要件を満たしていることを確認してください。

  • OpenShift Container Platform 管理クラスターバージョン 4.17 以降への管理アクセス権がある。このクラスターを、ベアメタル、RHOSP、またはサポートされているパブリッククラウド上で実行できる。
  • HyperShift Operator が、「Hosted Control Plane のデプロイの準備」で指定されているとおりに、管理クラスターにインストールされている。
  • 管理クラスターが、デフォルトの Pod ネットワーク CNI である OVN-Kubernetes を使用して設定されています。
  • OpenShift CLI (oc) と Hosted Control Plane CLI、hcp がインストールされている。
  • ロードバランサーバックエンド (Octavia など) が OCP 管理クラスターにインストールされている。各ホステッドクラスターに対して kube-api サービスを作成するために、ロードバランサーが必要です。

    • Ingress が Octavia ロードバランスを使用して設定されている場合は、RHOSP Octavia サービスがゲストクラスターをホストするクラウドで実行されている。
  • quay.io/openshift-release-dev リポジトリーに有効な プルシークレット ファイルが存在する。
  • 管理クラスターのデフォルトの外部ネットワークに、ゲストクラスターから到達できる。このネットワーク上に、kube-apiserver ロードバランサータイプのサービスが作成されている。
  • Ingress に事前定義された Floating IP アドレスを使用する場合は、ワイルドカードドメイン *.apps.<cluster_name>.<base_domain> に対して、このドメインを指す DNS レコードを作成した。

    • <cluster_name> は、管理クラスターの名前です。
    • <base_domain> は、クラスターのアプリケーションが存在する親 DNS ドメインです。

4.7.2. etcd ローカルストレージ用の管理クラスターの準備

Red Hat OpenStack Platform (RHOSP) 上の Hosted Control Plane (HCP) デプロイメントでは、デフォルトの Cinder ベースの Persistent Volume Claim (PVC) を使用する代わりに、TopoLVM CSI ドライバーによってプロビジョニングされるローカルの一時ストレージを使用することで、etcd のパフォーマンスを向上できます。

前提条件

  • HyperShift がインストールされた管理クラスターにアクセスできる。
  • RHOSP フレーバーとマシンセットを作成および管理できる。
  • oc および openstack CLI ツールがインストールおよび設定されている。
  • TopoLVM および論理ボリュームマネージャー (LVM) ストレージの概念に精通している。
  • 管理クラスターに LVM Storage Operator をインストールした。詳細は、OpenShift Container Platform ドキュメントの「ストレージ」セクションにある「CLI を使用した LVM Storage のインストール」を参照してください。

手順

  1. openstack CLI を使用して、追加の一時ディスクを含む Nova フレーバーを作成します。以下に例を示します。

    $ openstack flavor create \
      --id auto \
      --ram 8192 \
      --disk 0 \
      --ephemeral 100 \
      --vcpus 4 \
      --public \
      hcp-etcd-ephemeral
    Copy to Clipboard Toggle word wrap
    注記

    Nova は、そのフレーバーを使用してサーバーが作成されると、一時ディスクをインスタンスに自動的に接続し、それを vfat としてフォーマットします。

  2. 新しいフレーバーを使用するコンピュートマシンセットを作成します。詳細は、OpenShift Container Platform ドキュメントの「OpenStack でコンピュートマシンセットを作成する」を参照してください。
  3. 要件に合わせてマシンセットをスケーリングします。高可用性のためにクラスターをデプロイする場合は、Pod を適切に分散できるように、少なくとも 3 つのワーカーをデプロイする必要があります。
  4. 新しいワーカーノードにラベルを付けて、etcd 用であることを識別できるようにします。以下に例を示します。

    $ oc label node <node_name> hypershift-capable=true
    Copy to Clipboard Toggle word wrap

    このラベルは任意であり、後で更新できます。

  5. lvmcluster.yaml という名前のファイルで、etcd のローカルストレージ設定のために、次の LVMCluster カスタムリソースを作成します。

    apiVersion: lvm.topolvm.io/v1alpha1
    kind: LVMCluster
    metadata:
      name: etcd-hcp
      namespace: openshift-storage
    spec:
      storage:
        deviceClasses:
        - name: etcd-class
          default: true
          nodeSelector:
             nodeSelectorTerms:
             - matchExpressions:
               - key: hypershift-capable
                operator: In
                values:
                - "true"
          deviceSelector:
            forceWipeDevicesAndDestroyAllData: true
            paths:
            - /dev/vdb
    Copy to Clipboard Toggle word wrap

    このリソースの例について:

    • 一時ディスクの場所は /dev/vdb です。ほとんどの場合、この場所が使用されます。実際の環境でこの場所が正しいことを確認してください。シンボリックリンクはサポートされていないことに注意してください。
    • デフォルトの Nova 一時ディスクは VFAT でフォーマットされているため、パラメーター forceWipeDevicesAndDestroyAllDataTrue 値に設定されています。
  6. 次のコマンドを実行して、LVMCluster リソースを適用します。

    oc apply -f lvmcluster.yaml
    Copy to Clipboard Toggle word wrap
  7. 次のコマンドを実行して、LVMCluster リソースを確認します。

    $ oc get lvmcluster -A
    Copy to Clipboard Toggle word wrap

    出力例

    NAMESPACE           NAME    STATUS
    openshift-storage   etcd-hcp   Ready
    Copy to Clipboard Toggle word wrap

  8. 次のコマンドを実行して、StorageClass リソースを確認します。

    $ oc get storageclass
    Copy to Clipboard Toggle word wrap

    出力例

    NAME                    PROVISIONER               RECLAIMPOLICY   VOLUMEBINDINGMODE     ALLOWVOLUMEEXPANSION   AGE
    lvms-etcd-class         topolvm.io                Delete          WaitForFirstConsumer  true                   23m
    standard-csi (default)  cinder.csi.openstack.org  Delete          WaitForFirstConsumer  true                   56m
    Copy to Clipboard Toggle word wrap

これで、パフォーマンスの高い etcd 設定を使用してホステッドクラスターをデプロイできるようになりました。デプロイメントプロセスについては、「OpenStack 上でのホステッドクラスターの作成」で説明されています。

4.7.3. Ingress 用の Floating IP の作成

手動による介入なしでホステッドクラスターで Ingress を利用できるようにする場合は、事前に Floating IP アドレスを作成できます。

前提条件

  • Red Hat OpenStack Platform (RHOSP) クラウドにアクセスできる。
  • Ingress に事前定義された Floating IP アドレスを使用する場合は、ワイルドカードドメイン *.apps.<cluster_name>.<base_domain> に対して、このドメインを指す DNS レコードを作成した。

    • <cluster_name> は、管理クラスターの名前です。
    • <base_domain> は、クラスターのアプリケーションが存在する親 DNS ドメインです。

手順

  • 次のコマンドを実行して、Floating IP アドレスを作成します。

    $ openstack floating ip create <external_network_id>
    Copy to Clipboard Toggle word wrap

    ここでは、以下のようになります。

    <external_network_id>
    外部ネットワークの ID を指定します。
注記

Floating IP アドレスを事前に作成せずに、--openstack-ingress-floating-ip フラグを使用して Floating IP アドレスを指定すると、cloud-provider-openstack コンポーネントがそれを自動的に作成しようとします。このプロセスは、特定の IP アドレスを使用した Floating IP アドレスの作成が Neutron API ポリシーで許可されている場合にのみ、正常に実行されます。

4.7.4. OpenStack への RHCOS イメージのアップロード

Hosted Control Plane および Red Hat OpenStack Platform (RHOSP) デプロイメントでノードプールをデプロイするときに使用する RHCOS イメージを指定する場合は、イメージを RHOSP クラウドにアップロードします。イメージをアップロードしない場合、OpenStack Resource Controller (ORC) は OpenShift Container Platform ミラーからイメージをダウンロードし、ホステッドクラスターが削除された後にイメージを削除します。

前提条件

  • OpenShift Container Platform ミラーから RHCOS イメージをダウンロードした。
  • RHOSP クラウドにアクセスできる。

手順

  • 次のコマンドを実行して、RHCOS イメージを RHOSP にアップロードします。

    $ openstack image create --disk-format qcow2 --file <image_file_name> rhcos
    Copy to Clipboard Toggle word wrap

    ここでは、以下のようになります。

    <image_file_name>
    RHCOS イメージのファイル名を指定します。

4.7.5. OpenStack 上でのホステッドクラスターの作成

hcp CLI を使用して、Red Hat OpenStack Platform (RHOSP) 上にホステッドクラスターを作成できます。

前提条件

  • 「Hosted Control Plane のデプロイの準備」の前提条件の手順をすべて完了した。
  • 「OpenStack の前提条件」を確認した。
  • 「etcd ローカルストレージ用の管理クラスターの準備」の手順をすべて完了した。
  • 管理クラスターにアクセスできる。
  • RHOSP クラウドにアクセスできる。

手順

  • hcp create コマンドを実行してホステッドクラスターを作成します。たとえば、「etcd ローカルストレージ用の管理クラスターの準備」で詳しく説明されているパフォーマンスの高い etcd 設定を活用するクラスターの場合は、次のように入力します。

    $ hcp create cluster openstack \
      --name my-hcp-cluster \
      --openstack-node-flavor m1.xlarge \
      --base-domain example.com \
      --pull-secret /path/to/pull-secret.json \
      --release-image quay.io/openshift-release-dev/ocp-release:4.19.0-x86_64 \
      --node-pool-replicas 3 \
      --etcd-storage-class lvms-etcd-class
    Copy to Clipboard Toggle word wrap
注記

クラスターの作成時には多くのオプションが利用できます。RHOSP 固有のオプションについては、「OpenStack 上で Hosted Control Plane クラスターを作成するためのオプション」を参照してください。一般的なオプションについては、hcp のドキュメントを参照してください。

検証

  1. 次のコマンドを実行して、ホステッドクラスターの準備ができていることを確認します。

    $ oc -n clusters-<cluster_name> get pods
    Copy to Clipboard Toggle word wrap

    ここでは、以下のようになります。

    <cluster_name>
    クラスターの名前を指定します。

    数分後、出力に Hosted Control Plane Pod が実行中であることが表示されます。

    出力例

    NAME                                                  READY   STATUS    RESTARTS   AGE
    capi-provider-5cc7b74f47-n5gkr                        1/1     Running   0          3m
    catalog-operator-5f799567b7-fd6jw                     2/2     Running   0          69s
    certified-operators-catalog-784b9899f9-mrp6p          1/1     Running   0          66s
    cluster-api-6bbc867966-l4dwl                          1/1     Running   0          66s
    ...
    ...
    ...
    redhat-operators-catalog-9d5fd4d44-z8qqk              1/1     Running   0
    Copy to Clipboard Toggle word wrap

  2. クラスターの etcd 設定を検証するには、次の手順を実行します。

    1. 次のコマンドを実行して、etcd 永続ボリューム要求 (PVC) を検証します。

      $ oc get pvc -A
      Copy to Clipboard Toggle word wrap
    2. Hosted Control Plane の etcd Pod 内で、次のコマンドを実行してマウントパスとデバイスを確認します。

      $ df -h /var/lib
      Copy to Clipboard Toggle word wrap
注記

クラスター API (CAPI) プロバイダーが作成する RHOSP リソースには、openshiftClusterID=<infraID> というラベルでタグ付けされます。

ホステッドクラスターの作成に使用する YAML マニフェストの HostedCluster.Spec.Platform.OpenStack.Tags フィールドに値を指定すると、このリソースに追加のタグを定義できます。ノードプールをスケールアップすると、タグがリソースに適用されます。

4.7.5.1. OpenStack 上で Hosted Control Plane クラスターを作成するためのオプション

Red Hat OpenStack Platform (RHOSP) に Hosted Control Plane クラスターをデプロイするときに、hcp CLI にいくつかのオプションを指定できます。

Expand
オプション説明必須

--openstack-ca-cert-file

OpenStack CA 証明書ファイルへのパス。指定されていない場合は、clouds.yaml のクラウドエントリーから自動的に抽出されます。

いいえ

--openstack-cloud

clouds.yaml 内のクラウドエントリーの名前。デフォルト値は openstack です。

いいえ

--openstack-credentials-file

OpenStack 認証情報ファイルへのパス。指定されていない場合は、hcp によって次のディレクトリーが検索されます。

  • 現在の作業ディレクトリー
  • $HOME/.config/openstack
  • /etc/openstack

いいえ

--openstack-dns-nameservers

サブネットの作成時に提供される DNS サーバーアドレスのリスト。

いいえ

--openstack-external-network-id

OpenStack 外部ネットワークの ID。

いいえ

--openstack-ingress-floating-ip

OpenShift Ingress の Floating IP。

いいえ

--openstack-node-additional-port

ノードに割り当てる追加ポート。有効な値は、network-idvnic-typedisable-port-securityaddress-pairs です。

いいえ

--openstack-node-availability-zone

ノードプールのアベイラビリティーゾーン。

いいえ

--openstack-node-flavor

ノードプールのフレーバー。

はい

--openstack-node-image-name

ノードプールのイメージ名。

いいえ

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat