Langkah 4: Instal hybrid di GKE

Menerapkan konfigurasi ke cluster

Untuk menginstal Apigee Hybrid ke cluster Anda:

  1. Pastikan Anda berada di direktori hybrid-base-directory/hybrid-files.
  2. Pastikan kubectl ditetapkan ke konteks yang benar. Konteks saat ini harus ditetapkan ke cluster tempat Anda men-deploy:
    kubectl config get-contexts
  3. Jalankan perintah init:
    $APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml

    Perintah init menginstal Layanan deployment Apigee Pengontrol Deployment Apigee dan Webhook Penerimaan Apigee, serta men-deploy aplikasi non-Apigee komponen Istio dan Manajer Sertifikasi.

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

    dan

    kubectl get pods -n apigee-system

    dan

    kubectl get pods -n istio-system

    Jika pod sudah siap, lanjutkan ke langkah berikutnya.

  5. Lakukan "uji coba" diinstal. Jalankan perintah apply dengan flag --dry-run=true. Melakukan pengeringan dapat digunakan untuk memeriksa error sebelum melakukan perubahan pada cluster.
    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=true
  6. Jika tidak ada error, Anda dapat menerapkan konfigurasi komponen runtime ke cluster:
    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
  7. Untuk memeriksa status deployment:
    $APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml

    Ulangi langkah ini sampai semua pod siap. Pod mungkin memerlukan waktu beberapa menit untuk memulai.

Aktifkan akses sinkronisasi

  1. Membuat akun layanan GCP dan menambahkan peran Apigee Organization Admin IP eksternal mana pun yang ditetapkan pada instance tersebut. Akun layanan ini akan digunakan untuk mengautentikasi panggilan API yang akan Anda lakukan di langkah selanjutnya. Cara mudah untuk membuat akun layanan adalah melalui GCP Console. Untuk petunjuk, lihat Membuat dan mengelola akun layanan dalam 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 telah 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 layanan kunci akun yang didownload dengan peran Apigee Organization Admin.

  5. Memanggil setSyncAuthorization API untuk mengaktifkan izin yang diperlukan untuk Synchronizer:
    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 dibentuk seperti alamat email. Contoh: apigee-synchronizer@my-project.

    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."]}'
    
  6. Untuk memverifikasi bahwa akun layanan sudah disetel, 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."
       ],
       "etag":"BwWJgyS8I4w="
    }
        

Menambahkan alias host MART ke organisasi Anda

Anda harus menambahkan alias host endpoint MART ke organisasi Apigee Anda. Anda menetapkan nilai ini sebelumnya saat ditetapkan nilai properti mart.hostAlias dalam penggantian Anda . Bidang pengelolaan memerlukan alamat ini agar dapat berkomunikasi dengan runtime pesawat di atas MART.

Ikuti langkah-langkah berikut untuk menambahkan alias host MART ke organisasi Anda:

  1. Dapatkan nilai yang Anda tetapkan sebelumnya dalam file penggantian untuk mart.hostAlias. Agar MART dapat berfungsi, alias host harus menjadi nama domain yang sepenuhnya memenuhi syarat
  2. Temukan kunci akun layanan dengan peran Apigee Organization Admin yang telah Anda unduh sebelumnya, di bagian Aktifkan akses sinkronisasi.
  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 layanan kunci akun yang didownload 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"
        } ]
      }
    }'

    Ini contohnya. Pastikan untuk menambahkan awalan "https://" ke alias {i>host<i}.

    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"
        } ]
      }
    }'

Menyimpan file penggantian

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