Memeriksa kesiapan cluster hybrid
Sebelum menerapkan konfigurasi dan menginstal diagram helm hybrid, Anda harus pastikan cluster Kubernetes Anda siap untuk penginstalan hybrid Apigee.
Untuk memeriksa kesiapan cluster, Anda akan membuat file YAML dengan 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 harus menyertakan nama cluster tempat Anda men-deploy Apigee Hybrid. Sebagai Sebagai contoh, di GKE, nama konteks biasanya berupa
gke_project-id_cluster-location_cluster-name
, sebagai dalam:gke_my-project_us-central1_my-cluster
Jika nama cluster nama dalam konteks tidak cocok, perintah berikut akan mendapatkan Kredensial
gcloud
untuk cluster dan setel 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 helm-charts Anda, buat direktori
cluster-check
:mkdir $APIGEE_HELM_CHARTS_HOME/cluster-check
- Di direktori
$APIGEE_HELM_CHARTS_HOME/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: 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.1 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 hal berikut perintahkubectl
. Tindakan ini akan menjalankan pengujian:kubectl apply -f $APIGEE_HELM_CHARTS_HOME/cluster-check/apigee-k8s-cluster-ready-check.yaml
Output akan menunjukkan bahwa akun layanan dan tugas telah dibuat. Contoh:
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 - 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:
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 hybrid Apigee.
- 0/1 Pengujian gagal. Cluster belum siap. Lanjutkan ke 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:
- Hapus data sebelum melanjutkan ke langkah berikutnya. Hapus tugas Kubernetes dengan perintah berikut
berikut:
kubectl delete -f $APIGEE_HELM_CHARTS_HOME/cluster-check/apigee-k8s-cluster-ready-check.yaml
Output akan menunjukkan bahwa akun layanan dan tugas telah dihapus. Contoh:
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
Anda kini telah memastikan bahwa cluster hybrid Apigee sudah siap. Selanjutnya, mari kita instal grafik untuk menerapkan konfigurasi Anda ke runtime 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 tidak dikonfigurasi dengan benar untuk penyiapan multi-region. Anda dapat mengabaikan kesalahan ini jika Anda tidak ingin menyiapkan multi-region. - Pemeriksaan konektivitas Pesawat 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 jalankan ulang tugasnya.