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 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 Anda buat, lalu terapkan kembali.

Membuat perubahan konfigurasi

Untuk melakukan perubahan konfigurasi pada komponen bidang runtime hybrid, edit file penggantian dan terapkan perubahan dengan apigeectl.

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

  1. Buka file OVERRIDES.yaml Anda. 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: 4
    ...
  4. Gunakan apigeectl untuk menerapkan perubahan ke cluster:
    apigeectl apply -f ./OVERRIDES.yaml --org --env ENV_NAME

Properti konfigurasi mana yang dapat Anda ubah?

Anda dapat menemukan daftar lengkap properti yang dapat dikonfigurasi di Referensi properti konfigurasi. Referensi tersebut hanya mencantumkan properti yang dapat diubah; 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:

authz.image.pullPolicy

Dalam file penggantian, properti diformat dalam YAML yang tepat. Untuk contoh di atas, elemen authz 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 authz.image.pullPolicy ke Always, cari stanza YAML ini di file penggantian dan tetapkan sebagai berikut:

authz:
  image:
    pullPolicy: Always

Untuk contoh lainnya, 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 tetapkan 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 dalam file penggantian sebelum menerapkan perubahan pada cluster Anda.

Menggunakan contoh yang telah ditentukan akan menggantikan file

Saat Anda 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, seperti untuk menyiapkan penginstalan produksi atau pengujian. Anda hanya perlu memberikan nilai yang sesuai untuk properti dan menerapkan file penggantian ke cluster. Lihat Langkah 7: Mengonfigurasi runtime hybrid 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 pengganti 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 yang lengkap. Lihat juga Menguji konfigurasi gabungan.

Kode berikut menunjukkan konfigurasi default untuk komponen mart seperti yang ada di values.yaml. Perlu diketahui bahwa beberapa nilai memiliki nilai default, sementara yang lain seperti sslCertPath dan sslKeyPath tidak. Anda harus memberikan nilai yang tidak ada 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 ingin mengubah setelan default komponen dan komponen tersebut belum ada dalam file penggantian, Anda dapat menyalin YAMLnya dari values.yaml ke file penggantian dan mengubahnya di sana.

Contoh file pengganti

Apigee menyediakan sekumpulan contoh file penggantian untuk membantu memandu Anda menyiapkan deployment hybrid. Sebaiknya salin dan modifikasi file penggantian yang paling cocok dengan persyaratan penginstalan Anda.

Contoh berikut disertakan dalam direktori HYBRID_ROOT_DIR/examples:

Contoh file pengganti Deskripsi
overrides-small.yaml Contoh ini ideal untuk memulai dengan cepat. Model ini menggunakan jejak minimum yang direkomendasikan untuk memulai komponen runtime hybrid. Contoh konfigurasi ini sangat bergantung pada setelan dan nilai default. Semua replika minimum ditetapkan ke 1.
overrides-medium.yaml Contoh ini merupakan titik awal yang baik untuk lingkungan pengujian dan UM (Uji Mutu). Setiap komponen telah diberi level resource yang lebih tinggi untuk menangani traffic tambahan. Cassandra menggunakan disk SSD untuk meningkatkan performa. Dalam lingkungan ini, sebaiknya pengguna menginstal komponen stateful dan stateless pada node terpisah. Lihat Mengonfigurasi node khusus.
overrides-large.yaml Contoh ini merupakan titik awal yang bagus untuk lingkungan berperforma tinggi seperti praproduksi dan produksi. Contoh ini mencakup properti untuk menetapkan kunci enkripsi, sandi, dan lainnya. Setiap komponen memiliki minimal dua replika.

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 terkait.

Contoh berikut mengilustrasikan cara menentukan anotasi dalam pod runtime:

runtime:
  annotations:
    businessunit: "bu1"

Menguji konfigurasi gabungan

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

Pada Apigee Hybrid, sintaksis flag --dry-run bergantung pada versi kubectl yang Anda jalankan. Periksa versi kubectl dengan perintah berikut:

kubectl version

kubectl versi 1.17 dan yang lebih lama:

APIGEECTL_HOME/apigeectl init -f overrides/OVERRIDES.yaml --dry-run=true

kubectl versi 1.18 dan yang lebih baru:

APIGEECTL_HOME/apigeectl init -f overrides/OVERRIDES.yaml --dry-run=client

Untuk informasi selengkapnya, lihat apigeectl.

Buat beberapa file penggantian sesuai kebutuhan

Anda dapat membuat file penggantian sebanyak yang diinginkan, dengan setiap file memenuhi persyaratan tertentu. Misalnya, Anda mungkin memiliki file penggantian yang menyesuaikan cluster Anda untuk produksi, dan file lain untuk membuat cluster pengujian. Anda kemudian dapat mempertahankan file ini di sistem kontrol sumber.

apigeectl apply  -f ./test_env_override.yaml

Untuk informasi selengkapnya, lihat apigeectl.

Menghapus komponen bidang runtime khusus hybrid

Untuk menghapus komponen bidang runtime khusus hybrid dari cluster Anda, gunakan perintah apigeectl delete. Komponen ini mencakup synchronizer, mart, runtime, cassandra, dan udca. Pastikan untuk menentukan file penggantian yang sama dengan yang Anda gunakan untuk menginstal komponen runtime:

Contoh:

apigeectl delete -f ./OVERRIDES.yaml

Anda dapat menggunakan perintah apigeectl apply untuk membuat ulang komponen atau komponen tertentu:

apigeectl apply --org --env ENV_NAME -f ./OVERRIDES.yaml

Untuk informasi selengkapnya, lihat apigeectl.

Menghapus komponen tertentu

Jika Anda hanya ingin menghapus komponen tertentu, gunakan opsi -c dengan apigeectl delete. Pastikan untuk menentukan file penggantian yang sama dengan yang Anda gunakan untuk menginstal komponen runtime.

Misalnya, untuk menghapus komponen synchronizer, gunakan perintah ini:

apigeectl delete --org --env ENV_NAME -f ./OVERRIDES.yaml

Selanjutnya, Anda dapat menggunakan perintah apigeectl apply untuk membuat ulang komponen:

apigeectl apply --org --env ENV_NAME -f ./OVERRIDES.yaml

Untuk informasi selengkapnya, lihat apigeectl.

Hapus semua komponen

Untuk menghapus semua komponen cluster hybrid, termasuk yang dibuat oleh perintah apigeectl init, gunakan perintah apigeectl delete dengan flag --all. Pastikan untuk menentukan file penggantian yang sama dengan yang Anda gunakan untuk menginstal komponen runtime:

Contoh:

apigeectl delete -f ./OVERRIDES.yaml --all

Untuk informasi selengkapnya, lihat apigeectl.