Étape 10 : Vérifier si le cluster est prêt

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.

  1. 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 contexte kubectl :

    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
  2. Dans votre répertoire Helm-charts, créez un répertoire cluster-check :
    mkdir $APIGEE_HELM_CHARTS_HOME/cluster-check
  3. 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
    
  4. Appliquez la fonction apigee-k8s-cluster-ready-check.yaml avec la commande suivante kubectl : 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
  5. 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.

  6. Si le test a échoué, vérifiez les journaux à l'aide des commandes suivantes.
    1. 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
    2. Récupérez les journaux Kubernetes du pod :
      kubectl logs pod_name

      pod_name est le nom du pod apigee-k8s-cluster-ready-check.

  7. 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

  1. 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 ou error 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.
  2. 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.

Étape suivante

1 2 3 4 5 6 7 8 9 10 (SUIVANT) Étape 11 : Installer Apigee hybrid à l'aide de charts Helm 12