Mengelola gateway masuk Apigee

Mulai Apigee hybrid versi 1.8, Apigee hybrid menggunakan gateway ingress Apigee untuk menyediakan gateway ingress untuk hybrid.

Mengonfigurasi gateway traffic masuk Apigee

Anda dapat mengonfigurasi gateway masuk di overrides.yaml. Contoh:

Sintaks

ingressGateways:
- name: INGRESS_NAME
  replicaCountMin: REPLICAS_MIN
  replicaCountMax: REPLICAS_MAX
  resources:
    requests:
      cpu: CPU_COUNT_REQ
      memory: MEMORY_REQ
    limits:
      cpu: CPU_COUNT_LIMIT
      memory: MEMORY_LIMIT
  svcAnnotations:  # optional. See Known issue 243599452.
    SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE
  svcLoadBalancerIP: SVC_LOAD_BALANCER_IP # optional

Contoh

ingressGateways:
- name: prod1
  replicaCountMin: 2
  replicaCountMax: 100
  resources:
    requests:
      cpu: 1
      memory: 1Gi
    limits:
      cpu: 2
      memory: 2Gi
  svcAnnotations:  # optional. See Known issue 243599452.
    networking.gke.io/load-balancer-type: "Internal"
  svcLoadBalancerIP: 198.252.0.123 
  • INGRESS_NAME adalah nama deployment gateway masuk. Nama ini dapat berupa nama apa pun yang memenuhi persyaratan berikut:
    • Memiliki panjang maksimum 17 karakter
    • Hanya berisi karakter alfanumerik huruf kecil, '-', atau '.'
    • Dimulai dengan karakter alfanumerik
    • Diakhiri dengan karakter alfanumerik

    Lihat ingressGateways[].name dalam referensi Properti konfigurasi

  • REPLICAS_MIN dan REPLICAS_MAX Jumlah replika minimum dan maksimum untuk gateway masuk Apigee dalam penginstalan Anda. Lihat ingressGateways[].replicaCountMin dan ingressGateways[].replicaCountMax dalam referensi Properti konfigurasi.
  • CPU_COUNT_REQ dan MEMORY_REQ Permintaan CPU dan memori untuk setiap replika gateway masuk Apigee dalam penginstalan Anda.

    Lihat ingressGateways[].resources.requests.cpu dan ingressGateways[].resources.requests.memory dalam referensi Properti konfigurasi.

  • CPU_COUNT_LIMIT dan MEMORY_LIMIT Batas CPU dan memori maksimum untuk setiap replika gateway ingress Apigee dalam penginstalan Anda.

    Lihat ingressGateways[].resources.limits.cpu dan ingressGateways[].resources.limits.memory dalam referensi Properti konfigurasi.

  • SVC_ANNOTATIONS_KEY SVC_ANNOTATIONS_VALUE (opsional):

    Ini adalah key-value pair yang menyediakan anotasi untuk layanan ingress default Anda. Anotasi digunakan oleh platform cloud Anda untuk membantu mengonfigurasi penginstalan hybrid, misalnya menetapkan jenis load balancer ke internal atau eksternal. Contoh:

    ingressGateways:
      svcAnnotations:
        networking.gke.io/load-balancer-type: "Internal"

    Anotasi bervariasi dari satu platform ke platform yang lain. Lihat dokumentasi platform Anda untuk mengetahui anotasi yang diperlukan dan disarankan.

    Lihat ingressGateways[].svcAnnotations di referensi Properti konfigurasi.
  • SVC_LOAD_BALANCER_IP (opsional). Pada platform yang mendukung penentuan alamat IP load balancer, load balancer akan dibuat dengan alamat IP ini. Di platform yang tidak memungkinkan Anda menentukan alamat IP load balancer, properti ini akan diabaikan. Lihat ingressGateways[].svcLoadBalancerIP di referensi Properti konfigurasi.

Menerapkan konfigurasi gateway masuk Apigee

Terapkan perubahan pada cakupan organisasi dengan apigeectl.

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

Tugas pengelolaan

Beberapa tugas pengelolaan umum untuk gateway ingress Apigee:

Menskalakan gateway traffic masuk Apigee:

Perbarui properti berikut di file penggantian Anda.

  • ingressGateways[].replicaCountMax
  • ingressGateways[].replicaCountMin

Lihat ingressGateways dalam referensi Properti konfigurasi untuk mengetahui detailnya.

Terapkan perubahan dengan apigeectl apply --org.

Memperbarui alokasi resource

Perbarui properti berikut di file penggantian Anda.

  • ingressGateways[].resources.limits.cpu
  • ingressGateways[].resources.limits.memory
  • ingressGateways[].resources.requests.cpu
  • ingressGateways[].resources.requests.memory

Lihat ingressGateways dalam referensi Properti konfigurasi untuk mengetahui detailnya.

Terapkan perubahan dengan apigeectl apply --org.

Mengupdate layanan gateway traffic masuk Apigee

Perbarui properti berikut di file penggantian Anda.

  • ingressGateways[].svcAnnotations
  • ingressGateways[].svcLoadBalancerIP

Lihat ingressGateways dalam referensi Properti konfigurasi untuk mengetahui detailnya.

Terapkan perubahan dengan apigeectl apply --org.

Nonaktifkan load balancer untuk layanan gateway masuk Apigee default:

Jika membuat layanan Kubernetes kustom untuk deployment gateway ingress, Anda dapat menonaktifkan pembuatan load balancer di layanan Kubernetes default. Perbarui properti ingressGateways[].svcType menjadi ClusterIP di file penggantian Anda. Contoh:

ingressGateways:
  - name: my-ingress-gateway
    replicaCountMin: 2
    replicaCountMax: 10
    svcType: ClusterIP

Terapkan perubahan dengan apigeectl apply --org.

Mengonfigurasi TLS dan mTLS

Lihat Mengonfigurasi TLS dan mTLS di gateway masuk.

Mengaktifkan klien non-SNI

Lihat Mengaktifkan klien non-SNI dan HTTP.

Menginstal gateway traffic masuk Apigee tambahan

Dalam file overrides.yaml, Anda dapat menambahkan beberapa gateway masuk. Properti konfigurasi ingressGateways adalah array. Untuk informasi selengkapnya, lihat ingressGateways dalam referensi Properti konfigurasi.

Contoh:

ingressGateways:
- name: fruit
  replicaCountMin: 2
  replicaCountMax: 10

- name: meat
  replicaCountMin: 2
  replicaCountMax: 10

Terapkan perubahan dengan apigeectl apply --org.

Memetakan host virtual ke deployment gateway ingress Apigee

Anda dapat menggunakan label pemilih untuk memetakan host virtual ke deployment gateway ingress Apigee. Dalam contoh berikut, host virtual spam-vh dikonfigurasi untuk berjalan di gateway masuk berlabel meat dan dua host virtual lainnya berjalan di gateway masuk fruit. Gateway masuk harus diberi label dengan benar, seperti yang dijelaskan dalam Menginstal gateway Anthos Service Mesh tambahan.

virtualhosts:
- name: spam-vh
  sslCertPath: cert-spam.crt
  sslKeyPath: cert-spam.key
  selector:
    app: apigee-ingressgateway
    ingress_name: meat
- name: banana-vh
  sslCertPath: cert-banana.crt
  sslKeyPath: cert-banana.key
  selector:
    app: apigee-ingressgateway
    ingress_name: fruit
- name: plum-vh
  sslCertPath: cert-plum.crt
  sslKeyPath: cert-plum.key
  selector:
    app: apigee-ingressgateway
    ingress_name: fruit

    

Menambahkan ciphersuite kustom ke deployment gateway masuk Apigee

Apigee hybrid mendukung ciphersuite TLS v1.2. Jika menggunakan TLS v1.0 atau v1.1, Anda dapat menggunakan properti virtualhosts.cipherSuites dalam file penggantian untuk menambahkan ciphersuite kustom ke deployment gateway ingress Apigee.

Misalnya, untuk mendukung TLS v.1.1:

virtualhosts:
- name: ENV_GROUP_NAME
  minTLSProtocolVersion: "1.1"
  cipherSuites:
  - "ECDHE-ECDSA-AES128-GCM-SHA256"
  - "ECDHE-RSA-AES128-GCM-SHA256"
  - "ECDHE-ECDSA-AES256-GCM-SHA384"
  - "ECDHE-RSA-AES256-GCM-SHA384"
  - "ECDHE-ECDSA-CHACHA20-POLY1305"
  - "ECDHE-RSA-CHACHA20-POLY1305"
  - "ECDHE-ECDSA-AES128-SHA"
  - "ECDHE-RSA-AES128-SHA"
  - "ECDHE-ECDSA-AES256-SHA"
  - "ECDHE-RSA-AES256-SHA"
  ...

Misalnya, untuk mendukung TLS v.1.0:

virtualhosts:
- name: ENV_GROUP
  minTLSProtocolVersion: "1.0"
  cipherSuites:
  - "ECDHE-ECDSA-AES128-GCM-SHA256"
  - "ECDHE-RSA-AES128-GCM-SHA256"
  - "ECDHE-ECDSA-AES256-GCM-SHA384"
  - "ECDHE-RSA-AES256-GCM-SHA384"
  - "ECDHE-ECDSA-CHACHA20-POLY1305"
  - "ECDHE-RSA-CHACHA20-POLY1305"
  - "ECDHE-ECDSA-AES128-SHA"
  - "ECDHE-RSA-AES128-SHA"
  - "ECDHE-ECDSA-AES256-SHA"
  - "ECDHE-RSA-AES256-SHA"
  ...

Menyesuaikan log akses Ingress

Anda dapat menyesuaikan tujuan dan format log akses gateway masuk Apigee dengan properti konfigurasi istiod.accessLogFile dan istiod.accessLogFormat. Pada contoh berikut, output akan dikirim ke /dev/stdout, yang merupakan nilai default untuk istiod.accessLogFile:

istiod:
  accessLogFormat: '{"request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","status":"%RESPONSE_CODE%"}'

Anda dapat menonaktifkan logging akses gateway ingress Apigee dengan menetapkan istiod.accessLogFile dan nilai kosong. Contoh:

istiod:
  accessLogFile: ''

FAQ

Bagaimana cara kerjanya dengan penginstalan Anthos Service Mesh/Istio yang ada di namespace lain?
Selama Apigee diinstal di namespace khusus, gateway ingress Apigee dapat dijalankan bersama penginstalan Anthos Service Mesh/Istio yang sudah ada di cluster. Gateway ingress Apigee tidak menyimpan konfigurasi apa pun di apiserver sehingga tidak akan ada konflik.
Siapa yang bertanggung jawab mengupgrade komponen gateway ingress Apigee?
Upgrade komponen gateway masuk Apigee ditangani oleh Apigee dan terjadi selama upgrade hybrid dan rilis patch reguler.
Bagaimana cara mengekspos port 80 di gateway masuk Apigee?
Port 80 tidak didukung oleh gateway ingress Apigee. Jika Anda bermigrasi dari Anthos Service Mesh ke gateway masuk Apigee, dan mengikuti petunjuk di postingan komunitas untuk mengaktifkan Port 80, port tersebut tidak akan berfungsi dengan gateway Masuk Apigee.