Memeriksa kesiapan cluster campuran
Sebelum menerapkan konfigurasi dan menginstal runtime campuran, 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 kontekskubectl
:Cluster regional
gcloud container clusters get-credentials $CLUSTER_NAME \ --region $CLUSTER_LOCATION \ --project $PROJECT_ID
Cluster zona
gcloud container clusters get-credentials $CLUSTER_NAME \ --zone $CLUSTER_LOCATION \ --project $PROJECT_ID
- Di direktori file campuran, buat direktori
cluster-check
:mkdir $HYBRID_FILES/cluster-check
- Di direktori
$HYBRID_FILES/cluster-check
, buat file bernamaapigee-k8s-cluster-ready-check.yaml
dengan konten berikut: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.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
- Terapkan
apigee-k8s-cluster-ready-check.yaml
dengan perintahkubectl
berikut. Tindakan ini akan menjalankan pengujian:kubectl apply -f $HYBRID_FILES/cluster-check/apigee-k8s-cluster-ready-check.yaml
- Periksa status tugas Kubernetes dengan perintah berikut:
kubectl get jobs apigee-k8s-cluster-ready-check
Jika cluster Anda sudah siap, output-nya akan terlihat seperti ini:
NAME COMPLETIONS DURATION AGE apigee-k8s-cluster-ready-check 1/1 8s 1h23m
Jika pengujian gagal dan cluster Anda belum siap, output-nya akan terlihat seperti ini:
NAME COMPLETIONS DURATION AGE apigee-k8s-cluster-ready-check 0/1 44s 44s
Cari jumlah penyelesaian:
- 1/1 Berhasil, cluster Anda siap untuk penginstalan Apigee Hybrid.
- 0/1 Pengujian gagal. Cluster belum siap. Lanjutkan ke langkah-langkah berikut untuk memecahkan masalah cluster.
- Jika pengujian tidak berhasil, periksa log dengan perintah berikut.
- Dapatkan nama pod untuk tugas pra-pemeriksaan cluster:
kubectl get pods | grep apigee-k8s-cluster-ready-check
- Dapatkan log Kubernetes untuk pod:
kubectl logs pod_name
Dengan pod_name adalah nama pod apigee-k8s-cluster-ready-check.
- Dapatkan nama pod untuk tugas pra-pemeriksaan cluster:
- Bersihkan sebelum melanjutkan ke langkah berikutnya. Hapus tugas Kubernetes dengan perintah
berikut:
kubectl delete -f $HYBRID_FILES/cluster-check/apigee-k8s-cluster-ready-check.yaml
Sekarang Anda telah memastikan cluster Apigee Hybrid Anda siap. Selanjutnya, mari kita terapkan konfigurasi ke runtime hybrid dan selesaikan penginstalan Apigee hybrid.
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
, atauerror 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.