El archivo kubeconfig predeterminado en VMware vSphere con un clúster Tanzu Kubernetes invitado contiene un token que caduca después de diez horas de forma predeterminada y muestra un mensaje de advertencia. Para evitar la advertencia, trabaje con el administrador de su infraestructura de Kubernetes para generar un archivo de configuración de clúster de Tanzu Kubernetes válido con un token que no caduque y que pueda utilizar durante la implementación de NSX Application Platform.

Cuando caduque el token del archivo kubeconfig predeterminado, verá el siguiente mensaje de advertencia en la interfaz de usuario de NSX Manager de NSX Application Platform.

No se puede conectar. El sistema ha encontrado un problema de conectividad debido a la caducidad de la configuración de Kubernetes. Actualice la configuración de Kubernetes para resolverlo.

La advertencia no afecta a la funcionalidad de NSX Application Platform ni a ninguna de las funciones de seguridad de NSX activadas actualmente. Sin embargo, si no reemplaza el token predeterminado diez horas después de una implementación de NSX Application Platform en el clúster de Tanzu Kubernetes invitado, deberá generar un token válido (no caducado) cada vez que realice las siguientes operaciones:
  • Implementar NSX Application Platform
  • Actualizar NSX Application Platform
  • Eliminar NSX Application Platform

Para generar un archivo de configuración del clúster de Tanzu Kubernetes con un token que no caduque y que pueda utilizar durante la implementación de NSX Application Platform, trabaje con el administrador de la infraestructura de Kubernetes mediante el siguiente procedimiento.

Procedimiento

  1. Inicie sesión en vSphere con el clúster de Tanzu Kubernetes invitado con el siguiente comando.
    kubectl vsphere login --server <supervisor-cluster_ip> -u <user> --tanzu-kubernetes-cluster-name <tk-cluster-name> --tanzu-kubernetes-cluster-namespace <namespace>
    Los parámetros son los siguientes:
    • <supervisor-cluster_ip> es la dirección del nodo del plano de control que se puede encontrar en el vSphere Client seleccionando Administración de cargas de trabajo > Clúster supervisor.
    • <user> es la cuenta que tiene acceso de administrador al clúster de Tanzu Kubernetes.
    • <tk-cluster-name> es el nombre del clúster de Tanzu Kubernetes.
    • <namespace> es el espacio de nombres vSphere en el que reside este clúster.
    Por ejemplo,
    kubectl vsphere login --server 192.111.33.22 -u administrator@vsphere.local --tanzu-kubernetes-cluster-name napp-tkg-cluster --tanzu-kubernetes-cluster-namespace napp
  2. Ejecute cada uno de estos comandos por separado para generar una cuenta de servicio de administrador y crear un enlace de función de clúster.
    kubectl create serviceaccount napp-admin -n kube-system
    
    kubectl create clusterrolebinding napp-admin --serviceaccount=kube-system:napp-admin --clusterrole=cluster-admin
  3. Para obtener el token de autenticación para la cuenta de servicio de administrador y la entidad de certificación del clúster, ejecute los siguientes comandos por separado.
    SECRET=$(kubectl get serviceaccount napp-admin -n kube-system -ojsonpath='{.secrets[].name}')
    
    TOKEN=$(kubectl get secret $SECRET -n kube-system -ojsonpath='{.data.token}' | base64 -d)
    
    kubectl get secrets $SECRET -n kube-system -o jsonpath='{.data.ca\.crt}' | base64 -d > ./ca.crt
  4. Obtenga la URL del clúster de Tanzu Kubernetes. Ejecute los siguientes comandos por separado en la línea de comandos.
    CONTEXT=$(kubectl config view -o jsonpath='{.current-context}')
    
    CLUSTER=$(kubectl config view -o jsonpath='{.contexts[?(@.name == "'"$CONTEXT"'")].context.cluster}')
    
    URL=$(kubectl config view -o jsonpath='{.clusters[?(@.name == "'"$CLUSTER"'")].cluster.server}')
  5. Genere un archivo de configuración, con un token que no caduque, para el clúster de Tanzu Kubernetes.
    TO_BE_CREATED_KUBECONFIG_FILE="<file-name>"

    El parámetro <file-name> es el nombre del archivo kubeconfig que está intentando crear.

    kubectl config --kubeconfig=$TO_BE_CREATED_KUBECONFIG_FILE set-cluster $CLUSTER --server=$URL --certificate-authority=./ca.crt --embed-certs=true
    
    kubectl config --kubeconfig=$TO_BE_CREATED_KUBECONFIG_FILE set-credentials napp-admin --token=$TOKEN 
    
    kubectl config --kubeconfig=$TO_BE_CREATED_KUBECONFIG_FILE set-context $CONTEXT --cluster=$CLUSTER --user=napp-admin
    
    kubectl config --kubeconfig=$TO_BE_CREATED_KUBECONFIG_FILE use-context $CONTEXT
  6. (opcional) Elimine ca.crt, que es un archivo temporal creado durante la generación del nuevo archivo kubeconfig.
  7. Utilice el archivo kubeconfig recién generado durante la implementación de NSX Application Platform.