Langkah 1: Mengekspos gateway masuk Apigee

Langkah ini menjelaskan cara menyiapkan layanan Kubernetes untuk gateway masuk Apigee Anda. Layanan Kubernetes diperlukan untuk setiap deployment masuk guna mendapatkan alamat IP yang dapat diekspos. Panggilan klien ke proxy akan memanggil nama host yang akan di-resolve menjadi alamat IP ini.

Opsi layanan Kubernetes untuk gateway masuk Apigee Anda

Ada dua opsi untuk menyediakan layanan Kubernetes untuk menetapkan alamat IP ...

Membuat layanan Kubernetes Anda sendiri

Untuk lingkungan produksi, Apigee merekomendasikan agar Anda membuat layanan Kubernetes kustom untuk setiap gateway masuk.

  • Apigee menghapus layanan default, tetapi tidak menghapus layanan kubernetes kustom setelah pembersihan. Oleh karena itu, alamat IP tidak akan dirilis setelah penginstalan ulang Apigee Hybrid.
  • Untuk platform yang tidak menggunakan Google Cloud, seperti EKS, AKS, dan OpenShift, Anda perlu menyesuaikan layanan Kubernetes agar berfungsi dengan penyedia cloud. Oleh karena itu, sebaiknya buat layanan Kubernetes kustom daripada menggunakan layanan default, karena apigee tidak mendukung semua penyesuaian pada layanan Kubernetes default.

Gunakan langkah-langkah berikut untuk menyiapkan dan mengarahkan traffic ke gateway masuk yang baru.

  1. Membuat layanan Kubernetes dengan label pemilih pod yang diperlukan, app, ingress_name, dan org. Label ini sudah ada di pod gateway masuk Apigee.

    Buat file layanan menggunakan template berikut:

    apiVersion: v1
    kind: Service
    metadata:
      name: SERVICE_NAME
      namespace: apigee
    spec:
      ports:
      - name: status-port
        port: 15021
        protocol: TCP
        targetPort: 15021
      - name: https
        port: 443
        protocol: TCP
        targetPort: 8443
      selector:
        app: apigee-ingressgateway #required
        ingress_name: INGRESS_NAME
        org: ORG_NAME
      type: LoadBalancer
      loadBalancerIP: LOAD_BALANCER_IP

    • SERVICE_NAME adalah nama yang digunakan untuk mengidentifikasi layanan ini. Misalnya, apigee-prod-1.
    • INGRESS_NAME adalah nama gateway masuk Apigee ini. Nama ini harus cocok dengan nama yang Anda berikan untuk ingressGateways.name dalam file overrides.yaml. Untuk mengetahui informasi selengkapnya, lihat ingressGateways dalam Referensi properti konfigurasi.
    • ORG_NAME adalah nama organisasi Apigee. Nama ini harus cocok dengan nama yang Anda berikan untuk org dalam file overrides.yaml. Untuk mengetahui informasi selengkapnya, lihat org dalam Referensi properti konfigurasi.
    • LOAD_BALANCER_IP adalah alamat IP untuk load balancer.

      Jika Anda memiliki alamat IP yang dicadangkan untuk load balancer, masukkan alamat IP tersebut.

      Jika belum memiliki alamat IP yang dicadangkan, Anda dapat menggunakan alamat IP yang ditampilkan oleh layanan masuk Apigee default. Gunakan EXTERNAL-IP yang ditampilkan oleh perintah berikut:

      kubectl get svc -n apigee -l app=apigee-ingressgateway

    Gateway masuk Apigee mengekspos port berikut:

    Port Deskripsi
    443 Traffic runtime.
    15.021 Health check. status-port mengekspos endpoint /healthz/ready yang dapat digunakan dengan health check GKE Ingress.
  2. Buat layanan dengan menerapkan SERVICE_FILENAME.yaml:
    kubectl apply -f SERVICE_FILENAME.yaml
  3. Temukan IP eksternal gateway masuk Apigee dengan perintah berikut:
    kubectl get svc -n apigee SERVICE_NAME

    Output Anda akan terlihat seperti:

    NAME                                        TYPE           CLUSTER-IP    EXTERNAL-IP     PORT(S)                                      AGE
    apigee-ingressgateway-prod-hybrid-37a39bd   LoadBalancer   192.0.2.123   233.252.0.123   15021:32049/TCP,80:31624/TCP,443:30723/TCP   16h
  4. Nonaktifkan load balancer untuk layanan gateway masuk Apigee default:
    1. Perbarui properti ingressGateways[].svcType ke ClusterIP di file penggantian:
      ingressGateways:
        svcType: ClusterIP
    2. Terapkan perubahan:

      Helm

      helm upgrade ORG_NAME apigee-org/ \
        --install \
        --namespace apigee \
        --atomic \
        -f overrides.yaml
      

      apigeectl

      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE.yaml --org

    Lihat Menonaktifkan load balancer untuk layanan gateway masuk Apigee default untuk mengetahui informasi selengkapnya.

  5. Uji gateway masuk dengan melakukan panggilan health check.

    curl -H 'User-Agent: GoogleHC/' https://DOMAIN/healthz/ingress -k \
      --resolve "DOMAIN:443:INGRESS_IP_ADDRESS"

    Dari mana

    Setelah berhasil, perintah akan menampilkan:

    Apigee Ingress is healthy
  6. Gunakan alamat IP ini untuk memperbarui data DNS (biasanya data A atau CNAME) di registrar atau penyedia DNS.

Menggunakan layanan Kubernetes default

Untuk lingkungan non-produksi atau untuk menguji traffic awal melalui gateway masuk Apigee, Apigee Hybrid menyediakan layanan Kubernetes default untuk setiap deployment masuk.

Anda dapat membuat perubahan konfigurasi terbatas pada layanan default di file overrides.yaml. Untuk opsi konfigurasi yang tersedia, lihat Mengelola gateway masuk Apigee. Misalnya, Anda dapat menambahkan anotasi.

Untuk lingkungan produksi, sebaiknya Anda menyediakan layanan Kubernetes untuk traffic masuk. Ikuti langkah-langkah di artikel Membuat layanan Kubernetes Anda sendiri.

  1. Temukan IP eksternal dari layanan masuk Apigee default dengan perintah berikut:
    kubectl get svc -n apigee -l app=apigee-ingressgateway

    Output Anda akan terlihat seperti:

    NAME                                        TYPE           CLUSTER-IP    EXTERNAL-IP     PORT(S)                                      AGE
    apigee-ingressgateway-prod-hybrid-37a39bd   LoadBalancer   192.0.2.123   233.252.0.123   15021:32049/TCP,80:31624/TCP,443:30723/TCP   16h
  2. Uji gateway masuk dengan melakukan panggilan health check.

    curl -H 'User-Agent: GoogleHC/' https://DOMAIN/healthz/ingress -k \
      --resolve "DOMAIN:443:INGRESS_IP_ADDRESS"

    Dari mana

    Setelah berhasil, perintah akan menampilkan:

    Apigee Ingress is healthy
  3. Gunakan alamat IP ini untuk memperbarui data DNS (biasanya data A atau CNAME) di registrar atau penyedia DNS.
1 (BERIKUTNYA) Langkah 2: Men-deploy proxy