Topik ini membahas cara menambahkan organisasi (org.) Apigee hybrid kedua ke cluster Kubernetes yang sudah ada. Dalam konfigurasi multi-org ini, kedua org menggunakan dan membagikan ring Cassandra yang sama. Setiap org dapat memiliki beberapa lingkungan dan grup lingkungan yang dikonfigurasi.
Batasan
Konfigurasi multi-org per cluster didukung dengan batasan berikut. Hingga batasan ini diatasi, sebaiknya Anda tidak menggunakan konfigurasi ini:
- Jika Anda akan memiliki beberapa instance hybrid Apigee, setiap instance harus memiliki cluster-nya sendiri. Beberapa instance hybrid Apigee yang berjalan di cluster kubernetes yang sama dapat menyebabkan masalah ketidakstabilan yang berpotensi menyebabkan periode nonaktif.
- Semua logging dari pod dikirim ke project Google Cloud pertama yang dikonfigurasi. Batasan ini paling terlihat di alat Cloud Logging. Log untuk organisasi Apigee lainnya tidak akan dikirim ke project Google Cloud yang cocok. Log masih dicatat di tingkat pod dan
dapat diambil dengan perintah
kubectl. Namun, log tersebut tidak dikirim ke project Cloud yang benar melalui Cloud Logging. - Anda tidak dapat menghapus data organisasi di database Cassandra hanya untuk satu organisasi. Artinya, Anda tidak dapat menghapus organisasi secara selektif. Setiap modifikasi pada konfigurasi database akan memengaruhi semua organisasi yang di-deploy ke cluster tersebut.
- Prosedur upgrade hybrid mengupgrade seluruh cluster sekaligus.
- Pencadangan dan pemulihan dilakukan sebagai cluster, dan tidak dapat dilakukan untuk organisasi tertentu.
- Fitur Pemantauan API Apigee (Linimasa, Terbaru, Selidiki) hanya berfungsi untuk organisasi pertama yang dikonfigurasi dan di-deploy. Hal ini tidak akan berfungsi untuk organisasi lain dalam cluster multi-organisasi.
Opsi multi-org
Bagian ini menjelaskan cara Dukungan Apigee menangani cluster multi-org yang ada dan rekomendasi untuk deployment mendatang:
- Jika Anda memiliki cluster Kubernetes multi-org yang sudah di-deploy dalam konteks non-produksi dan produksi, Dukungan Apigee akan terus mendukungnya. Namun, perhatikan batasan teknis yang diuraikan di bagian berikutnya. Sebaiknya ubah semua deployment produksi mendatang agar menggunakan satu org Apigee per cluster.
- Jika Anda memiliki cluster multi-org yang ada dalam konteks non-produksi, Dukungan Apigee akan terus mendukungnya. Sebaiknya Anda memigrasikan semua cluster produksi ke konfigurasi baru yang menggunakan satu organisasi Apigee per cluster.
Prasyarat
Sebelum melanjutkan, perhatikan hal berikut:
- Anda harus memiliki organisasi hybrid yang sudah ada dengan satu atau beberapa lingkungan yang diinstal dan dikonfigurasi di cluster Kubernetes yang sudah ada. Lihat petunjuk penginstalan hybrid.
- Saat menggabungkan beberapa organisasi dalam satu cluster, semua versi hybrid harus cocok. Sebelum menambahkan organisasi kedua ke cluster, upgrade penginstalan hybrid yang ada, jika perlu. Lihat Mengupgrade Apigee Hybrid.
Buat org untuk ditambahkan ke cluster yang ada
Untuk membuat org tambahan, ikuti langkah-langkah di Bagian 1: Penyiapan project dan org.
Mengonfigurasi organisasi baru
Pada langkah-langkah berikut, Anda akan membuat file penggantian baru dan mengonfigurasinya untuk
organisasi baru. File overrides.yaml hanya dapat mendukung informasi satu organisasi. Oleh karena itu,
Anda harus membuat file overrides.yaml baru dan menerapkannya ke cluster Kubernetes
yang ada.
- Buat akun layanan untuk digunakan dengan organisasi baru. Lihat Membuat akun layanan.
- Catat file sertifikat TLS (
.keydan.pem) di direktoricertsAnda. Jika Anda perlu membuatnya lagi, Anda dapat mengikuti petunjuk di Membuat sertifikat TLS. - Salin
overrides.yamlyang ada ke file baru untuk digunakan sebagai titik awal untuk mengonfigurasi organisasi baru Anda. Contoh:new-overrides.yaml. - Edit file penggantian baru dengan konfigurasi berikut:
org: "new-org-name" instanceID: "instance-id" ## Must match the instanceID of your existing org. multiOrgCluster: true ## Enables exporting metrics for this org to the Google Cloud Project named with gcp:projectID k8sCluster: name: "existing-cluster-name" region: "existing-cluster-analytics-region" gcp: projectID: "new-project-id" name: "new-project-id" region: "new-project-default-location" namespace: namespace ## must be the same for both new and existing orgs virtualhosts: - name: new-environment-group-name selector: app: apigee-ingressgateway ingress_name: old-ingress-name sslCertPath: ./certs/cert-file-name # .crt or .pem sslKeyPath: ./certs/key-file-name # .key envs: - name: new-environment-name serviceAccountPaths: runtime: ./new-service-accounts-directory/new-project-id-apigee-runtime.json synchronizer: ./new-service-accounts-directory/new-project-id-apigee-synchronizer.json udca: ./new-service-accounts-directory/new-project-id-apigee-udca.json connectAgent: serviceAccountPath: ./new-service-accounts-directory/new-project-id-apigee-mart.json mart: serviceAccountPath: ./new-service-accounts-directory/new-project-id-apigee-mart.json metrics: serviceAccountPath: ./new-service-accounts-directory/new-project-id-apigee-metrics.json watcher: serviceAccountPath: ./new-service-accounts-directory/new-project-id-apigee-watcher.json
Tabel berikut menjelaskan setiap nilai properti yang harus Anda berikan dalam file penggantian. Untuk mengetahui informasi selengkapnya, lihat Referensi properti konfigurasi.
Variabel Deskripsi new-org-name Nama organisasi baru Anda. instance-id Semua org dalam cluster ini harus memiliki ID instance yang sama. Oleh karena itu, nilai ini harus cocok dengan entri instanceIDdalam file penggantian untuk org. asli Anda.existing-cluster-name Nama cluster yang Anda tambahi organisasi ini. Nilai ini harus cocok dengan entri k8sCluster.namedalam file penggantian untuk cluster asli Anda.existing-cluster-analytics-region Region tempat cluster asli disediakan. Harus cocok dengan entri k8sCluster.regiondalam file penggantian untuk cluster asli Anda.new-project-id Project ID project baru Anda. Project ID dan nama organisasi sama. new-project-default-location Wilayah analisis yang Anda tentukan saat membuat organisasi baru. Region ini tidak harus sama dengan region organisasi yang sudah ada. namespace Semua organisasi di cluster harus memiliki namespace yang sama. Pastikan untuk menggunakan ruang nama yang sama dengan yang digunakan untuk organisasi asli. Namespace untuk sebagian besar penginstalan adalah apigee.new-environment-group-name Grup lingkungan baru yang Anda buat untuk organisasi baru. cert-file-name dan
key-file-nameFile sertifikat dan kunci TLS untuk cluster yang Anda periksa atau buat di langkah 1 di bagian ini. new-environment-name Nama lingkungan yang Anda buat untuk organisasi baru. new-service-accounts-directory Direktori tempat file kunci akun layanan yang Anda buat untuk organisasi baru berada.
Terapkan konfigurasi:
Terapkan konfigurasi organisasi baru ke cluster Anda:
- Lakukan penginstalan uji coba untuk memeriksa apakah ada masalah:
Helm
helm upgrade ORG_NAME apigee-org/ \ --install \ --namespace apigee \ --atomic \ -f NEW_OVERRIDES_FILE.yaml \ --dry-run
apigeectl$APIGEECTL_HOME/apigeectl apply -f NEW_OVERRIDES_FILE.yaml --org --dry-run=client
- Jika tidak ada masalah, terapkan komponen tingkat org. Langkah ini menginstal tugas Cassandra (pengguna dan skema), Apigee Connect, Apigee Watcher, dan layanan MART:
Helm
helm upgrade ORG_NAME apigee-org/ \ --install \ --namespace apigee \ --atomic \ -f NEW_OVERRIDES_FILE.yaml
apigeectl$APIGEECTL_HOME/apigeectl apply -f NEW_OVERRIDES_FILE.yaml --org
- Instal lingkungan. Langkah ini menginstal komponen apigee-runtime, synchronizer, dan UDCA,
per lingkungan:
Helm
helm upgrade ENV_NAME apigee-env/ \ --install \ --namespace apigee \ --atomic \ --set env=ENV_NAME \ -f NEW_OVERRIDES_FILE.yaml \ --dry-run
helm upgrade ENV_NAME apigee-env/ \ --install \ --namespace apigee \ --atomic \ --set env=ENV_NAME \ -f NEW_OVERRIDES_FILE.yaml
apigeectl$APIGEECTL_HOME/apigeectl apply -f NEW_OVERRIDES_FILE --env $ENV_NAME --dry-run=client
$APIGEECTL_HOME/apigeectl apply -f NEW_OVERRIDES_FILE --env $ENV_NAME
- Terapkan perubahan load balancer. Langkah ini mengonfigurasi ingress untuk memproses host virtual baru
untuk organisasi kedua:
Helm
helm upgrade NEW_ENV_GROUP_NAME apigee-virtualhost/ \ --install \ --namespace apigee \ --atomic \ --set envgroup=NEW_ENV_GROUP_NAME \ -f NEW_OVERRIDES_FILE.yaml \ --dry-run
helm upgrade NEW_ENV_GROUP_NAME apigee-virtualhost/ \ --install \ --namespace apigee \ --atomic \ --set envgroup=NEW_ENV_GROUP_NAME \ -f NEW_OVERRIDES_FILE.yaml
apigeectl$APIGEECTL_HOME/apigeectl apply -f NEW_OVERRIDES_FILE --settings virtualhosts --dry-run=client
$APIGEECTL_HOME/apigeectl apply -f NEW_OVERRIDES_FILE --settings virtualhosts
- Aktifkan akses penyinkron untuk organisasi baru Anda dengan mengikuti langkah-langkah di Mengaktifkan akses Penyinkron.
- Secara default, saat Anda pertama kali menginstal runtime Apigee hybrid, komponen Telemetry dikonfigurasi
dengan
multiOrgClusterdinonaktifkan. Gunakan langkah-langkah berikut untuk mengaktifkan telemetri multi-org untuk setiap org di cluster Anda:- Hapus komponen Telemetri yang ada dengan perintah berikut:
Helm
helm delete telemetry -n APIGEE_NAMESPACE
apigeectlLakukan uji coba terlebih dahulu:
$APIGEECTL_HOME/apigeectl delete -f FIRST_OVERRIDES_FILE.yaml --telemetry --dry-run=client
Jika uji coba berhasil, hapus komponen Telemetri:
$APIGEECTL_HOME/apigeectl delete -f FIRST_OVERRIDES_FILE.yaml --telemetry
- Tambahkan baris berikut ke file
overrides.yamluntuk org. yang sudah ada.multiOrgCluster: true
- Terapkan perubahan untuk menginstal komponen Telemetri untuk organisasi.
Lakukan uji coba terlebih dahulu:
Helm
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace apigee \ --atomic \ -f FIRST_OVERRIDES_FILE.yaml \ --dry-run
apigeectl$APIGEECTL_HOME/apigeectl apply -f FIRST_OVERRIDES_FILE.yaml --telemetry --dry-run=client
Jika uji coba berhasil, terapkan perubahan dan instal komponen Telemetri:
Helm
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace apigee \ --atomic \ -f FIRST_OVERRIDES_FILE.yaml
apigeectl$APIGEECTL_HOME/apigeectl apply -f FIRST_OVERRIDES_FILE.yaml --telemetry
- Pastikan baris berikut ada di file
overrides.yamluntuk setiap organisasi baru.multiOrgCluster: true
- Terapkan perubahan untuk menginstal komponen Telemetri untuk setiap organisasi baru. Ulangi langkah ini untuk
setiap org baru di cluster multi-org Anda.
Lakukan uji coba terlebih dahulu:
Helm
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace apigee \ --atomic \ -f NEW_OVERRIDES_FILE.yaml \ --dry-run
apigeectl$APIGEECTL_HOME/apigeectl apply -f NEW_OVERRIDES_FILE.yaml --telemetry --dry-run=client
Jika uji coba berhasil, terapkan perubahan dan instal komponen Telemetri:
Helm
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace apigee \ --atomic \ -f NEW_OVERRIDES_FILE.yaml
apigeectl$APIGEECTL_HOME/apigeectl apply -f NEW_OVERRIDES_FILE.yaml --telemetry
- Hapus komponen Telemetri yang ada dengan perintah berikut: