第7章 OpenStack Cloud Controller Manager リファレンスガイド
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 クラウドを変更できます。