ベアメタル版 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"
これらのフィールドは、このクラスタでクラウド プロバイダを初期化すると削除されます。