Topik ini membahas cara menambahkan organisasi (org) hybrid Apigee kedua ke Kubernetes. Dalam konfigurasi multi-org ini, kedua organisasi menggunakan dan berbagi Cassandra yang sama cincin. Setiap organisasi dapat memiliki beberapa lingkungan dan grup lingkungan yang dikonfigurasi.
Batasan
Konfigurasi multi-org per cluster didukung dengan batasan berikut. Hingga saat ini telah dikurangi, kami tidak menyarankan Anda menggunakan konfigurasi ini:
- Jika Anda akan memiliki beberapa instance hybrid Apigee, setiap instance harus memiliki . Beberapa instance hybrid Apigee yang berjalan di cluster kubernetes yang sama dapat menyebabkan masalah ketidakstabilan yang berpotensi menyebabkan {i>downtime<i}.
- Semua logging dari pod dikirim ke project Google Cloud pertama yang dikonfigurasi. Ini
keterbatasannya paling jelas di alat Cloud Logging. Log untuk organisasi Apigee lain akan
tidak dikirim ke project Google Cloud yang sesuai. Log masih direkam di level pod dan
dapat diambil dengan perintah
kubectl
. Namun, laporan tidak dikirim ke melalui Cloud Logging. - Anda tidak dapat menghapus data organisasi dalam database Cassandra hanya untuk satu organisasi. Artinya Anda tidak dapat menghapus organisasi secara selektif. Setiap modifikasi pada konfigurasi {i>database<i} 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, Investigasi) hanya berfungsi untuk aplikasi pertama organisasi yang telah dikonfigurasi dan di-deploy. Setelan ini tidak akan berfungsi untuk organisasi lain dalam multi-org .
Opsi multi-organisasi
Bagian ini menjelaskan bagaimana Dukungan Apigee menangani rekomendasi dan cluster multi-org yang sudah ada untuk deployment selanjutnya:
- Jika Anda sudah memiliki cluster Kubernetes multi-org yang di-deploy dalam lingkungan non-produksi dan produksi konteks tambahan, Dukungan Apigee akan terus mendukung mereka. Namun, perhatikan batasan teknis yang diuraikan di bagian berikutnya. Sebaiknya ubah deployment produksi di masa mendatang menjadi menggunakan satu organisasi Apigee per cluster.
- Jika Anda sudah memiliki cluster multi-org dalam konteks non-produksi, Dukungan Apigee akan terus mendukung mereka. Sebaiknya migrasikan cluster produksi ke dengan menggunakan satu org Apigee per cluster.
Prasyarat
Sebelum melanjutkan, perhatikan hal-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 penginstalan hybrid petunjuk khusus.
- Saat menggabungkan beberapa organisasi dalam satu cluster, semua versi hybrid harus cocok. Sebelum pembaruan menambahkan organisasi kedua ke cluster, upgrade penginstalan hybrid 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: Project dan penyiapan organisasi.
Konfigurasi organisasi baru
Pada langkah berikut, Anda akan membuat file pengganti baru dan mengonfigurasinya untuk
organisasi baru. File overrides.yaml
hanya dapat mendukung informasi milik satu organisasi. Oleh karena itu,
Anda harus membuat file overrides.yaml
baru dan menerapkannya ke Kubernetes yang ada
.
- Buat akun layanan untuk digunakan dengan organisasi baru. Lihat Membuat akun layanan Anda.
- Catat file sertifikat TLS (
.key
dan.pem
) di direktoricerts
Anda. Jika Anda perlu membuatnya lagi, Anda dapat mengikuti petunjuk di Membuat TLS sertifikat. - Salin
overrides.yaml
yang ada ke file baru untuk digunakan sebagai titik awal untuk mengonfigurasi organisasi baru. Sebagai 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 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 di mengganti file. Untuk 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, ini harus cocok dengan instanceID
entri dalam file pengganti untuk organisasi asli Anda.existing-cluster-name Nama cluster tempat Anda menambahkan organisasi ini. Ini harus cocok dengan entri k8sCluster.name
di file pengganti untuk file asli Anda .existing-cluster-analytics-region Region tempat gugus asli berada disediakan. ID ini harus cocok dengan entri k8sCluster.region
di file pengganti untuk cluster asli.new-project-id Project ID untuk project baru Anda. Project ID dan organisasi sama. new-project-default-location Wilayah analisis yang Anda tentukan saat membuat organisasi baru. Tidak harus sama dengan region untuk organisasi yang sudah ada. namespace Semua organisasi dalam cluster harus memiliki namespace yang sama. Pastikan untuk menggunakan namespace yang sama 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-nameSertifikat TLS dan file kunci untuk cluster yang Anda periksa atau buat pada langkah 1 di bagian. new-environment-name Nama lingkungan yang Anda buat untuk org. new-service-accounts-directory Direktori tempat file kunci akun layanan yang Anda buat untuk organisasi baru berada.
Terapkan konfigurasi:
Terapkan konfigurasi org baru ke cluster Anda:
- Lakukan instalasi uji coba untuk memeriksa apakah ada masalah:
Helm
helm upgrade ORG_NAME apigee-org/ \ --install \ --namespace apigee \ --atomic \ -f 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 organisasi. Langkah ini menginstal aplikasi Cassandra
pekerjaan (pengguna dan skema), layanan Apigee Connect, Apigee Watcher, dan 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 akan menginstal komponen apigee-runtime, pengautentikasi, dan UDCA,
per lingkungan:
Helm
helm upgrade ENV_NAME apigee-env/ \ --install \ --namespace apigee \ --atomic \ --set env=ENV_NAME \ -f overrides.yaml \ --dry-run
helm upgrade ENV_NAME apigee-env/ \ --install \ --namespace apigee \ --atomic \ --set env=ENV_NAME \ -f overrides.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 traffic masuk untuk mendengarkan
host virtual untuk organisasi kedua:
Helm
helm upgrade NEW_ENV_GROUP_NAME apigee-virtualhost/ \ --install \ --namespace apigee \ --atomic \ --set envgroup=NEW_ENV_GROUP_NAME \ -f overrides.yaml \ --dry-run
helm upgrade NEW_ENV_GROUP_NAME apigee-virtualhost/ \ --install \ --namespace apigee \ --atomic \ --set envgroup=NEW_ENV_GROUP_NAME \ -f overrides.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 sinkronisasi untuk organisasi baru Anda dengan mengikuti langkah-langkah dalam Aktifkan Akses sinkronisasi.
- Secara default, saat Anda pertama kali menginstal runtime hybrid Apigee, komponen Telemetry akan dikonfigurasi
dengan
multiOrgCluster
dinonaktifkan. Gunakan langkah-langkah berikut untuk mengaktifkan multi-organisasi telemetri untuk setiap organisasi di cluster Anda:- Hapus komponen Telemetry yang ada dengan perintah berikut:
Helm
helm delete telemetry
apigeectl
Lakukan uji coba terlebih dahulu:
$APIGEECTL_HOME/apigeectl delete -f FIRST_OVERRIDES_FILE.yaml --telemetry --dry-run=client
Jika uji coba berhasil, hapus komponen Telemetry:
$APIGEECTL_HOME/apigeectl delete -f FIRST_OVERRIDES_FILE.yaml --telemetry
- Tambahkan baris berikut ke file
overrides.yaml
untuk organisasi Anda yang sudah ada.multiOrgCluster: true
- Terapkan perubahan untuk menginstal komponen Telemetry bagi 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 Telemetry:
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 dalam file
overrides.yaml
untuk setiap organisasi baru.multiOrgCluster: true
- Terapkan perubahan untuk menginstal komponen Telemetry untuk setiap organisasi baru. Ulangi ini untuk
setiap organisasi 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 Telemetry:
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 Telemetry yang ada dengan perintah berikut: