Langkah 5: Instal runtime hybrid

Aktifkan akses sinkronisasi

Untuk mengaktifkan akses sinkronisasi:

  1. Membuat akun layanan Google Cloud 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.

    Misalnya, perintah gcloud berikut akan membuat akun layanan dan tetapkan Admin Organisasi Apigee:

    1. Buat akun:
      gcloud iam service-accounts create apigee-org-admin \
          --display-name="apigee-org-admin"

      Dengan apigee-org-admin adalah nama akun layanan yang Anda buat. "apigee-org-admin" direkomendasikan untuk tutorial ini.

    2. Tetapkan peran Apigee Org Admin ke akun layanan:
      gcloud projects add-iam-policy-binding $PROJECT_ID \
          --member="serviceAccount:apigee-org-admin@$PROJECT_ID." \
          --role="roles/apigee.admin"

      Dengan keterangan:

      • $PROJECT_ID adalah nama project Google Cloud yang Anda buat di Langkah 2: Buat project Google Cloud.
      • apigee-org-admin adalah nama akun layanan yang baru saja Anda buat.
      • roles/apigee.admin adalah peran Apigee Org Admin.
  2. Download kunci akun layanan ke sistem Anda. Gunakan perintah berikut untuk mendownload kunci ke direktori service-accounts/ Anda. Untuk informasi lebih lanjut, lihat petunjuk di Membuat kunci akun layanan dalam dokumentasi GCP.
    1. Pastikan Anda berada di direktori /hybrid-base-directory/hybrid-files/.
    2. Download kunci:
      gcloud iam service-accounts keys create ./service-accounts/$PROJECT_ID-apigee-org-admin.json \
        --iam-account apigee-org-admin@$PROJECT_ID.

      Output-nya akan terlihat seperti:

      created key [a0b1c2d3e4f5a0b1c2d3e4f5a0b1c2d3e4f5a0b1] of type [json] as [./service-accounts/hybrid-
      example-apigee-org-admin.json] for [apigee-org-admin@my-hybrid.]
      $ 
  3. Verifikasi jalur ke kunci akun layanan Admin Org Apigee dengan perintah berikut:
    ls service-accounts/*admin*

    Hasilnya akan terlihat seperti berikut:

    service-accounts/hybrid-example-apigee-org-admin.json
  4. Buat variabel lingkungan ORG_ADMIN_ACCOUNT dengan nama file kunci. Contoh:
    export ORG_ADMIN_ACCOUNT="hybrid-example-2-apigee-org-admin.json"
  5. Jalankan perintah berikut untuk mendapatkan token:
    export GOOGLE_APPLICATION_CREDENTIALS=./service-accounts/$ORG_ADMIN_ACCOUNT
    export TOKEN=$(gcloud auth application-default print-access-token)
  6. Dapatkan alamat email untuk akun layanan apigee-synchronizer Anda dengan perintah berikut:
    gcloud iam service-accounts list --filter "apigee-synchronizer"

    Jika cocok dengan pola apigee-synchronizer$ORG_NAME., Anda Anda dapat menggunakan pola tersebut di langkah berikutnya.

  7. Memanggil setSyncAuthorization API untuk aktifkan izin yang diperlukan untuk Synchronizer menggunakan perintah berikut:
    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/$ORG_NAME:setSyncAuthorization" \
       -d '{"identities":["'"serviceAccount:apigee-synchronizer@$ORG_NAME."'"]}'
    

    Dengan keterangan:

    • $ORG_NAME: Nama organisasi campuran Anda.
    • apigee-synchronizer$ORG_NAME.: Email alamat akun layanan apigee-syncnronizer.
  8. Untuk memverifikasi bahwa akun layanan telah disetel, gunakan perintah berikut untuk memanggil API guna daftar akun layanan:
    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/$ORG_NAME:getSyncAuthorization" \
       -d ''
    

    Outputnya terlihat mirip dengan yang berikut ini:

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

Menerapkan konfigurasi ke cluster

Gunakan langkah-langkah berikut 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 menggunakan perintah berikut. Konteks saat ini harus ditetapkan ke cluster tempat Anda men-deploy Apigee Hybrid.
    kubectl config get-contexts
  3. Pastikan variabel KUBECONFIG ditetapkan menggunakan perintah berikut. Jika tidak, lihat Prasyarat.
    echo $KUBECONFIG
  4. Lakukan inisialisasi dry run. Jalankan perintah init dengan tanda --dry-run. Dengan melakukan uji coba, Anda dapat memeriksa error sebelum perubahan dilakukan pada cluster.

    Pada hybrid versi 1.3, sintaksis flag --dry-run bergantung pada versi kubectl yang Anda jalankan. Periksa versi kubectl dengan perintah berikut:

    kubectl version

    kubectl versi 1.17 dan yang lebih lama:

    $APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=true

    kubectl versi 1.18 dan yang lebih baru:

    $APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=client
  5. Jika tidak ada error, jalankan perintah init sebagai berikut:
    $APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml

    Perintah init menginstal deployment Apigee layanan Pengontrol Deployment Apigee dan Webhook Penerimaan Apigee.

  6. Untuk memeriksa status deployment, Anda dapat menggunakan perintah berikut:
    $APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml
    kubectl get pods -n apigee-system
    kubectl get pods -n istio-system

    Jika pod sudah siap, lanjutkan ke langkah berikutnya.

  7. Lakukan penginstalan dry run. Jalankan perintah apply dengan tanda --dry-run.

    kubectl versi 1.17 dan yang lebih lama:

    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=true

    kubectl versi 1.18 dan yang lebih baru:

    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=client
  8. Jika tidak ada kesalahan, Anda dapat menerapkan Komponen runtime khusus Apigee ke cluster dengan perintah berikut:
    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
  9. Untuk memeriksa status deployment, jalankan perintah berikut:
    $APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml

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

Aktifkan Apigee Connect

Apigee Connect mengelola komunikasi antara bidang pengelolaan Apigee dan MART pada runtime pesawat terbang. Untuk mengetahui informasi lebih lanjut, baca Menggunakan Apigee Connect.

Untuk mengaktifkan Apigee Connect, lakukan langkah-langkah berikut:

  1. Pada command line, dapatkan kredensial autentikasi gcloud, seperti yang ditunjukkan contoh berikut:

    TOKEN=$(gcloud auth print-access-token)

    Untuk memeriksa apakah token Anda telah diisi, gunakan echo, seperti yang ditunjukkan pada contoh berikut:

    echo $TOKEN

    Tindakan ini akan menampilkan token Anda sebagai string yang dienkode.

    Untuk informasi selengkapnya, lihat Ringkasan alat command line gcloud.

  2. Gunakan perintah berikut untuk melihat apakah Apigee Connect diaktifkan untuk organisasi Anda.
    curl -H "Authorization: Bearer $TOKEN" \
      "https://apigee.googleapis.com/v1/organizations/$ORG_NAME"

    Dengan $ORG_NAME adalah ID organisasi Anda.

    Jika output berisi hal berikut:

          "name" : "features.mart.connect.enabled",
          "value" : "true"

    Apigee Connect diaktifkan dan Anda dapat melewati bagian ini.

  3. Aktifkan Apigee Connect dengan perintah berikut:
    curl -H "Authorization: Bearer $TOKEN" -X PUT \
      -H "Content-Type: application/json" \
      -d '{
        "name" : "'"$ORG_NAME"'",
        "properties" : {
          "property" : [ {
            "name" : "features.hybrid.enabled",
            "value" : "true"
          }, {
            "name" : "features.mart.connect.enabled",
            "value" : "true"
          } ]
        }
      }' \
      "https://apigee.googleapis.com/v1/organizations/$ORG_NAME"
    

    Jika output berisi properti berikut, Apigee Connect berhasil diaktifkan:

          {
            "name": "features.mart.connect.enabled",
            "value": "true"
          },
          {
            "name": "features.hybrid.enabled",
            "value": "true"
          }
    

    Output-nya akan terlihat seperti berikut:

    {
      "name": "hybrid-example-2",
      "createdAt": "1594409699772",
      "lastModifiedAt": "1594776283697",
      "environments": [
        "example-env"
      ],
      "properties": {
        "property": [
          {
            "name": "features.mart.connect.enabled",
            "value": "true"
          },
          {
            "name": "features.hybrid.enabled",
            "value": "true"
          }
        ]
      },
      "analyticsRegion": "us-central1",
      "runtimeType": "HYBRID",
      "subscriptionType": "TRIAL"
    }