Mengelola komponen bidang runtime

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

Tentang file penggantian

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

Langkah-langkah penginstalan hybrid menjelaskan proses pembuatan file pengganti dan menerapkan konfigurasi Anda ke sebuah cluster. Jika Anda ingin mengubah konfigurasi di lain waktu, mengubah file pengganti yang Anda buat dan menerapkannya kembali.

Membuat perubahan konfigurasi

Untuk membuat perubahan konfigurasi pada komponen bidang runtime hybrid, edit file penggantian 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
Metrics
apigee-telemetry
Ingress Gateway Ingress Apigee apigee-ingress-manager
Organisasi Agen Apigee Connect
MART
UDCA
Watcher
apigee-org
Lingkungan Runtime
Synchronizer
apigee-env
Grup lingkungan {i>virtualhost<i} apigee-virtualhost

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

  1. Buka File OVERRIDES.yaml. Pastikan untuk menggunakan file pengganti yang sama dengan yang yang digunakan untuk menginstal runtime hybrid ke dalam cluster.
  2. Temukan elemen runtime dalam file tersebut. 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 pada diagram apigee-org:

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

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 Anda ubah; jika Anda mencoba mengubah properti yang tidak ada dalam perubahan tersebut akan diabaikan.

Cara menggunakan referensi konfigurasi

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

ao.image.pullPolicy

Dalam file pengganti, properti diformat dalam YAML yang benar. Untuk contoh di atas, elemen ao tingkat atas diindentasi kiri dan properti sub-elemen dijorokkan di bawahnya. Selain itu, YAML memerlukan tanda titik dua pada akhir setiap elemen dan sub-elemen.

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

ao:
  image:
    pullPolicy: Always

Untuk contoh lain, properti cassandra.auth.admin.password (seperti tercantum dalam Referensi properti konfigurasi) digunakan untuk menetapkan Cassandra {i>password<i} admin. Untuk mengubahnya, cari YAML berikut dalam file pengganti dan atur data tersebut sebagai berikut:

cassandra:
  auth:
    admin:
      password: abc123

Ingat, Referensi properti konfigurasi menjelaskan semua properti yang dapat Anda tetapkan komponen bidang runtime hybrid. Ikuti pola yang dijelaskan di atas untuk mengubah elemen tersebut dalam 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 contoh yang telah dikonfigurasi sebelumnya menggantikan file. Contoh-contoh ini memberikan konfigurasi konfigurasi yang lengkap khusus untuk skenario penginstalan tertentu, seperti untuk menyiapkan penginstalan produksi atau uji coba. Yang perlu Anda lakukan adalah menyediakan nilai yang sesuai untuk properti dan terapkan file penggantian ke cluster Anda. Lihat Langkah 6: Membuat penggantian untuk informasi selengkapnya.

Tentang default konfigurasi

Apigee mempertahankan konfigurasi komponen defaultnya dalam file HYBRID_ROOT_DIR/config/values.yaml. File penggantian Anda mengikuti YAML yang sama struktur sebagai values.yaml.

File pengganti biasanya hanya menyertakan subset properti konfigurasi yang ada di values.yaml. Ingat, bukan semua properti dapat diedit. Saat Anda menerapkan konfigurasi ke cluster, penggantian Anda akan digabungkan dengan setelan default untuk membuat Kubernetes konfigurasi cluster Anda. Lihat juga Menguji konfigurasi gabungannya.

Kode berikut menunjukkan konfigurasi default untuk mart seperti yang ditemukan dalam values.yaml. Perhatikan bahwa beberapa nilai memiliki default, sementara yang lain seperti sslCertPath dan sslKeyPath tidak. Anda harus memasukkan nilai yang belum diisi ini di menggantikan file Anda, seperti yang dijelaskan dalam langkah penginstalan. Jika Anda ingin mengubah salah satu nilai {i>default<i}, 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 default suatu komponen dan komponennya belum ada di file penggantian, Anda dapat menyalin YAML-nya dari values.yaml ke mengganti file 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 di Referensi properti konfigurasi:

Untuk menambahkan anotasi khusus, tambahkan stanza ke file OVERRIDES.yaml untuk komponennya masing-masing.

Contoh berikut mengilustrasikan cara anotasi dapat ditentukan dalam runtime pod:

runtime:
  annotations:
    businessunit: "bu1"

Menguji konfigurasi yang digabungkan

Anda dapat menggunakan flag --dry-run untuk menguji penggabungan file konfigurasi tanpa benar-benar menerapkannya ke cluster Anda. Opsi ini berguna untuk men-debug masalah penginstalan karena menunjukkan dengan tepat apa yang akan diterapkan pada cluster. Ini juga merupakan praktik yang baik untuk menguji konfigurasi dan menyimpannya di mengontrol sumber sehingga Anda memiliki referensi sumber daya yang diinstal dan dikonfigurasi dalam cluster.

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

Buat beberapa file penggantian sesuai kebutuhan

Anda dapat membuat file pengganti sebanyak yang diinginkan, di mana masing-masing file akan melayani persyaratan. Misalnya, Anda mungkin memiliki file pengganti yang menyesuaikan cluster Anda untuk produksi, dan satu lagi untuk membuat cluster pengujian. Anda kemudian bisa mempertahankan file ini di sistem kontrol sumber Anda.

Contoh:

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

Menghapus komponen bidang runtime khusus hybrid

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

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

Contoh:

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

helm -n APIGEE_NAMESPACE delete datastore

Pada contoh di atas, komponen datastore telah diinstal dengan nama "datastore". Jika Anda Anda menginstalnya dengan nama yang berbeda, maka Anda akan memberikan nama itu 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_NAMESPACE \
  --atomic \
  --set envgroup=ENV_GROUP_NAME \
  -f OVERRIDES_FILE.yaml