21. Inicializar várias zonas

Tempo estimado para a conclusão: 5 min

Proprietário do componente operacional: MZ

Perfil de habilidade: engenheiro de implantação

Nesta página, você encontra instruções para inicializar uma nova zona no universo isolado do Google Distributed Cloud (GDC). Verifique se a zona atende a todos os requisitos antes de continuar.

21.1. Criar namespace global da API

Os recursos multizona do GDC são ativados pela API global, que é um servidor da API Kubernetes com suporte de um cluster etcd que abrange várias zonas. Esse namespace vai abrigar todos os recursos necessários para ativar a API global nessa zona.

Crie o namespace:

export KUBECONFIG=/root/release/root-admin/root-admin-kubeconfig
kubectl create namespace global-kube-system

A saída a seguir indica que a operação foi concluída com sucesso:

namespace/global-kube-system created

21.2. Inicializar várias zonas na primeira zona de um universo

Estas instruções se aplicam apenas à primeira zona em um universo. Se eles forem usados em outras zonas de um universo, talvez seja necessário reinicializar essas zonas.

Você vai concluir as etapas restantes de bootstrap para várias zonas, incluindo a adição de zonas de junção, em Bootstrap de várias zonas.

21.2.1. Criar o recurso de inicialização

Use a configuração do Kubernetes do administrador para o cluster de administrador raiz. Criar o recurso Bootstrap:

cat <<EOF | kubectl apply -f -
apiVersion: kubeapi.mz.private.gdc.goog/v1alpha1
kind: Bootstrap
metadata:
  name: kube
  namespace: global-kube-system
spec:
  clusterType: root-admin
EOF

21.2.2. Verificar se a API global está íntegra

Após a conclusão do processo de bootstrap da API global, faça verificações de integridade para confirmar que a API está íntegra:

  1. Consiga o nome da zona no servidor da API do cluster de administrador raiz:

    export ZONE_NAME=$(kubectl get controlplane -n mz-system cp -o jsonpath='{.spec.zone}')
    
  2. Verifique o carimbo de data/hora do último sinal de funcionamento da API global:

    kubectl get globalapizone -n mz-system ${ZONE_NAME} -o yaml
    

    O carimbo de data/hora do pulso é preenchido em status.lastHeartbeat. O carimbo de data/hora é atualizado a cada 30 segundos. Uma API global íntegra tem o último carimbo de data/hora de pulsação com no máximo 30 segundos.