将集群配置为使用 OpenStack

Anthos clusters on Bare Metal 支持 OpenStack Kubernetes 云提供商。使用此功能可自动将 OpenStack 负载平衡预配为 Service (LBaaS) 资源。这些资源可以替换 MetaLB 资源,以便将在 Anthos on Bare Metal 集群上运行的服务轻松公开给其他 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"

在此集群中初始化云服务商后,这些字段会被移除。