Langkah 5: Instal runtime campuran

Mengaktifkan 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 lakukan di langkah berikutnya. Cara mudah untuk membuat akun layanan adalah melalui GCP console. Untuk mengetahui petunjuknya, lihat Membuat dan mengelola akun layanan dalam dokumentasi GCP.

    Misalnya, perintah gcloud berikut akan membuat akun layanan dan menetapkan Apigee Organization Admin 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 Apigee Org Admin 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: Membuat 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 mengetahui informasi selengkapnya, 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

      Outputnya 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 Apigee Org Admin 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 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.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 telah 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 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. Lakukan inisialisasi uji coba. Jalankan perintah init dengan flag --dry-run. Dengan melakukan uji coba, Anda dapat memeriksa error sebelum perubahan dilakukan pada cluster.

    Dalam 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, yaitu Apigee Deployment Controller dan Apigee Admission Webhook.

  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

    Setelah pod 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 hingga semua pod siap. Pod mungkin memerlukan waktu beberapa menit untuk memulai.

Mengaktifkan Apigee Connect

Apigee Connect mengelola komunikasi antara bidang pengelolaan Apigee dan MART di bidang runtime. Untuk informasi selengkapnya, lihat Menggunakan Apigee Connect.

Untuk mengaktifkan Apigee Connect, lakukan langkah-langkah berikut:

  1. Di command line, dapatkan kredensial autentikasi gcloud Anda, seperti yang ditunjukkan pada contoh berikut:

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

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

    echo $TOKEN

    Tindakan ini akan menampilkan token Anda sebagai string yang dienkode.

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

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

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