Desplegar un clúster TKG

Buenas chic@s! Hoy seguiremos hablando de vSphere with Tanzu, antes de continuar, si te perdiste la introducción, por aquí te lo dejo. Dicho esto, hoy vamos aprender que es un clúster TKG y como desplegarlo, asi que vamos al lio 🙂

Para desplegar nuestras aplicaciones en vSphere with Tanzu, nos apoyaremos bajo los clúster TKG(Tanzu Kubernetes Grid Clusters), para desplegarlos se hará uso del clúster supervisor, el cual se encargara de forma automática de desplegarlos en base a un YAML.

Aquí se destacan sus puntos fuertes:

  1. Integración Sencilla: Aprovecha la infraestructura y habilidades existentes de VMware, facilitando la integración y reduciendo la curva de aprendizaje.
  2. Escalabilidad y Flexibilidad: Permite ajustar los recursos dinámicamente según las necesidades, asegurando crecimiento sin interrupciones y manejo eficiente de la demanda.
  3. Seguridad y Cumplimiento: Ofrece políticas de red avanzadas, aislamiento de namespaces y control de acceso basado en roles, garantizando protección y cumplimiento normativo.
  4. Automatización Operativa: Automatiza tareas comunes como aprovisionamiento y gestión de actualizaciones, mejorando la eficiencia operativa y reduciendo errores humanos.
  5. Soporte para DevOps y CI/CD: Facilita la integración con herramientas DevOps y pipelines de CI/CD, acelerando la entrega continua y ágil de aplicaciones.
  6. Monitorización y Gestión: Proporciona visibilidad completa y resolución rápida de problemas mediante herramientas como VMware vRealize y Tanzu Mission Control.

Una vez vez hemos realizado una pequeña introducción. Vamos empezar a desplegar un clúster TKG, por aquí os dejo el YAML que vamos a utilizar para desplegar nuestro primero clúster.

Como podréis ver vamos a desplegar un clúster TKG con 3 control plane y 3 worker nodes en la versión 1.25.7.

apiVersion: run.tanzu.vmware.com/v1alpha3
kind: TanzuKubernetesCluster
metadata:
  name: tkg-tanzu-stormcloud
  namespace: tanzu-stormcloud
spec:
  topology:
    controlPlane:
      replicas: 3
      vmClass: best-effort-small
      storageClass: vsan-default-storage-policy
      tkr:
        reference:
          name: v1.25.7---vmware.3-fips.1-tkg.1
    nodePools:
      - replicas: 3
        name: worker
        vmClass: best-effort-small
        storageClass: vsan-default-storage-policy
  settings:
    network:
      cni:
        name: antrea
      services:
        cidrBlocks: ["198.53.100.0/16"]
      pods:
        cidrBlocks: ["192.0.5.0/16"]
      serviceDomain: cluster.local

Una vez que tenemos el archivo YAML preparado es hora de lanzarlo. Para ellos lanzamos el siguiente comando:

kubectl apply -f "archivo.yaml"

Si nos dirigimos a la parte de eventos de vSphere veremos como esta descargando la ova desde la «Content Library» que definimos, para después empezar a desplegar los control plane y workers nodes.

Una vez que ya la tiene descargada, ya vemos como la empieza a transferir al host donde va a desplegar los control plane o worker nodes.

Si nos seguimos fijando en la parte de vSphere, concretamente en la parte del namespace que creamos » Tanzu-stormcloud». Ahi veremos como ya casi nos tiene desplegado las 6 maquinas virtuales, compuestas por 3 control panel y los 3 workers nodes.

Si entramos un poco mas en la visión de Tanzu, nos vamos a nuestro namespace y pulsamos sobre el clúster tkg que estamos desplegando.

Aquí en la parte de «Events» veremos todo lo que esta realizando dentro de Tanzu o vSphere.

Con este comando obtenemos todos los cluster tkg que estan desplegados bajo un determinado namespace.

La primera vez que lo lannzamos, si nos fijamos en la parte de » Ready», nos sale en «False», lo que nos viene a decir que no esta disponible.

kubectl get tkc -n "Nombre_namespace"

En esta segunda vez, vemos que ya esta disponible. Por lo tanto ya podríamos hacer login en nuestro clúster TKG.

Para hacer login en nuestro cluster TKG y que nuestro kubeconfig file se actualize, necesitamos volver a loguearnos.

kubectl vsphere login --vsphere-username [email protected] --server=https://192.168.124.2 --tanzu-kubernetes-cluster-namespace tanzu-stormcloud --tanzu-kubernetes-cluster-name tkg-tanzu-stormcloud --insecure-skip-tls-verify

Una vez estamos dentro de nuestro clúster TKG y lanzando el siguiente comando para obtener las maquinas que componen el cluster tkg.

kubectl get virtualmachines -n tanzu-stormcloud

Con el siguiente comando obtenemos los nodos del clúster TKG, rol de cada nodo, versión y el estado de salud.

kubectl get nodes -n tanzu-stormcloud

Si queremos saber todos los pods que componen el clúster TKG, lanzaríamos el siguiente comando

kubectl get pods -n tanzu-stormcloud

Si queremos saber los deployment que tenemos lanzaremos el siguiente comando :

kubectl get deployments -A

Por ultimo, con este comando obtendremos todo los servicios que están publicados dentro del clúster.

Kubectl get services -A

Si nos vamos a la parte de NSX, concretamente a la parte de Network mapping. Aquí si prestamos atención en la parte de nuestra izquierda veremos las maquinas de nuestro TKG bajo un Tier-1.

Recordar que los clúster TKG tiene que tener comunicación contra el clúster supervisor, el cual si nos fijamos esta en la parte derecha bajo otro Tier-1.

Por ultimo si nos vamos a la parte «Load Balancer» en NSX, encontraremos la API del clúster TKG que acabamos de crear.

Hasta aquí hemos llegado en este nuevo post acerca de como desplegar clúster TKG, como veis con un yaml, tenemos nuestro clúster TKG en cuestión de minutos. En en el siguiente post desplegaremos una aplicación, así que no te lo pierdas 🙂

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *