Paso 10: Comprueba la preparación del clúster

Verifica la preparación del clúster híbrido

Antes de aplicar tu configuración y, además, instalar los gráficos de Helm de Hybrid, debes verificar que tu clúster de Kubernetes esté listo para la instalación de Apigee Hybrid.

Para verificar la preparación de tu clúster, crearás un archivo YAML con una definición de trabajo de Kubernetes y aplicarás ese archivo con los comandos kubectl para verificar el clúster. Luego, verifica el estado del trabajo de prueba de Kubernetes con un comando kubectl get jobs.

  1. Verifica que kubectl esté configurado en el contexto correcto con el siguiente comando. El contexto actual se debe configurar en el clúster en el que implementas Apigee Hybrid.
    kubectl config current-context

    El resultado debe incluir el nombre del clúster en el que implementas Apigee Hybrid. Por ejemplo, en GKE, el nombre del contexto suele tener el formato gke_project-id_cluster-location_cluster-name, como se muestra a continuación:

    gke_my-project_us-central1_my-cluster

    Si el nombre del clúster de nombre en el contexto no coincide, el siguiente comando obtendrá las credenciales gcloud del clúster y establecerá el contexto kubectl:

    Clústeres regionales

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

    Clústeres zonales

    gcloud container clusters get-credentials $CLUSTER_NAME \
    --zone $CLUSTER_LOCATION \
    --project $PROJECT_ID
  2. En el directorio de helm-charts, crea un directorio de cluster-check:
    mkdir $APIGEE_HELM_CHARTS_HOME/cluster-check
  3. En el mismo directorio $APIGEE_HELM_CHARTS_HOME/cluster-check, crea un archivo llamado apigee-k8s-cluster-ready-check.yaml con el siguiente contenido:
    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.13.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. Aplica apigee-k8s-cluster-ready-check.yaml con el siguiente comando kubectl. Se ejecutará la prueba:
    kubectl apply -f $APIGEE_HELM_CHARTS_HOME/cluster-check/apigee-k8s-cluster-ready-check.yaml

    El resultado debería mostrar que se crearon la cuenta de servicio y el trabajo. Por ejemplo:

    kubectl apply -f $APIGEE_HELM_CHARTS_HOME/cluster-check/apigee-k8s-cluster-ready-check.yaml
    serviceaccount/apigee-k8s-cluster-ready-check created
    job.batch/apigee-k8s-cluster-ready-check created
  5. Verifica el estado del trabajo de Kubernetes con el siguiente comando:
    kubectl get jobs apigee-k8s-cluster-ready-check

    Si tu clúster está listo, el resultado debería ser similar a lo siguiente:

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

    Si la prueba falló y tu clúster no está listo, el resultado se verá similar al siguiente:

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

    Busca la cantidad de finalizaciones:

    • 1/1 Si se ejecuta correctamente, tu clúster está listo para la instalación de Apigee Hybrid.
    • 0/1 No se pudo realizar la prueba. El clúster no está listo. Continúa con los siguientes pasos para solucionar problemas del clúster.

  6. Si la prueba no se realizó correctamente, verifica los registros con los siguientes comandos.
    1. Obtén el nombre del Pod para el trabajo de verificación previa del clúster:
      kubectl get pods | grep apigee-k8s-cluster-ready-check
    2. Obtén los registros de Kubernetes para el Pod:
      kubectl logs pod_name

      En el ejemplo anterior, pod_name es el nombre del Pod de apigee-k8s-cluster-ready-check.

  7. Realiza una limpieza antes de continuar con el siguiente paso. Borra el trabajo de Kubernetes con el siguiente comando:
    kubectl delete -f $APIGEE_HELM_CHARTS_HOME/cluster-check/apigee-k8s-cluster-ready-check.yaml

    El resultado debería mostrar que se borraron la cuenta de servicio y el trabajo. Por ejemplo:

    kubectl delete -f $APIGEE_HELM_CHARTS_HOME/cluster-check/apigee-k8s-cluster-ready-check.yaml
    serviceaccount "apigee-k8s-cluster-ready-check" deleted
    job.batch "apigee-k8s-cluster-ready-check" deleted

Ya te aseguraste de que tu clúster de Apigee Hybrid esté listo. A continuación, instalaremos los gráficos para aplicar tu configuración al entorno de ejecución híbrido.

Soluciona problemas

  1. Verificación de DNS de Cassandra: si encuentras registros de errores similares a DNS resolution was successful but IP doesn't match POD IP, could not resolve hostname o error determining hostname, significa que el DNS de tu clúster no está configurado de forma correcta para una configuración multirregional. Puedes ignorar este error si no planeas configurar una multirregión.
  2. Verificación de conectividad del plano de control: Si encuentras registros de error similares a error creating TCP connection with host, debes resolver la conectividad del clúster a apigee.googleapis.com y volver a ejecutar el trabajo.

Próximo paso

1 2 3 4 5 6 7 8 9 10 (SIGUIENTE) Paso 11: Configura Workload Identity