Passo 8: verifique a disponibilidade do cluster

Verifique a prontidão do cluster híbrido

Antes de aplicar a configuração e instalar o tempo de execução híbrido, deve verificar se o cluster do Kubernetes está pronto para a instalação do Apigee Hybrid.

Para verificar a prontidão do cluster, vai criar um ficheiro YAML com uma definição de tarefa do Kubernetes e aplicar esse ficheiro com comandos kubectl para verificar o cluster. Em seguida, verifique o estado da tarefa de teste do Kubernetes com um comando kubectl get jobs.

  1. Verifique se kubectl está definido para o contexto correto através do seguinte comando. O contexto atual deve ser definido para o cluster no qual está a implementar o Apigee Hybrid.
    kubectl config current-context

    O resultado deve incluir o nome do cluster no qual está a implementar o Apigee hybrid. Por exemplo, no GKE, o nome do contexto está normalmente no formato gke_project-id_cluster-location_cluster-name, como em:

    gke_my-project_us-central1_my-cluster

    Se o nome do cluster no contexto não corresponder, o comando seguinte obtém as credenciais gcloud do cluster e define o contexto kubectl:

    Clusters regionais

    gcloud container clusters get-credentials $CLUSTER_NAME \
    --region $CLUSTER_LOCATION \
    --project $PROJECT_ID

    Clusters zonais

    gcloud container clusters get-credentials $CLUSTER_NAME \
    --zone $CLUSTER_LOCATION \
    --project $PROJECT_ID
  2. No diretório de ficheiros híbridos, crie um diretório cluster-check:
    mkdir $HYBRID_FILES/cluster-check
  3. No diretório $HYBRID_FILES/cluster-check, crie um ficheiro denominado apigee-k8s-cluster-ready-check.yaml com o seguinte conteúdo:
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: apigee-k8s-cluster-ready-check
    ---
    apiVersion: batch/v1
    kind: Job
    metadata:
      name: apigee-k8s-cluster-ready-check
    spec:
      template:
        spec:
          hostNetwork: true
          serviceAccountName: apigee-k8s-cluster-ready-check
          containers:
            - name: manager
              image: gcr.io/apigee-release/hybrid/apigee-operators:1.10.0
              command:
                - /manager
              args:
              - --k8s-cluster-ready-check
              env:
              - name: POD_IP
                valueFrom:
                  fieldRef:
                    fieldPath: status.podIP
              securityContext:
                runAsGroup: 998
                runAsNonRoot: true
                runAsUser: 999
          restartPolicy: Never
      backoffLimit: 1
    
  4. Aplique o apigee-k8s-cluster-ready-check.yaml com o seguinte comando kubectl. Esta ação executa o teste:
    kubectl apply -f $HYBRID_FILES/cluster-check/apigee-k8s-cluster-ready-check.yaml
  5. Verifique o estado da tarefa do Kubernetes com o seguinte comando:
    kubectl get jobs apigee-k8s-cluster-ready-check

    Se o cluster estiver pronto, o resultado deve ter um aspeto semelhante ao seguinte:

    NAME                            COMPLETIONS   DURATION   AGE
    apigee-k8s-cluster-ready-check  1/1           8s         1h23m

    Se o teste falhou e o cluster não estiver pronto, o resultado deve ter um aspeto semelhante ao seguinte:

    NAME                            COMPLETIONS   DURATION   AGE
    apigee-k8s-cluster-ready-check  0/1           44s         44s

    Procure o número de conclusões:

    • 1/1 Êxito. O cluster está pronto para a instalação do Apigee Hybrid.
    • 0/1 O teste falhou. O cluster não está pronto. Avance para os passos seguintes para resolver problemas do cluster.

  6. Se o teste não for bem-sucedido, verifique os registos com os seguintes comandos.
    1. Obtenha o nome do pod para a tarefa de verificação prévia do cluster:
      kubectl get pods | grep apigee-k8s-cluster-ready-check
    2. Obtenha os registos do Kubernetes para o pod:
      kubectl logs pod_name

      Em que pod_name é o nome do pod apigee-k8s-cluster-ready-check.

  7. Limpe antes de avançar para o passo seguinte. Elimine a tarefa do Kubernetes com o seguinte comando:
    kubectl delete -f $HYBRID_FILES/cluster-check/apigee-k8s-cluster-ready-check.yaml

Agora, certificou-se de que o cluster híbrido do Apigee está pronto. Em seguida, vamos aplicar a sua configuração ao tempo de execução híbrido e concluir a instalação do Apigee hybrid.

Resolução de problemas

  1. Verificação de DNS do Cassandra: se encontrar registos de erros semelhantes a DNS resolution was successful but IP doesn't match POD IP, could not resolve hostname ou error determining hostname, significa que o DNS do cluster não está configurado corretamente para uma configuração de várias regiões. Pode ignorar este erro se não pretender configurar várias regiões.
  2. Verificação da conetividade do plano de controlo: se encontrar registos de erros semelhantes a error creating TCP connection with host, tem de resolver a conetividade do cluster para apigee.googleapis.com e executar novamente a tarefa.
1 2 3 4 5 6 7 8 (NEXT) Passo 9: instale o tempo de execução híbrido 10 11