Sebelum menerapkan konfigurasi dan menginstal diagram helm hybrid, Anda harus
memeriksa apakah cluster Kubernetes Anda siap untuk penginstalan Apigee Hybrid.
Untuk memeriksa kesiapan cluster, Anda akan membuat file YAML dengan definisi Tugas Kubernetes dan menerapkan file tersebut dengan perintah kubectl untuk memeriksa cluster.
Kemudian, Anda memeriksa status tugas pengujian Kubernetes dengan perintah kubectl get jobs.
Pastikan kubectl ditetapkan ke konteks yang benar menggunakan perintah berikut.
Konteks saat ini harus ditetapkan ke cluster tempat Anda men-deploy Apigee hybrid.
kubectl config current-context
Hasilnya akan menyertakan nama cluster tempat Anda men-deploy Apigee hybrid. Misalnya, di GKE, nama konteks biasanya dalam bentuk
gke_project-id_cluster-location_cluster-name, seperti
dalam:
gke_my-project_us-central1_my-cluster
Jika nama cluster dalam konteks tidak cocok, perintah berikut akan mendapatkan kredensial gcloud cluster dan menetapkan konteks kubectl:
Sekarang Anda telah memastikan cluster Apigee Hybrid Anda siap. Selanjutnya, mari kita instal diagram untuk
menerapkan konfigurasi Anda ke runtime campuran.
Pemecahan masalah
Pemeriksaan DNS Cassandra: Jika Anda menemukan log error yang mirip dengan
DNS resolution was successful but IP doesn't match POD IP,
could not resolve hostname, atau error determining hostname, artinya
DNS cluster Anda tidak dikonfigurasi dengan benar untuk penyiapan multi-region. Anda dapat mengabaikan error ini jika tidak ingin menyiapkan multi-region.
Pemeriksaan konektivitas Bidang Kontrol: Jika Anda menemukan log error yang mirip dengan
error creating TCP connection with host, Anda harus menyelesaikan konektivitas
dari cluster ke apigee.googleapis.com dan menjalankan ulang tugas.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-09-03 UTC."],[[["\u003cp\u003eThis guide provides instructions on how to verify that a Kubernetes cluster is ready for Apigee hybrid installation.\u003c/p\u003e\n"],["\u003cp\u003eThe process involves creating and applying a Kubernetes Job definition in a YAML file to check the cluster's readiness, using \u003ccode\u003ekubectl\u003c/code\u003e commands.\u003c/p\u003e\n"],["\u003cp\u003eThe status of the test job can be checked with \u003ccode\u003ekubectl get jobs\u003c/code\u003e, where "1/1" indicates success, and "0/1" indicates failure.\u003c/p\u003e\n"],["\u003cp\u003eIf the cluster readiness test fails, detailed logs can be checked to troubleshoot the cluster, and the guide provides an example workaround for DNS resolution issues.\u003c/p\u003e\n"],["\u003cp\u003eAfter verifying cluster readiness, it is recommended to delete the Kubernetes job before proceeding to install the Apigee hybrid charts.\u003c/p\u003e\n"]]],[],null,["# Step 10: Check cluster readiness\n\n| You are currently viewing version 1.11 of the Apigee hybrid documentation. **This version is end of life.** You should upgrade to a newer version. For more information, see [Supported versions](/apigee/docs/hybrid/supported-platforms#supported-versions).\n\nCheck hybrid cluster readiness\n------------------------------\n\nBefore applying your configuration and installing the hybrid helm charts, you should\ncheck that your Kubernetes cluster is ready for Apigee hybrid installation.\n\n\nTo check the readiness of your cluster, you will create a YAML file with a Kubernetes Job\ndefinition and apply that file with `kubectl` commands to check the cluster.\nYou then check the status of the Kubernetes test job with a `kubectl get jobs` command.\n\n1. Verify that `kubectl` is set to the correct context using the following command. The current context should be set to the cluster to which you are deploying Apigee hybrid. \n\n ```\n kubectl config current-context\n ```\n\n The result should include the name of the cluster you are deploying Apigee hybrid in. For\n example, on GKE, the context name is usually in the form\n `gke_`\u003cvar translate=\"no\"\u003eproject-id\u003c/var\u003e`_`\u003cvar translate=\"no\"\u003ecluster-location\u003c/var\u003e`_`\u003cvar translate=\"no\"\u003ecluster-name\u003c/var\u003e, as\n in: \n\n ```\n gke_my-project_us-central1_my-cluster\n ```\n\n If the name cluster name in the context does not match, the following command will get the\n `gcloud` credentials of the cluster and set the `kubectl` context:\n\n ### Regional clusters\n\n ```\n gcloud container clusters get-credentials $CLUSTER_NAME \\\n --region $CLUSTER_LOCATION \\\n --project $PROJECT_ID\n ```\n\n ### Zonal clusters\n\n ```\n gcloud container clusters get-credentials $CLUSTER_NAME \\\n --zone $CLUSTER_LOCATION \\\n --project $PROJECT_ID\n ```\n2. In your helm-charts directory, create a `cluster-check` directory: \n\n ```\n mkdir $APIGEE_HELM_CHARTS_HOME/cluster-check\n ```\n3. In the `$APIGEE_HELM_CHARTS_HOME/cluster-check` directory, create a file named `apigee-k8s-cluster-ready-check.yaml` with the following contents: \n\n ```\n apiVersion: v1\n kind: ServiceAccount\n metadata:\n name: apigee-k8s-cluster-ready-check\n ---\n apiVersion: batch/v1\n kind: Job\n metadata:\n name: apigee-k8s-cluster-ready-check\n spec:\n template:\n spec:\n hostNetwork: true\n serviceAccountName: apigee-k8s-cluster-ready-check\n containers:\n - name: manager\n image: gcr.io/apigee-release/hybrid/apigee-operators:1.11.2\n command:\n - /manager\n args:\n - --k8s-cluster-ready-check\n env:\n - name: POD_IP\n valueFrom:\n fieldRef:\n fieldPath: status.podIP\n securityContext:\n runAsGroup: 998\n runAsNonRoot: true\n runAsUser: 999\n restartPolicy: Never\n backoffLimit: 1\n ```\n4. Apply the `apigee-k8s-cluster-ready-check.yaml` with the following `kubectl` command. This will run the test: \n\n ```\n kubectl apply -f $APIGEE_HELM_CHARTS_HOME/cluster-check/apigee-k8s-cluster-ready-check.yaml\n ```\n5. Check the status of the Kubernetes job with the following command: \n\n ```\n kubectl get jobs apigee-k8s-cluster-ready-check\n ```\n\n\n If your cluster is ready, the output should look something like: \n\n ```\n NAME COMPLETIONS DURATION AGE\n apigee-k8s-cluster-ready-check 1/1 8s 1h23m\n ```\n\n\n If the test failed and your cluster is not ready, the output will look something like: \n\n ```\n NAME COMPLETIONS DURATION AGE\n apigee-k8s-cluster-ready-check 0/1 44s 44s\n ```\n\n Look for the number of completions:\n - **1/1** Success, your cluster is ready for Apigee hybrid installation.\n - **0/1** The test failed. The cluster is not ready. Proceed to the following steps to troubleshoot the cluster.\n\n \u003cbr /\u003e\n\n6. If the test did not succeed, check the logs with the following commands.\n 1. Get the name of the pod for the cluster pre-check job: \n\n ```\n kubectl get pods | grep apigee-k8s-cluster-ready-check\n ```\n 2. Get the Kubernetes logs for the pod: \n\n ```\n kubectl logs pod_name\n ```\n\n\n Where \u003cvar translate=\"no\"\u003epod_name\u003c/var\u003e is the name of the apigee-k8s-cluster-ready-check pod.\n7. Clean up before proceeding to the next step. Delete the Kubernetes job with the following command: \n\n ```\n kubectl delete -f $APIGEE_HELM_CHARTS_HOME/cluster-check/apigee-k8s-cluster-ready-check.yaml\n ```\n\n| **Tip:** On some platforms, like Anthos on Bare Metal or GKE on-prem, you may see DNS resolution errors. If the DNS resolution is not working, try this workaround.\n|\n|\n| Add a static host entry in `/etc/hosts` file of each cassandra worker node\n| similar to the following: \n|\n| ```\n| echo -e \"\\\\n127.0.1.1 ${HOSTNAME}\" \u003e\u003e \"/etc/hosts\"\n| ```\n|\n|\n| or \n|\n| ```\n| \"\\\\nWORKER-NODE-IP ${HOSTNAME}\" \u003e\u003e \"/etc/hosts\"\n| ```\n\nYou have now made sure your Apigee hybrid cluster is ready. Next, let's install the charts to\napply your configuration to the hybrid runtime.\n\nTroubleshooting\n---------------\n\n1. Cassandra DNS check: If you find error logs similar to `DNS resolution was successful but IP doesn't match POD IP`, `could not resolve hostname` or `error determining hostname` it means your cluster DNS is not configured correctly for a multi-region setup. You can ignore this error if you do not intend to set up multi-region.\n2. Control Plane connectivity check: If you find error logs similar to `error creating TCP connection with host` then you need to resolve the connectivity from cluster to apigee.googleapis.com and re-run the job.\n\n[1](/apigee/docs/hybrid/v1.11/helm-install-create-cluster) [2](/apigee/docs/hybrid/v1.11/helm-install-download-charts) [3](/apigee/docs/hybrid/v1.11/helm-install-create-namespace) [4](/apigee/docs/hybrid/v1.11/helm-install-service-accounts) [5](/apigee/docs/hybrid/v1.11/helm-install-create-tls-certificates) [6](/apigee/docs/hybrid/v1.11/helm-install-create-overrides) [7](/apigee/docs/hybrid/v1.11/helm-install-enable-synchronizer-access) [8](/apigee/docs/hybrid/v1.11/helm-install-cert-manager) [9](/apigee/docs/hybrid/v1.11/helm-install-crds) [10](/apigee/docs/hybrid/v1.11/helm-install-check-cluster) [(NEXT) Step 11: Install Apigee hybrid using Helm charts](/apigee/docs/hybrid/v1.11/helm-install-helm-charts) [12](/apigee/docs/hybrid/v1.11/helm-install-workload-identity)\n\n\u003cbr /\u003e"]]