Membuat APIMExtensionPolicy

Halaman ini berlaku untuk Apigee dan Apigee Hybrid.

Lihat dokumentasi Apigee Edge.

Halaman ini menjelaskan cara membuat APIMExtensionPolicy untuk membuat ekstensi traffic yang diperlukan di Gateway Google Kubernetes Engine (GKE) yang berjalan di cluster Anda.

Sebelum memulai

Sebelum Anda memulai tugas ini, selesaikan langkah-langkah berikut:

Peran yang diperlukan

Jika Anda menetapkan peran yang diperlukan ke akun layanan seperti yang dijelaskan dalam Menginstal Apigee Operator untuk Kubernetes, tidak ada peran atau izin IAM tambahan yang diperlukan untuk menyelesaikan tugas ini.

Anda dapat memilih untuk mengizinkan tindakan pada resource di cluster Google Kubernetes Engine menggunakan mekanisme role-based access control (RBAC) bawaan di Kubernetes. Untuk mengetahui informasi selengkapnya, lihat Memberikan otorisasi pada tindakan dalam cluster menggunakan role-based access control.

Buat APIMExtensionPolicy

Pada langkah ini, buat APIMExtensionPolicy dan terapkan ke GKE Gateway yang berjalan di cluster Anda. Kebijakan ini mengatur semua traffic yang melalui Gateway dan HTTPRoutes terkait, yang beroperasi serupa dengan flowhook di tingkat lingkungan di Apigee saat ini.

Buat kebijakan Ekstensi APIM:

  1. Buat file baru bernama global-ext-lb1-apim-policy.yaml dalam namespace apim.
  2. Salin konten berikut ke dalam file baru:
    # global-ext-lb1-apim-policy.yaml
    apiVersion: apim.googleapis.com/v1
    kind: APIMExtensionPolicy
    metadata:
      name: global-ext-lb1-apim-policy
      namespace: apim
    spec:
      apigeeEnv: ENV_NAME # optional
      location: global
      failOpen: false
      timeout: 1000ms
      defaultSecurityEnabled: true
      targetRef: # identifies the Gateway where the extension should be applied
        name: global-ext-lb1
        kind: Gateway
        namespace: default

    Dengan ENV_NAME adalah nama lingkungan Apigee yang dibuat di langkah penginstalan Membuat lingkungan Apigee.

    Anda dapat melihat semua lingkungan yang tersedia di halaman Apigee Environments di konsol Google Cloud :

    Buka Lingkungan

  3. Terapkan kebijakan:
    kubectl -n apim apply -f global-ext-lb1-apim-policy.yaml

    Setelah kebijakan diterapkan, Apigee Operator untuk Kubernetes akan membuat resource jaringan di latar belakang.

  4. Periksa status kebijakan Ekstensi APIM menggunakan perintah berikut:
    kubectl -n apim get APIMExtensionPolicy

    Output-nya akan terlihat seperti berikut, dengan State RUNNING:

    NAME                         STATE      ERRORMESSAGE
    global-ext-lb1-apim-policy   RUNNING  
  5. Gunakan perintah berikut untuk mengirim permintaan ke Gateway:
    curl http://GATEWAY_IP_ADDRESS/get -H "Host: HOST_NAME"

    Dengan:

    • GATEWAY_IP_ADDRESS adalah alamat IP Gateway. Anda dapat mengambil alamat IP Gateway menggunakan perintah berikut, dengan GATEWAY_NAME adalah nama Gateway:
      kubectl get gateways.gateway.networking.k8s.io GATEWAY_NAME -o=jsonpath="{.status.addresses[0].value}"
    • HOST_NAME adalah nama host yang ditentukan dalam HTTPRoute Gateway.
  6. Permintaan akan gagal karena keamanan default diaktifkan dengan menyetel defaultSecurityEnabled: true di resource kebijakan Ekstensi API. Anda akan melihat respons seperti berikut:
    {"fault":{"faultstring":"Raising fault. Fault name : RF-insufficient-request-raise-fault","detail":{"errorcode":"steps.raisefault.RaiseFault"}}}

    Hal ini menunjukkan bahwa kebijakan ekstensi Apigee aktif dan penegakan kunci API serta verifikasi token akses aktif.

Langkah berikutnya