Langkah 10: Periksa kesiapan cluster

Memeriksa kesiapan cluster hybrid

Sebelum menerapkan konfigurasi dan menginstal diagram helm hybrid, Anda harus memastikan bahwa 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. Selanjutnya, periksa status tugas pengujian Kubernetes dengan perintah kubectl get jobs.

  1. Pastikan kubectl disetel 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. 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 nama dalam konteks tidak cocok, perintah berikut akan mendapatkan kredensial gcloud cluster dan menetapkan konteks kubectl:

    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
  2. Dalam direktori helm-charts, buat direktori cluster-check:
    mkdir $APIGEE_HELM_CHARTS_HOME/cluster-check
  3. Dalam direktori $APIGEE_HELM_CHARTS_HOME/cluster-check, buat file bernama apigee-k8s-cluster-ready-check.yaml dengan isi 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.12.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
    
  4. Terapkan apigee-k8s-cluster-ready-check.yaml dengan perintah kubectl berikut. 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
  5. Periksa status tugas Kubernetes dengan perintah berikut:
    kubectl get jobs apigee-k8s-cluster-ready-check

    Jika cluster 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 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-langkah berikut untuk memecahkan masalah cluster.

  6. Jika pengujian tidak berhasil, periksa log dengan perintah berikut.
    1. Dapatkan nama pod untuk tugas pra-pemeriksaan cluster:
      kubectl get pods | grep apigee-k8s-cluster-ready-check
    2. Dapatkan log Kubernetes untuk pod:
      kubectl logs pod_name

      Dengan pod_name sebagai nama pod apigee-k8s-cluster-siap-check.

  7. Lakukan pembersihan sebelum melanjutkan ke langkah berikutnya. Hapus tugas Kubernetes dengan perintah 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

Sekarang Anda telah memastikan cluster hybrid Apigee sudah siap. Selanjutnya, mari kita instal diagram untuk menerapkan konfigurasi Anda ke runtime hybrid.

Pemecahan masalah

  1. 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, berarti DNS cluster Anda tidak dikonfigurasi dengan benar untuk penyiapan multi-region. Anda dapat mengabaikan error ini jika tidak ingin menyiapkan multi-region.
  2. Mengontrol pemeriksaan konektivitas Plane: Jika 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.

Langkah berikutnya

1 2 3 4 5 6 7