検索

21.8. OpenStack Cloud Controller Manager リファレンスガイド

download PDF

21.8.1. OpenStack クラウドコントローラーマネージャー

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-nameGlobal secret-namespace、および Global kubeconfig-path オプションは削除されました。これらは、外部のクラウドプロバイダーには適用されません。
  • Global use-cloudsGlobal clouds-file、および Global cloud オプションが追加されました。
  • [BlockStorage] セクション全体が削除されます。外部のクラウドプロバイダーは、ストレージ操作を実行しなくなりました。ブロックストレージの設定は、Cinder CSI ドライバーによって管理されます。

さらに、CCM Operator は多くのデフォルトオプションを適用します。これらのオプションの値は、次のように常にオーバーライドされます。

[Global]
use-clouds = true
clouds-file = /etc/openstack/secret/clouds.yaml
cloud = openstack
...

[LoadBalancer]
use-octavia = true
enabled = true 1
1
ネットワークが Kuryr を使用するように設定されている場合、この値は false です。

cloud-value/etc/openstack/secret/clouds.yaml は、openshift-cloud-controller-manager namespace の openstack-cloud-credentials 設定にマップされます。他の clouds.yaml ファイルと同様に、このファイルで RHOSP クラウドを変更できます。

21.8.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]
    use-octavia = 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 で実行されるクラスターには必須です。

21.8.2.1. ロードバランサー (オプション)

CCM は、Octavia を使用するデプロイメント用にいくつかのロードバランサーオプションをサポートしています。

注記

Neutron-LBaaS のサポートは廃止されました。

オプションDescription

enabled

LoadBalancer タイプのサービス統合を有効にするかどうか。デフォルト値は true です。

floating-network-id

オプション:ロードバランサーの仮想 IP アドレス (VIP) のフローティング IP アドレスを作成するために使用される外部ネットワーク。クラウドに複数の外部ネットワークがある場合、このオプションを設定するか、ユーザーがサービスアノテーションで loadbalancer.openstack.org/floating-network-id を指定する必要があります。

floating-subnet-id

オプション:ロードバランサー VIP のフローティング IP アドレスを作成するために使用される外部ネットワークサブネット。サービスアノテーション loadbalancer.openstack.org/floating-subnet-id でオーバーライドできます。

floating-subnet

オプション:ロードバランサー VIP のフローティング IP アドレスを作成するために使用される外部ネットワークサブネットの名前パターン (~ で始まる場合はグロブまたは正規表現)。サービスアノテーション loadbalancer.openstack.org/floating-subnet でオーバーライドできます。複数のサブネットがパターンに一致する場合、使用可能な IP アドレスを持つ最初のサブネットが使用されます。

floating-subnet-tags

オプション:ロードバランサー VIP のフローティング IP アドレスを作成するために使用される外部ネットワークサブネットのタグ。サービスアノテーション loadbalancer.openstack.org/floating-subnet-tags でオーバーライドできます。複数のサブネットがこれらのタグに一致する場合、使用可能な IP アドレスを持つ最初のサブネットが使用されます。

RHOSP ネットワークが共有を無効にして設定されている場合 (たとえば、作成時に --no-share フラグが使用されている場合)、このオプションはサポートされません。このオプションを使用するには、共有するネットワークを設定します。

lb-method

ロードバランサープールの作成に使用される負荷分散アルゴリズム。Amphora プロバイダーの場合、値は ROUND_ROBINLEAST_CONNECTIONS、または SOURCE_IP です。デフォルト値は ROUND_ROBIN です。

OVN プロバイダーでは、SOURCE_IP_PORT アルゴリズムのみがサポートされています。

Amphora プロバイダの場合、LEAST_CONNECTIONS または SOURCE_IP メソッドを使用する場合、openshift-config namespece の cloud-provider-config config map で create-monitor オプションを true として設定します。また、ロードバランサータイプサービスの ETP:Local で、クライアントからサービスのエンドポイント接続でバランスアルゴリズムの実行ができるよう構成します。

lb-provider

オプション:amphoraoctavia など、ロードバランサーのプロバイダーを指定するために使用されます。Amphora および Octavia プロバイダーのみがサポートされています。

lb-version

オプション:ロードバランサー API のバージョン。"v2" のみがサポートされています。

subnet-id

ロードバランサー VIP が作成されるネットワークサービスサブネットの ID。

network-id

ロードバランサーの仮想 IP が作成される Networking サービスのネットワークの ID。subnet-id が設定されている場合は不要です。

create-monitor

サービスロードバランサーのヘルスモニターを作成するかどうか。externalTrafficPolicy: Local を宣言するサービスには、ヘルスモニターが必要です。デフォルト値は false です。

ovn プロバイダーでバージョン 17 より前の RHOSP を使用する場合、このオプションはサポートされません。

monitor-delay

プローブがロードバランサーのメンバーに送信される間隔 (秒単位)。デフォルト値は 5 です。

monitor-max-retries

ロードバランサーメンバーの動作ステータスを ONLINE に変更するために必要なチェックの成功回数。有効な範囲は 1 ~ 10 で、デフォルト値は 1 です。

monitor-timeout

モニターがタイムアウトする前にバックエンドへの接続を待機する時間 (秒単位)。デフォルト値は 3 です。

internal-lb

フローティング IP アドレスなしで内部ロードバランサーを作成するかどうか。デフォルト値は false です。

LoadBalancerClass "ClassName"

これは、一連のオプションで設定される設定セクションです。

  • floating-network-id
  • floating-subnet-id
  • floating-subnet
  • floating-subnet-tags
  • network-id
  • subnet-id

これらのオプションの動作は、CCM 設定ファイルのロードバランサーセクションにある同じ名前のオプションの動作と同じです。

サービスアノテーション loadbalancer.openstack.org/class を指定することで ClassName 値を設定できます。

max-shared-lb

ロードバランサーを共有できるサービスの最大数。デフォルト値は 2 です。

21.8.2.2. Operator がオーバーライドするオプション

CCM Operator は、RHOSP の設定で認識できる次のオプションをオーバーライドします。自分で設定しないでください。これらは、情報提供のみを目的としてこのドキュメントに含まれています。

オプションDescription

auth-url

RHOSP ID サービスの URL。たとえば、http://128.110.154.166/identity です。

os-endpoint-type

サービスカタログから使用するエンドポイントのタイプ。

username

Identity サービスのユーザー名。

password

Identity サービスのユーザーパスワード。

domain-id

Identity サービスのユーザードメイン ID。

domain-name

Identity サービスのユーザードメイン名。

tenant-id

Identity サービスのプロジェクト ID。Identity サービスアプリケーションの認証情報を使用している場合は、このオプションを未設定のままにします。

識別子 tenantproject に変更したバージョン 3 の Identity API では、tenant-id の値が API の project コンストラクトに自動的にマップされます。

tenant-name

Identity サービスのプロジェクト名。

tenant-domain-id

Identity サービスプロジェクトのドメイン ID。

tenant-domain-name

Identity サービスプロジェクトのドメイン名。

user-domain-id

Identity サービスのユーザードメイン ID。

user-domain-name

Identity サービスのユーザードメイン名。

use-clouds

clouds.yaml ファイルから認証認証情報をフェッチするかどうか。このセクションで設定されたオプションは、clouds.yaml ファイルから読み取られた値よりも優先されます。

CCM は、次の場所でファイルを検索します。

  1. clouds-file オプションの値。
  2. 環境変数 OS_CLIENT_CONFIG_FILE に格納されているファイルパス。
  3. ディレクトリー pkg/openstack
  4. ディレクトリー ~/.config/openstack
  5. ディレクトリー /etc/openstack

clouds-file

clouds.yaml ファイルのファイルパス。use-clouds オプションが true に設定されている場合に使用されます。

cloud

使用する clouds.yaml ファイル内の名前付きクラウド。use-clouds オプションが true に設定されている場合に使用されます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.