Tanzu Community Edition 0.11.0 Configurar AKO NodePortLocal en un Cluster de Workload Existente
Motivación
En este manual se explica como configurar AKO NodePortLocal en un cluster de Workload existente, que ha sido desplegado con un Cluster de Management configurado con AVI NSX LoadBalancer.
VMware no prescribe desplegar el cluster de Workload con las opciones de AVI, ya que , aún poniendolas, el cluster de Workload hereda la configuración de AVI del cluster de Workload.
Es posible que se tenga el cluster de Management en otro entorno que no sea donde se tiene el cluster de Workload.
Materiales propios
Hardware
- HPE Proliant Microserver Gen10 4 CPU AMD Opteron 32 GB RAM
Software
- ESXi 7.0.3
- vCenter 7.0.3
- Maquina Virtual con Debian 11 instalado para realizar el Bootstrap
- 4 CPU
- 12 RAM
- 50GB Disco Duro
- 1 Interfaz de red 1Gbps
- Servidor DHCP/DNS Debian 11
Manos a la masa
Acceder al cluster de Workload
Si aún no se ha accedido al cluster de Workload, seguid estos pasos para acceder por primera vez. Ejecutad este comando desde el cluster de management para saber los cluster de Workload creados.
$ tanzu cluster list
Una vez listado, ejecutad este comando, para añadir la información de acceso al kubeconfig.
Indicaremos --admin para tener pleno acceso.
$ tanzu cluster kubeconfig get -n namespace cluster --admin
$ kubectl config use-context clusterworkload
Revisar la configuración del Config de AKO
$ kubectl get configmaps -n avi-system avi-k8s-config -o yaml
Se puede ver claramente que tiene la configuración de AKO del cluster de management.
Para cambiar la configuración. Volver al cluster de gestión
$ kubectl config use-context clustermanagement
Hay que crear un archivo YAML donde se declarará la configuración de AVI. Previamente, hay que revisar en AVI, si se tiene ya configurada. Utilizar la siguiente plantilla y cambiar los valores por los que correspondan, entrad a AVI NSX LB para ver los parámetros del Cloud y del Service Engine Group :
Para mas plantillas visitad: https://templates.ticveintitres.com
Ejemplo:
Aplicar el YAML creado
$ kubectl apply -f ako-config.yaml
$ kubectl label cluster tic23-workload-cluster serviceEngineGroup="tic23-workload-cluster" -n tic23-workload-cluster
Ahora, hay que configurar Antrea, ya que por defecto, no se configura como NodePortLocal.
Para ello, hay que sacar a un YAML la configuración que tiene el cluster de Workload. Esto se hace desde el Cluster de Management.
Copiar el contenido de la línea de "values.yaml" y decodificarla en BASE64 y dirigir la salida a un archivo.
$ echo "contenido" | base64 -d > values.yaml
Ahora coger el contenido del values.yaml y convertirlo a BASE64.
$ cat values.yaml | base64 -w 0
Copiar el resultado y cambiar, el contenido del values.yaml dentro del secret de Antrea.
$ kubectl edit secrets -n tic23-workload-cluster tic23-workload-cluster-antrea-addon
Cambiar al cluster de Workload:
$ kubectl config use-context clusterworkload
Borrar los pods de AKO para que se apliquen los cambios.
$ kubectl delete pods -n avi-system ako-0
Borrar los pods de antrea-agent para que se apliquen los cambios. Como hay un pod de antrea por cada nodo . Primero hacer un grep para ver los nombres de los pods.
$ kubectl get pods -A | grep antrea
$ kubectl delete pods -n kube-system antrea-agent-xxxxxxx
Si volvemos a ver la configuración del configmap de AKO nos aparece ya la configuración deseada:
Lo mismo, para la configuración de Antrea:
Comentarios
Publicar un comentario
Puedes escribirme una reseña aquí mismo, gracias.