Topik ini menjelaskan cara menambahkan organisasi campuran Apigee (org) kedua ke cluster Kubernetes yang ada. Dalam konfigurasi multi-organisasi per cluster ini, kedua organisasi menggunakan dan berbagi ring Cassandra yang sama. Setiap organisasi dapat memiliki beberapa lingkungan dan grup lingkungan yang dikonfigurasi.
Batasan
Konfigurasi multi-organisasi per cluster didukung dengan batasan berikut. Sampai keterbatasan ini dimitigasi, sebaiknya Anda tidak menggunakan konfigurasi ini.
- Jika Anda akan memiliki beberapa instance hybrid Apigee, setiap instance harus memiliki clusternya sendiri. Beberapa instance hybrid Apigee yang berjalan di cluster kubernetes yang sama dapat menyebabkan masalah ketidakstabilan yang berpotensi menyebabkan periode nonaktif.
- Metrik pod hanya dikirim ke project Google Cloud pertama yang dikonfigurasi. Batasan ini paling terlihat di alat Cloud Monitoring. Hal ini hanya memengaruhi metrik cluster; analitik API tidak terpengaruh. Metrik untuk organisasi Apigee lainnya tidak akan dikirim ke project Google Cloud yang cocok.
- 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 diambil 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 campuran 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. Tindakan ini tidak akan berfungsi untuk organisasi lain dalam cluster multi-organisasi.
Opsi multi-organisasi
Bagian ini menjelaskan cara Dukungan Apigee menangani cluster multi-org yang ada dan rekomendasi untuk deployment mendatang:
- Jika Anda sudah memiliki cluster Kubernetes multi-organisasi yang di-deploy dalam konteks non-produksi dan produksi, Dukungan Apigee akan terus mendukungnya. Namun, perhatikan batasan teknis yang diuraikan di bagian berikutnya. Sebaiknya Anda mengubah deployment produksi mendatang untuk menggunakan satu organisasi Apigee per cluster.
- Jika Anda sudah memiliki cluster multi-organisasi dalam konteks non-produksi, Dukungan Apigee akan terus mendukungnya. Sebaiknya migrasikan cluster produksi ke konfigurasi baru yang menggunakan satu organisasi Apigee per cluster.
Prasyarat
Sebelum melanjutkan, perhatikan hal berikut:
- Anda harus memiliki organisasi campuran yang ada dengan satu atau beberapa lingkungan yang diinstal dan dikonfigurasi di cluster Kubernetes yang ada. Lihat petunjuk penginstalan campuran.
- Saat menggabungkan beberapa organisasi dalam satu cluster, semua versi campuran harus cocok. Sebelum menambahkan organisasi kedua ke cluster, upgrade penginstalan hibrida yang ada, jika perlu. Lihat Mengupgrade Apigee Hybrid.
Membuat organisasi untuk ditambahkan ke cluster yang ada
Untuk membuat organisasi tambahan, ikuti langkah-langkah di Bagian 1: Penyiapan project dan organisasi.
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 (
.key
dan.pem
) di direktoricerts
Anda. Jika perlu membuatnya lagi, Anda dapat mengikuti petunjuk di Membuat sertifikat TLS. - Salin
overrides.yaml
yang ada ke file baru untuk digunakan sebagai titik awal untuk mengonfigurasi organisasi baru. Misalnya: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. 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 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 organisasi dalam cluster ini harus memiliki ID instance yang sama. Oleh karena itu, nilai ini harus cocok dengan entri instanceID
dalam file penggantian untuk organisasi asli Anda.existing-cluster-name Nama cluster tempat Anda menambahkan organisasi ini. Nilai ini harus cocok dengan entri k8sCluster.name
dalam file penggantian untuk cluster asli Anda.existing-cluster-analytics-region Region tempat cluster asli disediakan. Nilai ini harus cocok dengan entri k8sCluster.region
dalam 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 untuk organisasi yang ada. namespace Semua organisasi di cluster harus memiliki namespace yang sama. Pastikan untuk menggunakan namespace yang sama dengan yang digunakan untuk organisasi asli. Perhatikan bahwa namespace defaultnya adalah apigee
.new-environment-group-name Grup lingkungan baru yang Anda buat untuk organisasi baru. cert-file-name dan
key-file-nameFile kunci dan sertifikat 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 masalah:
apigeectl apply -f overrides/new-overrides.yaml --org --dry-run=client
- Jika tidak ada masalah, terapkan komponen tingkat organisasi. Langkah ini menginstal tugas Cassandra (pengguna dan skema), layanan Apigee Connect, Apigee Watcher, dan MART:
apigeectl apply -f overrides/new-overrides.yaml --org
- Instal lingkungan. Langkah ini menginstal komponen apigee-runtime, sinkronisasi, dan UDCA,
per lingkungan:
apigeectl apply -f overrides/new-overrides.yaml --env ${ENV_NAME} --dry-run=client
apigeectl apply -f overrides/new-overrides.yaml --env ${ENV_NAME}
- Terapkan perubahan load balancer. Langkah ini mengonfigurasi ingress untuk memproses host virtual baru untuk organisasi kedua:
apigeectl apply -f overrides/new-overrides.yaml --settings virtualhosts --dry-run=client
apigeectl apply -f overrides/new-overrides.yaml --settings virtualhosts
- Aktifkan akses sinkronisasi untuk organisasi baru Anda dengan mengikuti langkah-langkah di Mengaktifkan akses Sinkronisasi.