19.7. OpenStack Cloud Controller Manager リファレンスガイド
19.7.1. OpenStack Cloud Controller Manager
OpenShift Container Platform 4.12 以降、Red Hat OpenStack Platform (RHOSP) で実行されるクラスターは、従来の OpenStack クラウドプロバイダーから外部の OpenStack Cloud Controller Manager (CCM) に切り替えられました。これは、Kubernetes がツリー内の従来のクラウドプロバイダーから、Cloud Controller Manager を使用して実装される外部クラウドプロバイダーに移行したことに伴う変更です。
従来のクラウドプロバイダーのユーザー定義の設定を保持するために、移行プロセスの一環として、既存の設定が新しい設定にマップされます。openshift-config
namespace で cloud-provider-config
と呼ばれる設定を検索します。
設定マップ名 cloud-provider-config
は静的に設定されていません。これは、infrastructure/cluster
CRD の spec.cloudConfig.name
値から派生します。
見つかった設定は、openshift-cloud-controller-manager
namespace の cloud-conf
config map に同期されます。
この同期の一環として、OpenStack CCM Operator は新しい config map を変更して、そのプロパティーが外部クラウドプロバイダーと互換性を持つようにします。ファイルは次の方法で変更されます。
-
[Global] secret-name
、[Global] secret-namespace
、[Global] kubeconfig-path
オプションは削除されました。これらは、外部のクラウドプロバイダーには適用されません。 -
[Global] use-clouds
、[Global] clouds-file
、[Global] cloud
オプションが追加されました。 -
[BlockStorage]
セクション全体が削除されます。外部のクラウドプロバイダーは、ストレージ操作を実行しなくなりました。ブロックストレージの設定は、Cinder CSI ドライバーによって管理されます。
さらに、CCM Operator は多くのデフォルトオプションを適用します。これらのオプションの値は、次のように常にオーバーライドされます。
[Global] use-clouds = true clouds-file = /etc/openstack/secret/clouds.yaml cloud = openstack ... [LoadBalancer] enabled = true
cloud-value
値 /etc/openstack/secret/clouds.yaml
は、openshift-cloud-controller-manager
namespace の openstack-cloud-credentials
設定にマップされます。他の clouds.yaml
ファイルと同様に、このファイルで RHOSP クラウドを変更できます。
19.7.2. OpenStack Cloud Controller Manager (CCM) 設定マップ
OpenStack CCM config map は、クラスターが RHOSP クラウドと対話する方法を定義します。デフォルトでは、この設定は openshift-cloud-controller-manager
namespace にある cloud-conf
config map の cloud.conf
キーの下に保存されます。
cloud-conf
config map は、openshift-config
namespace の cloud-provider-config
config map から生成されます。
cloud-conf
config map で記述されている設定を変更するには、cloud-provider-config
config map を変更します。
この同期の一環として、CCM Operator はいくつかのオプションをオーバーライドします。詳細は、「RHOSP Cloud Controller Manager」を参照してください。
以下に例を示します。
cloud-conf
config map の例
apiVersion: v1
data:
cloud.conf: |
[Global] 1
secret-name = openstack-credentials
secret-namespace = kube-system
region = regionOne
[LoadBalancer]
enabled = True
kind: ConfigMap
metadata:
creationTimestamp: "2022-12-20T17:01:08Z"
name: cloud-conf
namespace: openshift-cloud-controller-manager
resourceVersion: "2519"
uid: cbbeedaf-41ed-41c2-9f37-4885732d3677
- 1
- config map を変更するのではなく、
clouds.yaml
ファイルを使用してグローバルオプションを設定します。
次のオプションが config map に存在します。特に明記されている場合を除き、RHOSP で実行されるクラスターには必須です。
19.7.2.1. ロードバランサー (オプション)
CCM は、Octavia を使用するデプロイメント用にいくつかのロードバランサーオプションをサポートしています。
Neutron-LBaaS のサポートは廃止されました。
オプション | 説明 |
---|---|
|
|
|
オプション: ロードバランサーの仮想 IP アドレス (VIP) のフローティング IP アドレスを作成するために使用される外部ネットワーク。クラウドに複数の外部ネットワークがある場合、このオプションを設定するか、ユーザーがサービスアノテーションで |
|
オプション: ロードバランサー VIP のフローティング IP アドレスを作成するために使用される外部ネットワークサブネット。サービスアノテーション |
|
オプション: ロードバランサー VIP のフローティング IP アドレスを作成するために使用される外部ネットワークサブネットの名前パターン ( |
|
オプション: ロードバランサー VIP のフローティング IP アドレスを作成するために使用される外部ネットワークサブネットのタグ。サービスアノテーション
RHOSP ネットワークが共有を無効にして設定されている場合 (たとえば、作成時に |
|
ロードバランサープールの作成に使用される負荷分散アルゴリズム。Amphora プロバイダーの場合、値は
OVN プロバイダーでは、
Amphora プロバイダの場合、 |
|
オプション: |
|
オプション: ロードバランサー API のバージョン。 |
| ロードバランサーの仮想 IP が作成される Networking サービスのサブネットの ID。デュアルスタックデプロイメントの場合は、このオプションを未設定のままにしておきます。OpenStack クラウドプロバイダーによって、ロードバランサーに使用するサブネットが自動的に選択されます。 |
|
ロードバランサーの仮想 IP が作成される Networking サービスのネットワークの ID。 |
|
サービスロードバランサーのヘルスモニターを作成するかどうか。
|
|
プローブがロードバランサーのメンバーに送信される間隔 (秒単位)。デフォルト値は |
|
ロードバランサーメンバーの動作ステータスを |
|
モニターがタイムアウトする前にバックエンドへの接続を待機する時間 (秒単位)。デフォルト値は |
|
フローティング IP アドレスなしで内部ロードバランサーを作成するかどうか。デフォルト値は |
| これは、一連のオプションで構成される設定セクションです。
これらのオプションの動作は、CCM 設定ファイルのロードバランサーセクションにある同じ名前のオプションの動作と同じです。
サービスアノテーション |
|
ロードバランサーを共有できるサービスの最大数。デフォルト値は |
19.7.2.2. Operator がオーバーライドするオプション
CCM Operator は、RHOSP の設定で認識できる次のオプションをオーバーライドします。自分で設定しないでください。これらは、情報提供のみを目的としてこのドキュメントに含まれています。
オプション | 説明 |
---|---|
|
RHOSP ID サービスの URL。たとえば、 |
| サービスカタログから使用するエンドポイントのタイプ。 |
| Identity サービスのユーザー名。 |
| Identity サービスのユーザーパスワード。 |
| Identity サービスのユーザードメイン ID。 |
| Identity サービスのユーザードメイン名。 |
| Identity サービスのプロジェクト ID。Identity サービスアプリケーションの認証情報を使用している場合は、このオプションを未設定のままにします。
識別子 |
| Identity サービスのプロジェクト名。 |
| Identity サービスプロジェクトのドメイン ID。 |
| Identity サービスプロジェクトのドメイン名。 |
| Identity サービスのユーザードメイン ID。 |
| Identity サービスのユーザードメイン名。 |
|
CCM は、次の場所でファイルを検索します。
|
|
|
|
使用する |