OpenStack を使用するようにクラスタを構成する

ベアメタル版 Anthos クラスタは、OpenStack Kubernetes Cloud プロバイダをサポートしています。この機能を使用して、OpenStack 負荷分散を Service(LBaaS)リソースとして自動的にプロビジョニングします。これらのリソースで、MetalLB リソースを置き換え、ベアメタル版 Anthos クラスタで実行されているサービスを他の OpenStack テナント内または OpenStack ネットワーク外に容易に公開できます。

始める前に

OpenStack LBaaS リソースを使用する必要がある Anthos クラスタを決めます。

構成しようとしているマシンにアクセスできることを確認します。

Kubernetes ドキュメントで cloud-controller-manager の実行について詳細を確認します。

クラスタの構成ファイルを変更する

OpenStack Kubernetes クラウド プロバイダでは、次の引数を使用して、すべてのノードで kubelet を実行する必要があります。

cloud-provider: "external"

Anthos クラスタがこの要件を簡単に満たすには、クラスタを初期化する前に、メタデータ セクションの下にあるクラスタの構成ファイルに baremetal.cluster.gke.io/external-cloud-provider: "true" アノテーションを追加します。

構成ファイルのエントリは、次の例のようになります。

apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
  name: cluster1
  namespace: cluster-cluster1
  annotations:
    baremetal.cluster.gke.io/external-cloud-provider: "true"
spec:
  ..

構成ファイルを編集した後、次のコマンドを使用してクラスタを初期化します。

bmctl create cluster -c cluster1

これで、cluster1 内のすべてのノードが必要な引数 cloud-provider: "external" を使用して実行されます。

また、すべてのノードの構成ファイルには、次のフィールドも追加されます。

taints:
- effect: NoSchedule
  key: node.cloudprovider.kubernetes.io/uninitialized
  value: "true"

これらのフィールドは、このクラスタでクラウド プロバイダを初期化すると削除されます。