Langkah 5: Instal runtime hybrid

Aktifkan akses sinkronisasi

Untuk mengaktifkan akses sinkronisasi:

  1. Buat akun layanan Google Cloud dan tambahkan peran Apigee Organization Admin ke akun tersebut. Akun layanan ini akan digunakan untuk mengautentikasi panggilan API yang akan Anda buat di langkah berikutnya. Cara mudah untuk membuat akun layanan adalah melalui konsol GCP. Untuk mengetahui petunjuknya, lihat Membuat dan mengelola akun layanan di dokumentasi GCP.

    Misalnya, perintah gcloud berikut akan membuat akun layanan dan menetapkan Admin Organisasi Apigee ke akun tersebut:

    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 Admin Org Apigee ke akun layanan:
      gcloud projects add-iam-policy-binding $PROJECT_ID \
          --member="serviceAccount:apigee-org-admin@$PROJECT_ID.iam.gserviceaccount.com" \
          --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.iam.gserviceaccount.com

      Output akan terlihat seperti ini:

      created key [a0b1c2d3e4f5a0b1c2d3e4f5a0b1c2d3e4f5a0b1] of type [json] as [./service-accounts/hybrid-
      example-apigee-org-admin.json] for [apigee-org-admin@my-hybrid.iam.gserviceaccount.com]
      $ 
  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.iam.gserviceaccount.com, Anda dapat menggunakan pola tersebut di langkah berikutnya.

  7. Panggil setSyncAuthorization API untuk mengaktifkan izin yang diperlukan bagi 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.iam.gserviceaccount.com"'"]}'
    

    Dengan keterangan:

    • $ORG_NAME: Nama organisasi campuran Anda.
    • apigee-synchronizer$ORG_NAME.iam.gserviceaccount.com: Alamat email akun layanan apigee-syncnronizer.
  8. Untuk memverifikasi bahwa akun layanan sudah ditetapkan, gunakan perintah berikut untuk memanggil API guna mendapatkan 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.iam.gserviceaccount.com"
       ],
       "etag":"BwWJgyS8I4w="
    }

Menerapkan konfigurasi ke cluster

Gunakan langkah-langkah berikut untuk menginstal Apigee Hybrid ke dalam cluster Anda:

  1. Pastikan Anda berada di direktori hybrid-base-directory/hybrid-files.
  2. Pastikan kubectl disetel 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. Lakukan inisialisasi uji coba. Jalankan perintah init dengan flag --dry-run. Dengan melakukan uji coba, Anda dapat memeriksa apakah ada error sebelum melakukan perubahan pada cluster.

    Pada versi campuran 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
  4. Jika tidak ada error, jalankan perintah init sebagai berikut:
    $APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml

    Perintah init menginstal layanan deployment Apigee Apigee Deployment Controller dan Webhook Pendaftaran Apigee.

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

    Saat pod sudah siap, lanjutkan ke langkah berikutnya.

  6. Lakukan penginstalan uji coba. Jalankan perintah apply dengan flag --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
  7. Jika tidak ada error, Anda dapat menerapkan komponen runtime khusus Apigee ke cluster dengan perintah berikut:
    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
  8. Untuk memeriksa status deployment, jalankan perintah berikut:
    $APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml

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

Aktifkan Apigee Connect

Apigee Connect mengelola komunikasi antara bidang pengelolaan Apigee dan MART di bidang runtime. Untuk mengetahui informasi selengkapnya, lihat 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 sudah diisi, gunakan echo, seperti yang ditunjukkan contoh berikut:

    echo $TOKEN

    Ini akan menampilkan token Anda sebagai string yang dienkode.

    Untuk mengetahui informasi selengkapnya, baca ringkasan alat command line gcloud.

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

    Dengan $ORG_NAME sebagai ID organisasi Anda.

    Jika output berisi hal berikut:

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

    Apigee Connect diaktifkan dan Anda dapat melewati bagian ini selanjutnya.

  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, berarti Apigee Connect berhasil diaktifkan:

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

    Output 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"
    }