Step 8: Check cluster readiness Stay organized with collections Save and categorize content based on your preferences.
Preview — Pre-install cluster check
This feature is subject to the "Pre-GA Offerings Terms" in the General Service Terms section of theService Specific Terms. Pre-GA features are available "as is" and might have limited support. For more information, see thelaunch stage descriptions.
Check hybrid cluster readiness
Before applying your configuration and installing the hybrid runtime, you should check that your Kubernetes cluster is ready for Apigee hybrid installation.
Note. This feature is in public preview. The scope of the checks is limited. To check the readiness of your cluster, you will create a YAML file with a Kubernetes Job definition and apply that file withkubectl commands to check the cluster. You then check the status of the Kubernetes test job with akubectl get jobs command.
- Verify that
kubectlis 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.kubectl config current-context
The result should include the name of the cluster you are deploying Apigee hybrid in. For example, on GKE, the context name is usually in the form
gke_project-id_cluster-location_cluster-name, as in:gke_my-project_us-central1_my-cluster
If the name cluster name in the context does not match, the following command will get the
gcloudcredentials of the cluster and set thekubectlcontext:Regional clusters
gcloud container clusters get-credentials $CLUSTER_NAME \--region $CLUSTER_LOCATION \--project $PROJECT_ID
Zonal clusters
gcloud container clusters get-credentials $CLUSTER_NAME \--zone $CLUSTER_LOCATION \--project $PROJECT_ID
- In your hybrid files directory, create a
cluster-checkdirectory:mkdir$HYBRID_FILES/cluster-check
- In the
$HYBRID_FILES/cluster-checkdirectory, create a file namedapigee-k8s-cluster-ready-check.yamlwith the following contents:apiVersion: v1kind: ServiceAccountmetadata: name: apigee-k8s-cluster-ready-check---apiVersion: batch/v1kind: Jobmetadata: name: apigee-k8s-cluster-ready-checkspec: 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
- Apply the
apigee-k8s-cluster-ready-check.yamlwith the followingkubectlcommand. This will run the test:kubectl apply -f $HYBRID_FILES/cluster-check/apigee-k8s-cluster-ready-check.yaml
- Check the status of the Kubernetes job with the following command:
kubectl get jobs apigee-k8s-cluster-ready-check
If your cluster is ready, the output should look something like:
NAME COMPLETIONS DURATION AGEapigee-k8s-cluster-ready-check1/1 8s 1h23m
If the test failed and your cluster is not ready, the output should look something like:
NAME COMPLETIONS DURATION AGEapigee-k8s-cluster-ready-check0/1 44s 44s
Look for the number of completions:
- 1/1 Success, your cluster is ready for Apigee hybrid installation.
- 0/1 The test failed. The cluster is not ready. Proceed to the following steps to troubleshoot the cluster.
- If the test did not succeed, check the logs with the following commands.
- Get the name of the pod for the cluster pre-check job:
kubectl get pods | grep apigee-k8s-cluster-ready-check
- Get the Kubernetes logs for the pod:
kubectl logspod_name
Wherepod_name is the name of the apigee-k8s-cluster-ready-check pod.
- Get the name of the pod for the cluster pre-check job:
- Clean up before proceeding to the next step. Delete the Kubernetes job with the following command:
kubectl delete -f $HYBRID_FILES/cluster-check/apigee-k8s-cluster-ready-check.yaml
Add a static host entry in/etc/hosts file of each cassandra worker node similar to the following:
echo -e "\\n127.0.1.1 ${HOSTNAME}" >> "/etc/hosts"or
"\\nWORKER-NODE-IP ${HOSTNAME}" >> "/etc/hosts"You have now made sure your Apigee hybrid cluster is ready. Next, let's apply your configuration to the hybrid runtime and complete your installation of Apigee hybrid.
Troubleshooting
- Cassandra DNS check: If you find error logs smiliar to
DNS resolution was successful but IP doesn't match POD IP,could not resolve hostnameorerror determining hostnameit means your cluster DNS is not configured correctly for a multi-region setup. You can ignore this error if you do not intend to setup multi-region. - Control Plane connectivity check: If you find error logs similar to
error creating TCP connection with hostthen you need to resolve the connectivity from cluster to apigee.googleapis.com and re-run the job.
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-02-18 UTC.