Você provisiona Tanzu Kubernetes clusters invocando a API declarativa Tanzu Kubernetes Grid Service usando kubectl e uma especificação de cluster definida usando YAML. Depois de provisionar um cluster, você o opera e implanta cargas de trabalho nele usando kubectl.

O fluxo de trabalho fornece um procedimento de ponta a ponta para o processo de provisionamento do cluster. Cada uma das etapas tem links para mais informações sobre a tarefa específica.

Pré-requisitos

Conclua os seguintes pré-requisitos:

Procedimento

  1. Baixe e instale o Kubernetes CLI Tools for vSphere. Consulte o Baixe e instale o Kubernetes CLI Tools for vSphere.
  2. Usando o vSphere Plugin for kubectl, autentique-se com o Supervisor Cluster. Consulte o Conecte-se ao Supervisor Cluster como um usuário do vCenter Single Sign-On.
    kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
  3. Usando kubectl, alterne o contexto para o vSphere Namespace no qual você planeja provisionar o cluster do Tanzu Kubernetes.
    kubectl config get-contexts
    kubectl config use-context SUPERVISOR-NAMESPACE
    Por exemplo:
    kubectl config use-context tkgs-cluster-ns
  4. Liste as associações de classe de máquina virtual disponíveis. Consulte o Classes de máquina virtual para Tanzu Kubernetes clusters.
    Use o seguinte comando para listar todas as associações de classe de VM que estão disponíveis no vSphere Namespace onde você implanta o cluster.
    kubectl get virtualmachineclassbindings
    Observação: O comando kubectl get virtualmachineclasses lista todas as classes de VM presentes no Supervisor Cluster. Como você deve associar classes de VM ao vSphere Namespace, só pode usar as classes de VM que estão vinculadas ao namespace de destino.
  5. Obtenha a classe de armazenamento padrão disponível descrevendo o namespace.
    kubectl describe namespace SUPERVISOR-NAMESPACE
  6. Liste os Tanzu Kubernetes releases disponíveis.
    Observação: Consulte a lista de Tanzu Kubernetes releases para compatibilidade. Consulte o Lista de Tanzu Kubernetes releases.
    kubectl get tanzukubernetesreleases
    Observação: O comando kubectl get virtualmachineimages retorna informações genéricas sobre as máquinas virtuais.
  7. Construa o arquivo YAML para provisionar um cluster do Tanzu Kubernetes.
    1. Comece com um dos arquivos YAML de exemplo. Consulte o Exemplos para provisionamento de clusters Tanzu Kubernetes usando a API Tanzu Kubernetes Grid Service v1alpha1.
      Por exemplo, o seguinte arquivo YAML provisiona um cluster mínimo usando todos os padrões disponíveis:
      apiVersion: run.tanzu.vmware.com/v1alpha1  #TKGS API endpoint
      kind: TanzuKubernetesCluster               #required parameter
      metadata:
        name: tkgs-cluster-1                     #cluster name, user defined
        namespace: tgks-cluster-ns               #vsphere namespace
      spec:
        distribution:
          version: v1.19                         #Resolves to latest TKR 1.19 version
        topology:
          controlPlane:
            count: 1                             #number of control plane nodes
            class: best-effort-medium            #vmclass for control plane nodes
            storageClass: vwt-storage-policy     #storageclass for control plane
          workers:
            count: 3                             #number of worker nodes
            class: best-effort-medium            #vmclass for worker nodes
            storageClass: vwt-storage-policy     #storageclass for worker nodes
      
    2. Use as informações coletadas da saída dos comandos anteriores para preencher o YAML do cluster, incluindo o namespace, a classe de armazenamento e a classe de máquina virtual.
    3. Personalize o cluster conforme necessário, consultando a lista completa de parâmetros de configuração do cluster. Consulte o Parâmetros de configuração para Tanzu Kubernetes clusters usando a API Tanzu Kubernetes Grid Service v1alpha1.
    4. Salve o arquivo como tkgs-cluster-1.yaml ou semelhante.
  8. Provisione o cluster executando o seguinte comando kubectl.
    kubectl apply -f CLUSTER-NAME.yaml
    Por exemplo:
    kubectl apply -f tkgs-cluster-1.yaml
    Resultado esperado:
    tanzukubernetescluster.run.tanzu.vmware.com/tkgs-cluster-1 created
  9. Monitore a implantação de nós do cluster usando kubectl. Consulte o Monitore o Tanzu Kubernetes status do cluster usando o kubectl.
    kubectl get tanzukubernetesclusters
    Resultado da amostra:
    NAME             CONTROL PLANE   WORKER   DISTRIBUTION                     AGE     PHASE
    tkgs-cluster-2   1               3        v1.19.7+vmware.1-tkg.1.c40d30d   7m59s   running
  10. Monitore a implantação de nós do cluster usando o vSphere Client. Consulte o Monitore o status do Tanzu Kubernetes cluster usando o vSphere Client.
    Por exemplo, no inventário do vSphere, você deve ver os nós da máquina virtual sendo implantados no namespace.
  11. Execute comandos adicionais para verificar o provisionamento do cluster. Consulte Usar comandos operacionais de cluster do Tanzu Kubernetes .
    Por exemplo:
    kubectl get tanzukubernetescluster,cluster-api,virtualmachinesetresourcepolicy,virtualmachineservice,virtualmachine
    Observação: Para solução de problemas adicional, consulte Solução de problemas de clusters Tanzu Kubernetes .
  12. Usando o vSphere Plugin for kubectl, faça login no cluster. Consulte o Conectar-se a um Tanzu Kubernetes cluster como um vCenter Single Sign-On usuário.
    kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME \
    --tanzu-kubernetes-cluster-name CLUSTER-NAME --tanzu-kubernetes-cluster-namespace NAMESPACE-NAME
  13. Verifique o provisionamento do cluster usando os seguintes comandos kubectl.
    kubectl cluster-info
    kubectl get nodes
    kubectl get namespaces
    kubectl api-resources
  14. Implante uma carga de trabalho de exemplo e verifique a criação do cluster. Consulte o Implantar cargas de trabalho em Tanzu Kubernetes clusters.
    Observação: Os clusters Tanzu Kubernetes têm a política de segurança de pod ativada. Dependendo da carga de trabalho e do usuário, talvez seja necessário criar uma RoleBinding apropriada ou uma PodSecurityPolicy personalizada. Consulte o Usando políticas de segurança de pod com clusters do Tanzu Kubernetes.
  15. Operacionalize o cluster implantando extensões TKG. Consulte o Implantar extensões TKG em Tanzu Kubernetes clusters.