Los clústeres de Anthos en equipos físicos admiten el proveedor de servicios en la nube de OpenStack Kubernetes. Usa esta función para aprovisionar de forma automática los recursos de balanceo de cargas como servicio (LBaaS) de OpenStack. Esos recursos pueden reemplazar los recursos de MetalLB para exponer con facilidad los servicios que se ejecutan en tus clústeres de Anthos en equipos físicos a otros usuarios de OpenStack o fuera de la red de OpenStack.
Antes de comenzar
Decide cuáles son los clústeres de Anthos que necesitan usar los recursos de LBaaS de OpenStack.
Asegúrate de tener acceso a las máquinas que intentas configurar.
Obtén más información sobre cómo ejecutar cloud-controller-manager en la documentación de Kubernetes.
Cambia el archivo de configuración de tus clústeres
El proveedor de servicios en la nube de OpenStack Kubernetes requiere que kubelet
se ejecute en todos los nodos con el siguiente argumento:
cloud-provider: "external"
Para asegurarte de que los clústeres de Anthos cumplan con este requisito fácilmente, agrega la anotación baremetal.cluster.gke.io/external-cloud-provider: "true"
al archivo de configuración de los clústeres en la sección de metadatos antes de inicializarlos.
La entrada en el archivo de configuración debería verse como el ejemplo siguiente:
apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
name: cluster1
namespace: cluster-cluster1
annotations:
baremetal.cluster.gke.io/external-cloud-provider: "true"
spec:
..
Después de editar el archivo de configuración, usa el siguiente comando para inicializar tu clúster:
bmctl create cluster -c cluster1
Ahora, todos los nodos de cluster1
se ejecutan con el argumento obligatorio: cloud-provider:
"external"
Todos los nodos también tienen los siguientes campos agregados a sus archivos de configuración:
taints:
- effect: NoSchedule
key: node.cloudprovider.kubernetes.io/uninitialized
value: "true"
Estos campos se quitan después de inicializar el proveedor de servicios en la nube en este clúster.