Langkah 10: Periksa kesiapan cluster

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.

  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 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 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 Anda, 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: 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
    
  4. Terapkan apigee-k8s-cluster-ready-check.yaml dengan hal berikut perintah kubectl. 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:

    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.

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

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

Langkah berikutnya

1 2 3 4 5 6 7 8 9 10 (BERIKUTNYA) Langkah 11: Instal Apigee Hybrid menggunakan chart Helm 12