Langkah 4: Instal hybrid di AKS

Menerapkan konfigurasi ke cluster

Untuk menginstal Apigee Hybrid ke cluster Anda:

  1. Pastikan Anda berada di direktori hybrid-base-directory/hybrid-files.
  2. Jalankan perintah init:
    $APIGEECTL_HOME/apigeectl init -f overrides/overrides-aks.yaml

    Perintah init menginstal layanan deployment Apigee Apigee Deployment Controller dan Apigee Registration Webhook, serta men-deploy komponen non-Apigee Istio dan Cert Manager.

  3. Untuk memeriksa status deployment, Anda dapat menggunakan perintah berikut:
    $APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides-aks.yaml

    dan

    kubectl get pods -n apigee-system

    dan

    kubectl get pods -n istio-system

    Saat pod sudah siap, lanjutkan ke langkah berikutnya.

  4. Lakukan penginstalan "uji coba". Jalankan perintah apply dengan flag --dry-run=true. Dengan melakukan uji coba, Anda dapat memeriksa error sebelum melakukan perubahan pada cluster.
    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides-aks.yaml --dry-run=true
  5. Jika tidak ada error, Anda dapat menerapkan komponen runtime khusus Apigee ke cluster:
    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides-aks.yaml
  6. Untuk memeriksa status deployment:
    $APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides-aks.yaml

    Ulangi langkah ini hingga semua pod sudah siap. Pod perlu waktu beberapa menit untuk dimulai.

Aktifkan akses sinkronisasi

  1. Buat akun layanan GCP dan tambahkan peran Apigee Organization Admin ke akun tersebut. Akun layanan ini akan digunakan untuk mengautentikasi panggilan API yang akan Anda lakukan pada langkah berikutnya. Cara mudah untuk membuat akun layanan adalah melalui GCP Console. Untuk mengetahui petunjuknya, lihat Membuat dan mengelola akun layanan di dokumentasi GCP.
  2. Download kunci akun layanan ke sistem Anda. Ikuti petunjuk di Membuat kunci akun layanan dalam dokumentasi GCP.
  3. Pindahkan kunci akun layanan yang didownload ke direktori akun layanan Anda: /hybrid-base-directory/hybrid-files/service-accounts.
  4. Jalankan dua perintah berikut untuk mendapatkan token:
    export GOOGLE_APPLICATION_CREDENTIALS=org-admin-service-account-file
    export TOKEN=$(gcloud auth application-default print-access-token)

    Dengan org-admin-service-account-file adalah jalur di sistem Anda ke kunci akun layanan yang Anda download dengan peran Apigee Organization Admin.

  5. Panggil setSyncAuthorization API untuk mengaktifkan izin yang diperlukan untuk Sinkronisasir:
    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/your_org_name:setSyncAuthorization" \
       -d '{"identities":["serviceAccount:synchronizer-manager-service-account-email"]}'
    

    Dengan keterangan:

    • your_org_name: Nama organisasi campuran Anda.
    • synchronizer-manager-service-account-email: Nama akun layanan dengan peran Apigee Synchronizer Manager. Nama tersebut akan dibuat seperti alamat email. Contoh: apigee-synchronizer@my-project.iam.gserviceaccount.com

    Contoh:

    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/my_org:setSyncAuthorization" \
       -d '{"identities":["serviceAccount:apigee-synchronizer@my-project.iam.gserviceaccount.com"]}'
    
  6. Untuk memverifikasi bahwa akun layanan telah ditetapkan, panggil API berikut untuk mendapatkan daftar akun layanan:
    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/your_org_name:getSyncAuthorization" \
       -d ''
    

    Outputnya terlihat mirip dengan yang berikut ini:

    {
       "identities":[
          "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com"
       ],
       "etag":"BwWJgyS8I4w="
    }
        

Tambahkan IP MART ke organisasi Anda

Anda harus menambahkan alamat IP endpoint MART ke organisasi Apigee Anda. Anda menetapkan nilai ini sebelumnya saat menetapkan nilai properti mart.hostAlias dalam file penggantian. Bidang pengelolaan memerlukan alamat ini agar dapat berkomunikasi dengan bidang runtime melalui MART.

Ikuti langkah-langkah berikut untuk menambahkan IP MART ke organisasi Anda:

  1. Dapatkan nilai yang Anda tetapkan sebelumnya dalam file penggantian untuk properti mart.hostAlias. Agar MART dapat berfungsi, alias host harus berupa nama domain yang sepenuhnya memenuhi syarat.
  2. Cari kunci akun layanan dengan peran Apigee Organization Admin yang telah Anda download sebelumnya, di bagian Enable syncr access.
  3. Jalankan dua perintah berikut untuk mendapatkan token:
    export GOOGLE_APPLICATION_CREDENTIALS=org-admin-service-account-file
    export TOKEN=$(gcloud auth application-default print-access-token)

    Dengan org-admin-service-account-file adalah jalur di sistem Anda ke kunci akun layanan yang Anda download dengan peran Apigee Organization Admin.

  4. Panggil API pengelolaan berikut untuk memperbarui organisasi Anda dengan endpoint MART:
    curl -v -X PUT \
       https://apigee.googleapis.com/v1/organizations/your_org_name \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer $TOKEN" \
      -d '{
      "name" : "your_org_name",
      "properties" : {
        "property" : [ {
          "name" : "features.hybrid.enabled",
          "value" : "true"
        }, {
          "name" : "features.mart.server.endpoint",
          "value" : "https://HOST_ALIAS_DNS"
        } ]
      }
    }'

    Berikut adalah contohnya. Pastikan untuk menambahkan awalan "https://" ke nama domain.

    curl -v -X PUT \
       https://apigee.googleapis.com/v1/organizations/my_organization \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer $TOKEN" \
      -d '{
      "name" : "my_organization",
      "properties" : {
        "property" : [ {
          "name" : "features.hybrid.enabled",
          "value" : "true"
        }, {
          "name" : "features.mart.server.endpoint",
          "value" : "https://foo-mart.example.com"
        } ]
      }
    }'

Simpan file penggantian

Pastikan untuk menyimpan file penggantian. Anda akan memerlukan file ini untuk melakukan upgrade, patch, atau modifikasi lainnya pada konfigurasi cluster di masa mendatang.