Passaggio 8: controlla l'idoneità del cluster

Controlla l'idoneità del cluster ibrido

Prima di applicare la configurazione e installare il runtime ibrido, devi controllare che il tuo cluster Kubernetes sia pronto per l'installazione ibrida di Apigee.

Per verificare l'idoneità del tuo cluster, creerai un file YAML con un job Kubernetes e applicare il file con i comandi kubectl per controllare il cluster. Potrai quindi controllare lo stato del job di test Kubernetes con un comando kubectl get jobs.

  1. Verifica che kubectl sia impostato sul contesto corretto utilizzando il seguente comando. Il contesto attuale deve essere impostato sul cluster in cui stai eseguendo il deployment di Apigee hybrid.
    kubectl config current-context

    Il risultato dovrebbe includere il nome del cluster in cui stai eseguendo il deployment di Apigee hybrid. Per Ad esempio, su GKE, il nome del contesto è di solito nel formato gke_project-id_cluster-location_cluster-name, come tra:

    gke_my-project_us-central1_my-cluster

    Se il nome del cluster dei nomi nel contesto non corrisponde, il comando seguente riceverà gcloud credenziali del cluster e imposta il contesto kubectl:

    Cluster a livello di regione

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

    Cluster di zona

    gcloud container clusters get-credentials $CLUSTER_NAME \
      --zone $CLUSTER_LOCATION \
      --project $PROJECT_ID
  2. Nella directory dei file ibridi, crea una directory cluster-check:
    mkdir $HYBRID_FILES/cluster-check
  3. Nella directory $HYBRID_FILES/cluster-check, crea un file denominato apigee-k8s-cluster-ready-check.yaml con i seguenti contenuti:
    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. Applica apigee-k8s-cluster-ready-check.yaml con quanto segue Comando kubectl. Verrà eseguito il test:
    kubectl apply -f $HYBRID_FILES/cluster-check/apigee-k8s-cluster-ready-check.yaml
  5. Controlla lo stato del job Kubernetes con il seguente comando:
    kubectl get jobs apigee-k8s-cluster-ready-check

    Se il cluster è pronto, l'output dovrebbe essere simile a questo:

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

    Se il test non è riuscito e il cluster non è pronto, l'output dovrebbe essere simile a questo:

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

    Cerca il numero di completamenti:

    • 1/1 Operazione riuscita, il tuo cluster è pronto per l'installazione ibrida di Apigee.
    • 0/1 Il test non è riuscito. Il cluster non è pronto. Procedi con i seguenti passaggi per risolvere i problemi del cluster.

  6. Se il test non è riuscito, controlla i log con i comandi seguenti.
    1. Ottieni il nome del pod per il job di pre-controllo del cluster:
      kubectl get pods | grep apigee-k8s-cluster-ready-check
    2. Recupera i log Kubernetes per il pod:
      kubectl logs pod_name

      Dove pod_name è il nome del pod apigee-k8s-cluster-ready-check.

  7. Esegui la pulizia prima di procedere con il passaggio successivo. Elimina il job Kubernetes con il seguente codice :
    kubectl delete -f $HYBRID_FILES/cluster-check/apigee-k8s-cluster-ready-check.yaml

Hai ora verificato che il tuo cluster ibrido Apigee sia pronto. Ora applichiamo la configurazione al runtime ibrido e completare l'installazione di Apigee hybrid.

Risoluzione dei problemi

  1. Controllo DNS Cassandra: se trovi log di errore simili a DNS resolution was successful but IP doesn't match POD IP, could not resolve hostname o error determining hostname indica che il DNS del cluster non è configurato correttamente per una configurazione multiregionale. Puoi ignorare questo errore se non prevedi di configurare più regioni.
  2. Controllo della connettività del piano di controllo: se trovi log di errore simili a error creating TCP connection with host, devi risolvere il problema di connettività da cluster a apigee.googleapis.com ed esegui nuovamente il job.
1 2 3 4 5 6 7 8 (SUCCESSIVO) Passaggio 9: installa il runtime ibrido 10