Mengelola komponen bidang runtime

Topik ini menjelaskan cara mengonfigurasi dan mengelola komponen bidang runtime Apigee Hybrid. Untuk mengetahui daftar komponen bidang runtime yang dapat Anda konfigurasi, lihat Ringkasan konfigurasi layanan runtime.

Tentang file penggantian

Saat pertama kali menginstal runtime hybrid ke dalam cluster, Anda harus membuat file penggantian konfigurasi. File ini memungkinkan Anda mengganti nilai konfigurasi default sesuai kebutuhan, mengonfigurasi lingkungan, mereferensikan sertifikat TLS dan kunci akun layanan, menetapkan kumpulan node Kubernetes ke komponen hybrid tertentu, dan sebagainya.

Langkah-langkah penginstalan hybrid memandu proses pembuatan file penggantian dan menerapkan konfigurasi Anda ke cluster. Jika nanti Anda ingin mengubah konfigurasi, ubah file penggantian yang telah dibuat, lalu terapkan kembali.

Membuat perubahan konfigurasi

Untuk melakukan perubahan konfigurasi pada komponen bidang runtime hybrid, edit file penggantian Anda dan gunakan Helm untuk mengupgrade diagram yang sesuai dengan komponen. Diagram berikut menunjukkan diagram yang sesuai dengan komponen hybrid Apigee:

CakupanKomponenDiagram helm
Operator Apigee Operator Apigee apigee-operator
Penyimpanan Cassandra apigee-datastore
Penyimpanan dalam memori Redis apigee-redis
Pelaporan Logger
Metrik
apigee-telemetry
Ingress Gateway Ingress Apigee apigee-ingress-manager
Organisasi Agen Apigee Connect
MART
UDCA
Watcher
apigee-org
Lingkungan Runtime
Sinkronisasi
apigee-env
Grup lingkungan {i>virtualhost<i} apigee-virtualhost

Misalnya, untuk mengubah jumlah replika pada Pemroses pesan, ikuti langkah-langkah berikut:

  1. Buka file OVERRIDES.yaml. Pastikan untuk menggunakan file penggantian yang sama dengan yang digunakan untuk menginstal runtime hybrid ke cluster.
  2. Temukan elemen runtime dalam file. Contoh:
    ...
    runtime:
      nodeSelector:
        key: cloud.google.com/gke-nodepool
        value: apigee-runtime
      replicaCountMin: 1
      replicaCountMax: 2
    ...
  3. Ubah properti jumlah replika sesuai kebutuhan. Contoh:
    ...
    runtime:
      nodeSelector:
        key: cloud.google.com/gke-nodepool
        value: apigee-runtime
      replicaCountMin: 2
      replicaCountMax: 20
    ...
  4. Terapkan perubahan dengan diagram apigee-org:

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

Properti konfigurasi mana yang dapat Anda ubah?

Anda dapat menemukan daftar lengkap properti yang dapat dikonfigurasi dalam Referensi properti konfigurasi. Referensi tersebut hanya mencantumkan properti yang dapat Anda ubah; jika Anda mencoba mengubah properti yang tidak ada dalam referensi, perubahan tersebut akan diabaikan.

Cara menggunakan referensi konfigurasi

Referensi properti konfigurasi menggunakan notasi titik untuk menjelaskan elemen konfigurasi, dengan item pertama adalah nama elemen tingkat atas diikuti dengan properti dan properti turunan. Contoh:

ao.image.pullPolicy

Dalam file penggantian, properti diformat dalam YAML yang tepat. Untuk contoh di atas, elemen ao level atas diindentasi kiri dan properti sub-elemen diindentasi di bawahnya. Selain itu, YAML memerlukan titik dua di akhir setiap elemen dan sub-elemen.

Misalnya, untuk menetapkan properti ao.image.pullPolicy ke Always, cari stanza YAML ini di file penggantian dan tetapkan sebagai berikut:

ao:
  image:
    pullPolicy: Always

Untuk contoh lain, properti cassandra.auth.admin.password (seperti yang tercantum dalam Referensi properti konfigurasi) digunakan untuk menetapkan sandi admin Cassandra. Untuk mengubahnya, cari YAML berikut di file penggantian dan setel sebagai berikut:

cassandra:
  auth:
    admin:
      password: abc123

Ingat, Referensi properti konfigurasi menjelaskan semua properti yang dapat Anda tetapkan pada komponen bidang runtime hybrid. Ikuti pola yang dijelaskan di atas untuk mengubah elemen ini di file penggantian sebelum menerapkan perubahan pada cluster Anda.

Menggunakan contoh yang telah ditentukan sebelumnya akan menimpa file

Saat pertama kali menginstal runtime hybrid, Apigee merekomendasikan agar Anda menggunakan salah satu pre-configured example overrides files. Contoh ini memberikan kumpulan properti konfigurasi lengkap untuk skenario penginstalan tertentu, misalnya untuk menyiapkan penginstalan produksi atau pengujian. Anda hanya perlu memberikan nilai yang sesuai untuk properti dan menerapkan file penggantian ke cluster. Lihat Langkah 6: Buat penggantian untuk informasi selengkapnya.

Tentang default konfigurasi

Apigee mempertahankan konfigurasi komponen default-nya dalam file HYBRID_ROOT_DIR/config/values.yaml. File penggantian Anda mengikuti struktur YAML yang sama dengan values.yaml.

File penggantian biasanya hanya menyertakan subset properti konfigurasi yang ditemukan di values.yaml. Ingat, tidak semua properti dapat diedit. Saat Anda menerapkan konfigurasi ke sebuah cluster, penggantian Anda akan digabungkan dengan default untuk membuat konfigurasi cluster Kubernetes lengkap. Lihat juga Menguji konfigurasi gabungan.

Kode berikut menunjukkan konfigurasi default untuk komponen mart seperti yang ditemukan di values.yaml. Perlu diperhatikan bahwa beberapa nilai memiliki nilai default, sedangkan nilai lainnya seperti sslCertPath dan sslKeyPath tidak. Anda harus memasukkan nilai yang belum disertakan ini dalam file penggantian, seperti yang dijelaskan dalam langkah-langkah penginstalan. Jika Anda ingin mengubah salah satu nilai default, pastikan nilai tersebut dapat diedit dengan memeriksa Referensi properti konfigurasi.

...
mart:
  replicaCountMin: 2
  replicaCountMax: 4
  targetCPUUtilizationPercentage: 75
  terminationGracePeriodSeconds: 30
  sslCertPath:
  sslKeyPath:
  hostAlias:
  nodeSelector:
    key:
    value:
  revision: blue
  image:
    url: "gcr.io/apigee-release/hybrid/apigee-mart-server"
    tag: "1.3.6"
    pullPolicy: IfNotPresent
  resources:
    requests:
      cpu: 500m
      memory: 512Mi
  initCheckCF:
    resources:
      requests:
        cpu: 10m
  livenessProbe:
    timeoutSeconds: 1
    failureThreshold: 12
    periodSeconds: 5
    initialDelaySeconds: 15
  readinessProbe:
    timeoutSeconds: 1
    successThreshold: 1
    failureThreshold: 2
    periodSeconds: 5
    initialDelaySeconds: 15
  metricsURL: "/v1/server/metrics"
  cwcAppend: |
...

Jika Anda ingin mengubah nilai default komponen dan komponen tersebut belum ada dalam file penggantian, Anda dapat menyalin YAML dari values.yaml ke file penggantian dan mengubahnya di sana.

Anotasi kustom

Anotasi adalah peta kunci/nilai yang digunakan untuk melampirkan metadata ke pod Kubernetes hybrid Apigee. Anda dapat membuat anotasi kustom untuk properti berikut yang tercantum dalam Referensi properti konfigurasi:

Untuk menambahkan anotasi kustom, tambahkan stanza ke file OVERRIDES.yaml untuk komponen masing-masing.

Contoh berikut mengilustrasikan cara anotasi dapat ditentukan dalam pod runtime:

runtime:
  annotations:
    businessunit: "bu1"

Menguji konfigurasi gabungan

Anda dapat menggunakan flag --dry-run untuk menguji file konfigurasi gabungan tanpa benar-benar menerapkannya ke cluster. Opsi ini berguna untuk men-debug masalah penginstalan karena menunjukkan dengan tepat apa yang akan diterapkan ke cluster. Anda sebaiknya menguji konfigurasi dan menyimpannya dalam kontrol sumber sehingga Anda memiliki referensi resource yang diinstal dan dikonfigurasi di cluster.

kubectl apply -k  apigee-operator/etc/crds/default/
      
helm upgrade operator apigee-operator/ \
  --install \
  --namespace apigee-system \
  --atomic \
  -f OVERRIDES_FILE.yaml \
  --dry-run
helm upgrade ingress-manager apigee-ingress-manager/ /
  --install \
  --namespace apigee \
  --atomic \
  -f OVERRIDES_FILE.yaml \
  --dry-run

Buat beberapa file penggantian sesuai kebutuhan

Anda dapat membuat file penggantian sebanyak yang diinginkan, dengan masing-masing file melayani persyaratan tertentu. Misalnya, Anda mungkin memiliki file penggantian yang menyesuaikan cluster Anda untuk produksi, dan file lain untuk membuat cluster pengujian. Anda kemudian bisa mengelola file ini dalam sistem kontrol sumber Anda.

Contoh:

helm upgrade test-1-env apigee-env/ \
  --namespace apigee \
  --atomic \
  --set env=test-1-env \
  -f test-1-env-overrides.yaml

Menghapus komponen bidang runtime khusus hybrid

Komponen bidang runtime meliputi synchronizer, mart, runtime, cassandra, dan udca.

Untuk menghapus komponen bidang runtime khusus hybrid dari cluster Anda, gunakan perintah helm delete. Pastikan untuk menentukan file penggantian yang sama dengan yang Anda gunakan untuk menginstal komponen runtime.

Contoh:

Dengan Helm, Anda harus menghapus setiap komponen satu per satu. Misalnya, untuk menghapus komponen cassandra, gunakan perintah berikut:

helm -n apigee delete datastore

Pada contoh di atas, komponen datastore diinstal dengan nama "datastore". Jika Anda menginstalnya dengan nama yang berbeda, Anda akan memberikan nama tersebut untuk menghapus komponen. Misalnya jika Anda menginstal diagram apigee-datastore dengan helm install my-cassandra-storage apigee-datastore/. Anda akan menghapusnya dengan perintah berikut:

helm delete -n apigee my-cassandra-storage

Untuk membuat ulang komponen atau komponen tertentu (grup lingkungan dalam contoh ini):

helm upgrade ENV_GROUP apigee-virtualhost/ \
  --install \
  --namespace apigee \
  --atomic \
  --set envgroup=ENV_GROUP_NAME \
  -f OVERRIDES_FILE.yaml