Vérifier la préparation du cluster hybride
Avant d'appliquer votre configuration et d'installer les graphiques helm, vous devez vérifier que votre cluster Kubernetes est prêt pour l'installation d'Apigee hybrid.
Pour vérifier si votre cluster est prêt, vous allez créer un fichier YAML avec une définition de job Kubernetes et appliquer ce fichier à l'aide des commandes kubectl
pour vérifier le cluster.
Vous pouvez ensuite vérifier l'état du job de test Kubernetes à l'aide d'une commande kubectl get jobs
.
- Vérifiez que
kubectl
est défini sur le bon contexte à l'aide de la commande suivante. Le contexte actuel doit être défini sur le cluster au sein duquel vous déployez Apigee hybrid.kubectl config current-context
Le résultat doit inclure le nom du cluster dans lequel vous déployez Apigee hybrid. Par exemple, sur GKE, le nom du contexte se présente généralement au format
gke_project-id_cluster-location_cluster-name
, comme suit :gke_my-project_us-central1_my-cluster
Si le nom du cluster ne correspond pas dans le contexte, la commande suivante récupère les identifiants
gcloud
du cluster et définit le contextekubectl
:Clusters régionaux
gcloud container clusters get-credentials $CLUSTER_NAME \ --region $CLUSTER_LOCATION \ --project $PROJECT_ID
Cluster zonal
gcloud container clusters get-credentials $CLUSTER_NAME \ --zone $CLUSTER_LOCATION \ --project $PROJECT_ID
- Dans votre répertoire Helm-charts, créez un répertoire
cluster-check
:mkdir $APIGEE_HELM_CHARTS_HOME/cluster-check
- Dans le répertoire
$APIGEE_HELM_CHARTS_HOME/cluster-check
, créez un fichier nomméapigee-k8s-cluster-ready-check.yaml
et contenant ce qui suit :apiVersion: v1 kind: ServiceAccount metadata: name: apigee-k8s-cluster-ready-check --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: cluster-check-admin roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - apiGroup: "" kind: ServiceAccount namespace: default 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.12.3 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
- Appliquez la fonction
apigee-k8s-cluster-ready-check.yaml
avec la commande suivantekubectl
: La commande ci-dessous permet d'exécuter le test :kubectl apply -f $APIGEE_HELM_CHARTS_HOME/cluster-check/apigee-k8s-cluster-ready-check.yaml
Le résultat doit indiquer que le compte de service et le job ont été créés. Par exemple :
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 - Vérifiez l'état du job Kubernetes à l'aide de la commande suivante :
kubectl get jobs apigee-k8s-cluster-ready-check
Si votre cluster est prêt, le résultat doit ressembler à ceci :
NAME COMPLETIONS DURATION AGE apigee-k8s-cluster-ready-check 1/1 8s 1h23m
Si le test a échoué et que votre cluster n'est pas prêt, le résultat doit ressembler à ceci :
NAME COMPLETIONS DURATION AGE apigee-k8s-cluster-ready-check 0/1 44s 44s
Recherchez le nombre d'achèvements :
- 1/1 Réussite ; votre cluster est prêt pour l'installation Apigee hybrid.
- 0/1 Échec du test. Le cluster n'est pas prêt. Procédez comme suit pour dépanner le cluster.
- Si le test a échoué, vérifiez les journaux à l'aide des commandes suivantes.
- Récupérez le nom du pod du job de vérification préalable du cluster :
kubectl get pods | grep apigee-k8s-cluster-ready-check
- Récupérez les journaux Kubernetes du pod :
kubectl logs pod_name
Où pod_name est le nom du pod apigee-k8s-cluster-ready-check.
- Récupérez le nom du pod du job de vérification préalable du cluster :
- Effectuez un nettoyage avant de passer à l'étape suivante. Supprimez le job Kubernetes à l'aide de la commande suivante :
kubectl delete -f $APIGEE_HELM_CHARTS_HOME/cluster-check/apigee-k8s-cluster-ready-check.yaml
Le résultat doit indiquer que le compte de service et le job ont été supprimés. Exemple :
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
Vous avez maintenant vérifié que votre cluster Apigee hybrid est prêt. Nous allons ensuite installer les charts pour appliquer votre configuration à l'environnement d'exécution hybride.
Dépannage
- Vérification DNS Cassandra : si vous trouvez des journaux d'erreurs semblables à
DNS resolution was successful but IP doesn't match POD IP
,could not resolve hostname
ouerror determining hostname
, cela signifie que le DNS de votre cluster n'est pas correctement configuré pour une configuration multirégionale. Vous pouvez ignorer cette erreur si vous n'avez pas l'intention de déployer une configuration multirégionale. - Vérification de la connectivité du plan de contrôle : si vous trouvez des journaux d'erreurs semblables à
error creating TCP connection with host
, vous devez résoudre la connectivité du cluster vers apigee.googleapis.com, puis exécuter à nouveau le job.