21. Inicialize a multizona

Tempo estimado até à conclusão: 5 minutos

Proprietário do componente operacional: MZ

Perfil de competências: engenheiro de implementação

Esta página fornece instruções para inicializar uma nova zona no seu universo isolado do Google Distributed Cloud (GDC). Verifique se a zona cumpre todos os requisitos antes de continuar.

21.1. Crie um espaço de nomes da API global

As capacidades multizonas do GDC são ativadas através da API global, que é um servidor de API Kubernetes suportado por um cluster etcd que abrange várias zonas. Este espaço de nomes vai alojar todos os recursos necessários para ativar a API global nesta zona.

Crie o espaço de nomes:

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

O seguinte resultado indica que a operação foi bem-sucedida:

namespace/global-kube-system created

21.2. Inicialize o modo multizona na primeira zona de um universo

Estas instruções aplicam-se apenas à primeira zona num universo. Se forem usados em zonas adicionais de um universo, essas zonas podem ter de ser reinicializadas.

Conclui os restantes passos de arranque para várias zonas, incluindo a adição de zonas de junção, em Arranque de várias zonas.

21.2.1. Crie o recurso Bootstrap

Use a configuração do Kubernetes do administrador para o cluster de administrador raiz. Crie 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. Valide se a API global está em bom estado

Após a conclusão do processo de arranque da API global, execute verificações de estado para confirmar que a API está em bom estado:

  1. Obtenha o nome da zona a partir do servidor da API do cluster de administrador principal:

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

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

    A indicação de tempo do batimento cardíaco é preenchida em status.lastHeartbeat. A data/hora é atualizada a cada 30 segundos. Uma API global em bom estado tem a data/hora do último sinal de vida com uma antiguidade máxima de 30 segundos.