Tanzu Community Edition 0.11.0 Configurar AKO NodePortLocal en un Cluster de Workload Existente

 


Tanzu Community Edition 0.11.0 Configurar AKO NodePortLocal en un Cluster de Workload Existente

tanzu community edition

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


Nos cambiamos al Cluster de Workload

$ 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


Como en el archivo YAML se declararon unas "labels", hay que crearlas.

$ kubectl label cluster tic23-workload-cluster serviceEngineGroup="tic23-workload-cluster" -n tic23-workload-cluster 


kubectl label cluster tic23-workload-cluster npl-enabled="true" -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



Editar el fichero y cambiar a "true" la línea que pone "NodePortLocal" y guardar los cambios


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:




DISFRUTAD !!

Fin del Manual



#esxi7 #vsphere #vmware #tanzu #kubernetes #tce #ticveintitres #actitud #motivacion #avi

Comentarios