Mengelola gateway masuk Apigee

Dimulai dengan Apigee Hybrid versi 1.8, Apigee Hybrid menggunakan Apigee ingress gateway untuk menyediakan gateway masuk bagi sistem hybrid.

Mengonfigurasi gateway masuk Apigee

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

Sintaksis

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 '.'
    • Mulai dengan karakter alfanumerik
    • Akhiri 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 masuk 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 pasangan nilai kunci yang menyediakan anotasi untuk layanan masuk 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 lain. Lihat dokumentasi platform Anda untuk 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. Pada platform yang tidak mengizinkan Anda menentukan alamat IP load balancer, properti ini akan diabaikan. Lihat ingressGateways[].svcLoadBalancerIP di referensi Properti konfigurasi.

Menerapkan konfigurasi ingress gateway 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 masuk Apigee:

Menskalakan gateway 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 ingress gateway 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 loadbalancer untuk layanan ingress gateway Apigee default:

Jika membuat layanan Kubernetes kustom untuk deployment gateway masuk, Anda dapat menonaktifkan pembuatan load balancing di layanan Kubernetes default. Perbarui properti ingressGateways[].svcType ke 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.

Memfasilitasi klien non-SNI

Lihat Mengaktifkan klien non-SNI dan HTTP.

Menginstal gateway masuk Apigee tambahan

Di file overrides.yaml, Anda dapat menambahkan beberapa gateway masuk. Properti konfigurasi ingressGateways adalah array. Untuk informasi selengkapnya, lihat ingressGateways di 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 masuk Apigee

Anda dapat menggunakan label pemilih untuk memetakan host virtual ke deployment gateway masuk Apigee. Pada 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 di file penggantian untuk menambahkan ciphersuite kustom ke deployment gateway masuk 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 masuk Apigee dengan properti konfigurasi istiod.accessLogFile dan istiod.accessLogFormat. Dalam 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 masuk Apigee dengan menetapkan istiod.accessLogFile dan nilai kosong. Contoh:

istiod:
  accessLogFile: ''

FAQ

Bagaimana cara kerjanya dengan penginstalan Anthos Service Mesh/Istio saya yang sudah ada di namespace lain?
Selama Apigee diinstal di namespace khusus, Gateway masuk Apigee dapat dijalankan bersama penginstalan Anthos Service Mesh/Istio yang sudah ada di cluster. Gateway masuk Apigee tidak menyimpan konfigurasi apa pun di apiserver sehingga tidak akan ada konflik.
Siapa yang bertanggung jawab untuk mengupgrade komponen gateway masuk 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 masuk 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 Apigee Ingress.