Diagram Helm tidak sepenuhnya mendukung CRD; oleh karena itu, kita akan menggunakan perintah kubectl -k untuk menginstal dan mengupgradenya.
Kami berupaya mengikuti praktik terbaik komunitas dan Google terkait pengelolaan Kubernetes. Deployment CRD melalui Helm belum mencapai status komunitas yang didukung secara luas, atau permintaan untuk model tersebut. Oleh karena itu,
pengelolaan CRD Apigee harus dilakukan menggunakan kubectl seperti
yang disebutkan dalam dokumen ini.
Di apigeectl, kita telah menggunakan file di seluruh
overrides.yaml untuk akun layanan dan sertifikat; namun, Helm
tidak mendukung referensi file di luar direktori diagram. Pilih salah satu opsi berikut untuk file sertifikat dan akun layanan:
Tempatkan salinan file yang relevan dalam setiap direktori diagram
Buat link simbolis dalam setiap direktori diagram untuk setiap file, atau
folder. Helm akan mengikuti link simbolis di luar direktori diagram, tetapi
akan menampilkan peringatan seperti berikut: apigee-operator/gsa -> ../gsa
Gunakan secret Kubernetes. Misalnya, untuk akun layanan:
Pemasangan komponen dilakukan dari kiri ke kanan secara berurutan seperti yang ditunjukkan pada gambar berikut. Komponen yang ditumpuk secara vertikal dalam gambar dapat diinstal bersama dan dalam urutan apa pun.
Setelah menginstal komponen apa pun, Anda dapat memperbarui komponen tersebut
satu per satu dan kapan saja; misalnya, replika, memori, CPU, dan sebagainya.
Bersiap untuk menginstal Apigee hybrid dengan diagram Helm
Buat namespace yang akan digunakan untuk resource apigee.
Kolom ini harus cocok dengan kolom namespace di file overrides.yaml. Jika tidak ada di overrides.yaml, maka
defaultnya adalah apigee.
Periksa apakah namespace sudah ada:
kubectl get namespace apigee
Jika namespace ada, output Anda akan mencakup:
NAME STATUS AGE
apigee Active 1d
Jika namespace belum ada, buat namespace:
kubectl create namespace apigee
Buat namespace apigee-system yang digunakan oleh resource operator Apigee.
Periksa apakah namespace sudah ada:
kubectl get namespace apigee-system
Jika namespace belum ada, buat namespace:
kubectl create namespace apigee-system
Buat akun layanan dan tetapkan peran IAM yang sesuai untuk akun tersebut. Apigee Hybrid menggunakan akun layanan berikut:
Akun layanan
Peran IAM
apigee-cassandra
Storage Object Admin
apigee-logger
Penulis Log
apigee-mart
Apigee Connect Agent
apigee-metrics
Penulis Metrik Pemantauan
apigee-runtime
Tidak memerlukan peran
apigee-synchronizer
Apigee Synchronizer Manager
apigee-udca
Apigee Analytics Agent
apigee-watcher
Apigee Runtime Agent
Apigee menyediakan alat,
create-service-account, di direktori
apigee-operator/etc/tools:
Alat ini membuat akun layanan, menetapkan peran IAM ke setiap akun, dan mendownload file sertifikat dalam format JSON untuk setiap akun.
Buat direktori tempat Anda ingin mendownload file sertifikat akun layanan. Anda akan menentukannya dalam perintah berikut di
tempat SERVICE_ACCOUNTS_PATH.
Anda dapat membuat semua akun layanan dengan satu perintah menggunakan
opsi berikut:
Ini adalah konfigurasi penggantian yang sama yang akan Anda gunakan untuk penginstalan Helm ini. Untuk setelan lainnya, lihat Referensi properti konfigurasi.
Jika output tidak menyertakan ID akun layanan, aktifkan
akses sinkronisasi. Akun Anda harus memiliki
peran IAM Apigee Organization Admin
(roles/apigee.admin) untuk melakukan tugas ini.
Periksa label yang ada di node cluster.
Secara default, Apigee menjadwalkan pod data pada node dengan label
cloud.google.com/gke-nodepool=apigee-data dan pod runtime
dijadwalkan pada node dengan label
cloud.google.com/gke-nodepool=apigee-runtime. Anda dapat
menyesuaikan label node pool di file overrides.yaml.
Verifikasi bahwa aplikasi sudah aktif dan berjalan dengan memeriksa status env masing-masing:
kubectl -n apigee get apigeeenv
NAME STATE AGE GATEWAYTYPE
apigee-org1-dev-xxx running 2d
Buat sertifikat TLS. Anda diwajibkan untuk memberikan sertifikat TLS untuk gateway ingress runtime dalam konfigurasi hybrid Apigee.
Buat sertifikat. Di lingkungan produksi, Anda harus menggunakan sertifikat bertanda tangan. Anda dapat menggunakan pasangan sertifikat dan kunci atau secret Kubernetes.
Untuk penginstalan demonstrasi dan pengujian, gateway runtime
dapat menerima kredensial yang ditandatangani sendiri. Dalam contoh berikut,
openssl digunakan
untuk membuat kredensial yang ditandatangani sendiri:
Anda harus menginstal satu grup lingkungan (virtualhost) dalam satu waktu. Tentukan grup lingkungan dengan --set envgroup=ENV_GROUP_NAME:
# repeat the following command for each env group mentioned in the overrides.yaml file
helm upgrade apigee-virtualhost-ENV_GROUP_NAME apigee-virtualhost/ \
--install \
--namespace apigee \
--atomic \
--set envgroup=ENV_GROUP_NAME \
-f overrides.yaml
Tindakan ini akan membuat ApigeeRouteConfig (ARC) yang secara internal membuat
ApigeeRoute (AR) setelah watcher Apigee menarik detail terkait grup env
dari bidang kontrol. Oleh karena itu, periksa apakah status AR yang sesuai sedang berjalan:
kubectl -n apigee get arc
NAME STATE AGE
apigee-org1-dev-egroup 2d
kubectl -n apigee get ar
NAME STATE AGE
apigee-org1-dev-egroup-xxxxxx running 2d
Kasus penggunaan tambahan untuk diagram Helm dengan Apigee Hybrid
Pencadangan dan pemulihan Cassandra
Untuk mengaktifkan pencadangan:
Perbarui detail pencadangan Cassandra dalam file overrides.yaml:
Penyiapan multi-region dengan diagram Helm memerlukan prasyarat yang sama dengan
prosedur apigeectl saat ini. Untuk mengetahui detailnya, lihat
Prasyarat untuk deployment multi-region.
Prosedur untuk mengonfigurasi hybrid untuk multi-region sama dengan
prosedur yang ada hingga proses mengonfigurasi host awal multi-region
dan menyiapkan cluster serta konteks Kubernetes.
Mengonfigurasi region pertama
Gunakan langkah-langkah berikut untuk mengonfigurasi wilayah pertama dan bersiap untuk mengonfigurasi wilayah kedua:
SEED_HOST_IP_ADDRESS dengan alamat IP host awal, misalnya 10.0.0.11.
DATACENTER_NAME dengan nama pusat data, misalnya dc-2.
RACK_NAME dengan nama rak, misalnya ra-1.
CLUSTER_NAME dengan nama cluster Apigee Anda. Secara default, nilainya
adalah apigeecluster. Jika Anda menggunakan nama cluster yang berbeda, Anda harus menentukan
nilai untuk cassandra.clusterName.
Nilai ini harus sama di semua wilayah.
Salin sertifikat Anda dari cluster yang ada ke cluster baru.
Root CA baru digunakan oleh Cassandra dan komponen hybrid lainnya untuk mTLS.
Oleh karena itu, penting untuk memiliki sertifikat yang konsisten di seluruh cluster.
Tetapkan konteks ke namespace asli:
kubectl config use-context ORIGINAL_CLUSTER_NAME
Ekspor konfigurasi namespace saat ini ke file:
kubectl get namespace apigee -o yaml > apigee-namespace.yaml
Ekspor rahasia apigee-ca ke file:
kubectl -n cert-manager get secret apigee-ca -o yaml > apigee-ca.yaml
Tetapkan konteks ke nama cluster region baru:
kubectl config use-context NEW_CLUSTER_NAME
Impor konfigurasi namespace ke cluster baru. Pastikan untuk
memperbarui namespace dalam file jika Anda menggunakan
namespace yang berbeda di region baru:
kubectl apply -f apigee-namespace.yaml
Impor secret ke cluster baru:
kubectl -n cert-manager apply -f apigee-ca.yaml
Sekarang gunakan diagram Helm untuk menginstal Apigee hybrid di region baru dengan
perintah Diagram Helm berikut (seperti yang dilakukan di region 1):
Setelah semua komponen diinstal, siapkan Cassandra di semua pod
di pusat data baru. Untuk mengetahui petunjuknya, lihat
Mengonfigurasi Apigee Hybrid untuk multi-region, pilih platform Anda,
scroll ke Siapkan region baru, lalu temukan langkah 5.
Setelah replikasi data selesai dan diverifikasi, perbarui host awal:
Menghapus multiRegionSeedHost: 10.0.0.11 dari overrides-DATACENTER_NAME.yaml.
Entri multiRegionSeedHost tidak lagi diperlukan setelah replikasi data dibuat, dan IP pod diperkirakan akan berubah seiring waktu.
Terapkan kembali perubahan untuk memperbarui CR apigee datastore:
Daripada mengandalkan repositori Google Cloud publik, Anda dapat memilih untuk menghosting gambar secara pribadi. Daripada mengganti setiap komponen, Anda
dapat menambahkan detail hub pada penggantian:
hub: PRIVATE_REPO
Misalnya, jika hub berikut disediakan, jalur gambar akan otomatis diselesaikan:
hub: private-docker-host.com
sebagai:
## an example of internal component vs 3rd party
containers:
- name: apigee-udca
image: private-docker-host.com/apigee-udca:1.10.5
imagePullPolicy: IfNotPresent
containers:
- name: apigee-ingressgateway
image: private-docker-host.com/apigee-asm-ingress:1.17.2-asm.8-distroless
imagePullPolicy: IfNotPresent
Untuk menggunakan
fitur Taints and Tolerations Kubernetes, Anda harus menentukan
properti penggantian tolerations untuk setiap komponen hybrid Apigee.
Komponen berikut mendukung penentuan toleransi:
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2026-04-14 UTC."],[],[]]