Menskalakan dan menskalakan layanan runtime secara otomatis

Anda dapat menskalakan sebagian besar layanan yang berjalan di Kubernetes dari command line atau dalam penggantian konfigurasi. Anda dapat menetapkan parameter penskalaan untuk layanan runtime hybrid Apigee dalam file overrides.yaml.

Layanan Diterapkan Sebagai Penskalaan
Cassandra ApigeeDatastore (CRD) Lihat Penskalaan Cassandra.
Ingress/LoadBalancer Deployment Anthos Service Mesh menggunakan Penskalaan Otomatis Pod Horizontal (HPA).
Logger DaemonSet DaemonSet mengelola replika pod di semua node, sehingga akan diskalakan ketika Anda menskalakan pod itu sendiri.
MART
Apigee Connect
Watcher
ApigeeOrganization (CRD)

Untuk melakukan penskalaan melalui konfigurasi, tingkatkan nilai properti konfigurasi replicaCountMin Deployment untuk stanza mart, watcher, dan/atau connectAgent. Contoh:

mart:
 replicaCountMax: 2
 replicaCountMin: 1

watcher:
 replicaCountMax: 2
 replicaCountMin: 1

connectAgent:
 replicaCountMax: 2
 replicaCountMin: 1

Deployment ini menggunakan Autoscaler Pod Horizontal untuk penskalaan otomatis. Tetapkan properti targetCPUUtilizationPercentage objek Deployment ke nilai minimum untuk meningkatkan skala; jika nilai ini terlampaui, Kubernetes akan menambahkan pod hingga mencapai nilai replicaCountMax.

Untuk informasi selengkapnya mengenai menetapkan properti konfigurasi, lihat Mengelola komponen bidang runtime.

Runtime
Sinkronisasi
UDCA
ApigeeEnvironment (CRD) Untuk melakukan penskalaan melalui konfigurasi, tingkatkan nilai properti replicaCountMin untuk stanza udca, synchronizer, dan/atau runtime dalam file penggantian. Contoh:
synchronizer:
 replicaCountMax: 10
 replicaCountMin: 1

runtime:
 replicaCountMax: 10
 replicaCountMin: 1

udca:
 replicaCountMax: 10
 replicaCountMin: 1

Catatan: Perubahan ini berlaku untuk SEMUA lingkungan di file penggantian. Jika Anda ingin menyesuaikan penskalaan untuk setiap lingkungan, lihat Konfigurasi lanjutan di bawah.

Deployment ini menggunakan Horizontal Pod Autoscaler untuk penskalaan otomatis. Tetapkan properti targetCPUUtilizationPercentage objek Deployment ke nilai minimum untuk meningkatkan skala; jika nilai ini terlampaui, Kubernetes akan menambahkan pod hingga nilai replicaCountMax.

Untuk informasi selengkapnya mengenai menetapkan properti konfigurasi, lihat Mengelola komponen bidang runtime.

Konfigurasi lanjutan

Dalam beberapa skenario, Anda mungkin perlu menggunakan opsi penskalaan lanjutan. Contoh skenario mencakup:

  • Menyetel opsi penskalaan yang berbeda untuk setiap lingkungan. Misalnya, jika env1 memiliki minReplica 5 dan env2 memiliki minReplica 2.
  • Menyetel opsi penskalaan yang berbeda untuk setiap komponen dalam lingkungan. Misalnya, dengan komponen udca memiliki maxReplica dari 5 dan komponen synchronizer memiliki maxReplica 2.

Contoh berikut menunjukkan cara menggunakan perintah kubernetes patch untuk mengubah properti maxReplicas untuk komponen runtime:

  1. Buat variabel lingkungan yang akan digunakan dengan perintah:
    export ENV=my-environment-name
    export NAMESPACE=apigee  #the namespace where apigee is deployed
    export COMPONENT=runtime #can be udca or synchronizer
    export MAX_REPLICAS=2
    export MIN_REPLICAS=1
  2. Terapkan patch. Perhatikan bahwa contoh ini mengasumsikan bahwa kubectl ada di PATH Anda:
    kubectl patch apigeeenvironment -n $NAMESPACE \
      $(kubectl get apigeeenvironments -n $NAMESPACE -o jsonpath='{.items[?(@.spec.name == "'$ENV'" )]..metadata.name}') \
      --patch "$(echo -e "spec:\n  components:\n    $COMPONENT:\n      autoScaler:\n        maxReplicas: $MAX_REPLICAS\n        minReplicas: $MIN_REPLICAS")" \
      --type merge
    
  3. Verifikasi perubahan tersebut:
    kubectl get hpa -n $NAMESPACE