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
.
- 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 contextokubectl
: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 helm-charts, crea un directorio de
cluster-check
:mkdir $APIGEE_HELM_CHARTS_HOME/cluster-check
- En el mismo directorio
$APIGEE_HELM_CHARTS_HOME/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.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
- Aplica
apigee-k8s-cluster-ready-check.yaml
con el siguiente comandokubectl
. 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 - 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.
- Si la prueba no se realizó correctamente, verifica los registros con los siguientes comandos.
- 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
- 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.
- Obtén el nombre del Pod para el trabajo de verificación previa del clúster:
- 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
- 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
oerror 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. - 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.