Comprobar si los clústeres híbridos están preparados
Antes de aplicar la configuración e instalar el tiempo de ejecución híbrido, debes comprobar que tu clúster de Kubernetes esté listo para la instalación de Apigee hybrid.
Para comprobar si tu clúster está listo, crearás un archivo YAML con una definición de trabajo de Kubernetes y aplicarás ese archivo con comandos kubectl
para comprobar el clúster.
A continuación, comprueba el estado del trabajo de prueba de Kubernetes con el comando kubectl get jobs
.
- Verifica que
kubectl
esté configurado en el contexto correcto con el siguiente comando. El contexto actual debe ser el clúster en el que vas a implementar Apigee Hybrid.kubectl config current-context
El resultado debe incluir el nombre del clúster en el que vas a implementar Apigee hybrid. Por ejemplo, en GKE, el nombre del contexto suele tener el formato
gke_project-id_cluster-location_cluster-name
, como en el siguiente ejemplo:gke_my-project_us-central1_my-cluster
Si el nombre del clúster del contexto no coincide, el siguiente comando obtendrá las credenciales de
gcloud
del clúster y definirá el contexto dekubectl
: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
- En el directorio de archivos híbridos, crea un directorio
cluster-check
:mkdir $HYBRID_FILES/cluster-check
- En el directorio
$HYBRID_FILES/cluster-check
, crea un archivo llamadoapigee-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.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
- Aplica el comando
apigee-k8s-cluster-ready-check.yaml
con el siguiente comandokubectl
. De esta forma, se ejecutará la prueba:kubectl apply -f $HYBRID_FILES/cluster-check/apigee-k8s-cluster-ready-check.yaml
- Comprueba el estado del trabajo de Kubernetes con el siguiente comando:
kubectl get jobs apigee-k8s-cluster-ready-check
Si el clúster está listo, la salida debería tener un aspecto similar a este:
NAME COMPLETIONS DURATION AGE apigee-k8s-cluster-ready-check 1/1 8s 1h23m
Si la prueba ha fallado y el clúster no está listo, el resultado debería ser similar al siguiente:
NAME COMPLETIONS DURATION AGE apigee-k8s-cluster-ready-check 0/1 44s 44s
Busca el número de consecuciones:
- 1/1 Correcto. Tu clúster está listo para la instalación de Apigee Hybrid.
- 0/1 La prueba no ha sido satisfactoria. El clúster no está listo. Sigue los pasos que se indican a continuación para solucionar los problemas del clúster.
- Si la prueba no se ha completado correctamente, consulta los registros con los siguientes comandos.
- Obtén el nombre del pod de la tarea de comprobación previa del clúster:
kubectl get pods | grep apigee-k8s-cluster-ready-check
- Obtén los registros de Kubernetes del pod:
kubectl logs pod_name
Donde pod_name es el nombre del pod apigee-k8s-cluster-ready-check.
- Obtén el nombre del pod de la tarea de comprobación previa del clúster:
- Limpia el dispositivo antes de continuar con el siguiente paso. Elimina el trabajo de Kubernetes con el siguiente comando:
kubectl delete -f $HYBRID_FILES/cluster-check/apigee-k8s-cluster-ready-check.yaml
Ahora ya te has asegurado de que tu clúster híbrido de Apigee está listo. A continuación, vamos a aplicar la configuración al entorno de ejecución híbrido y a completar la instalación de Apigee hybrid.
Solución de problemas
- Comprobació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
oerror determining hostname
, significa que el DNS de tu clúster no está configurado correctamente para una configuración multirregión. Puedes ignorar este error si no tienes intención de configurar varias regiones. - Comprobación de la conectividad del plano de control: si encuentras registros de errores 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.