Langkah 10: Periksa kesiapan cluster

Memeriksa kesiapan cluster campuran

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.

  1. 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:

    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. Di direktori helm-charts, buat direktori cluster-check:
    mkdir $APIGEE_HELM_CHARTS_HOME/cluster-check
  3. Di direktori $APIGEE_HELM_CHARTS_HOME/cluster-check, buat file bernama apigee-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.13.2
              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 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.

  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 adalah nama pod apigee-k8s-cluster-ready-check.

  7. Bersihkan 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 Apigee Hybrid Anda siap. Selanjutnya, mari kita instal diagram untuk menerapkan konfigurasi Anda ke runtime campuran.

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, artinya DNS cluster Anda tidak dikonfigurasi dengan benar untuk penyiapan multi-region. Anda dapat mengabaikan error ini jika tidak ingin menyiapkan multi-region.
  2. 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.

Langkah berikutnya

1 2 3 4 5 6 7 8 9 10 (BERIKUTNYA) Langkah 11: Menyiapkan Workload Identity