Menerapkan konfigurasi ke cluster
Untuk menginstal Apigee Hybrid ke cluster Anda:
- Pastikan Anda berada di direktori
hybrid-base-directory/hybrid-files
. - Jalankan perintah
init
:$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml
Perintah
init
menginstal Layanan deployment Apigee Pengontrol Deployment Apigee dan Webhook Penerimaan Apigee, serta men-deploy aplikasi non-Apigee Istio dan Cert Manager. - Untuk memeriksa status deployment, Anda dapat menggunakan perintah berikut:
$APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml
dan
kubectl get pods -n apigee-system
dan
kubectl get pods -n istio-system
Jika pod sudah siap, lanjutkan ke langkah berikutnya.
- Lakukan "uji coba" diinstal. Jalankan perintah
apply
dengan flag--dry-run=true
. Melakukan pengeringan dapat digunakan untuk memeriksa error sebelum melakukan perubahan pada cluster.$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=true
-
Jika tidak ada error, Anda dapat menerapkan konfigurasi
komponen runtime ke cluster:
$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
- Untuk memeriksa status deployment:
$APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml
Ulangi langkah ini sampai semua pod siap. Pod mungkin memerlukan waktu beberapa menit untuk memulai.
Tambahkan nama host statis untuk Cassandra di /etc/hosts
Pada langkah ini, Anda akan mendapatkan IP dan nama host node pekerja yang ditetapkan untuk Cassandra,
lalu menambahkannya ke file /etc/hosts
Anda. Saat menggunakan jaringan host, pod
menggunakan IP dan nama host node. Nama host node tidak ada di DNS; Oleh karena itu, Anda
harus menambahkan
entri nama host statis di /etc/hosts
untuk setiap node pekerja Cassandra.
- Jalankan perintah ini untuk mendapatkan node pekerja Cassandra. Parameter
apigee-data
adalah label node default yang ditetapkan ke Cassandra. Jika Anda menggunakan label {i>node<i} yang berbeda, menggantikan yang Anda gunakan. Lihat Caranya untuk memberi label node pekerja.kubectl get nodes -l apigee.com/apigee-nodepool=apigee-data -o wide
Contoh output:
kubectl get nodes -o wide my-cluster1-844788cc8c-2gx7d NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME my-cluster1-844788cc8c-2gx7d Ready none 19d v1.14.7-gke.24 21.0.129.248 21.0.129.248 Ubuntu 18.04.3 LTS 4.15.0-62-generic docker://17.3.2
- Tambahkan nama node dan IP eksternal yang ditampilkan oleh perintah sebelumnya untuk masing-masing
node pekerja Cassandra ke
File
/etc/hosts
:cat /etc/hosts 127.0.0.1 localhost 21.0.129.248 my-cluster1-844788cc8c-2gx7d
Aktifkan akses sinkronisasi
- Membuat akun layanan GCP dan menambahkan peran Apigee Organization Admin IP eksternal mana pun yang ditetapkan pada instance tersebut. Akun layanan ini akan digunakan untuk mengautentikasi panggilan API yang akan Anda lakukan di langkah selanjutnya. Cara mudah untuk membuat akun layanan adalah melalui GCP Console. Untuk petunjuk, lihat Membuat dan mengelola akun layanan dalam dokumentasi GCP.
- Download kunci akun layanan ke sistem Anda. Ikuti petunjuk di Membuat kunci akun layanan dalam dokumentasi GCP.
- Pindahkan kunci akun layanan yang telah didownload ke direktori akun layanan Anda:
/hybrid-base-directory
/hybrid-files/service-accounts
- Jalankan dua perintah berikut untuk mendapatkan token:
export GOOGLE_APPLICATION_CREDENTIALS=org-admin-service-account-file
export TOKEN=$(gcloud auth application-default print-access-token)
Dengan org-admin-service-account-file adalah jalur di sistem Anda ke layanan kunci akun yang didownload dengan peran Apigee Organization Admin.
- Memanggil setSyncAuthorization API untuk
mengaktifkan izin yang diperlukan untuk Synchronizer:
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/your_org_name:setSyncAuthorization" \ -d '{"identities":["serviceAccount:synchronizer-manager-service-account-email"]}'
Dengan keterangan:
your_org_name
: Nama organisasi campuran Anda.synchronizer-manager-service-account-email
: Nama akun layanan dengan peran Apigee Synchronizer Manager. Nama dibentuk seperti alamat email. Contoh:apigee-synchronizer@my-project.
Contoh:
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/my_org:setSyncAuthorization" \ -d '{"identities":["serviceAccount:apigee-synchronizer@my-project."]}'
- Untuk memverifikasi bahwa akun layanan sudah disetel, panggil API berikut untuk mendapatkan
daftar akun layanan:
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/your_org_name:getSyncAuthorization" \ -d ''
Outputnya terlihat mirip dengan yang berikut ini:
{ "identities":[ "serviceAccount:my-synchronizer-manager-service_account@my_project_id." ], "etag":"BwWJgyS8I4w=" }
Tambahkan IP MART ke organisasi Anda
Anda harus menambahkan alamat IP endpoint MART
ke organisasi Apigee Anda. Anda menetapkan nilai ini sebelumnya saat ditetapkan
nilai properti mart.hostAlias
dalam penggantian Anda
.
Bidang pengelolaan memerlukan alamat ini agar dapat berkomunikasi dengan runtime
pesawat di atas MART.
Ikuti langkah-langkah berikut untuk menambahkan IP MART ke organisasi Anda:
- Dapatkan nilai yang Anda tetapkan sebelumnya dalam file penggantian untuk
mart.hostAlias
. Agar MART dapat berfungsi, alias host harus menjadi nama domain yang sepenuhnya memenuhi syarat - Temukan kunci akun layanan dengan peran Apigee Organization Admin yang telah Anda unduh sebelumnya, di bagian Aktifkan akses sinkronisasi.
- Jalankan dua perintah berikut untuk mendapatkan token:
export GOOGLE_APPLICATION_CREDENTIALS=org-admin-service-account-file
export TOKEN=$(gcloud auth application-default print-access-token)
Dengan org-admin-service-account-file adalah jalur di sistem Anda ke layanan kunci akun yang didownload dengan peran Apigee Organization Admin.
- Panggil API pengelolaan berikut untuk memperbarui organisasi Anda dengan endpoint MART:
curl -v -X PUT \ https://apigee.googleapis.com/v1/organizations/your_org_name \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ -d '{ "name" : "your_org_name", "properties" : { "property" : [ { "name" : "features.hybrid.enabled", "value" : "true" }, { "name" : "features.mart.server.endpoint", "value" : "https://HOST_ALIAS_DNS" } ] } }'
Ini contohnya. Pastikan untuk menambahkan awalan "https://" ke nama domain.
curl -v -X PUT \ https://apigee.googleapis.com/v1/organizations/my_organization \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ -d '{ "name" : "my_organization", "properties" : { "property" : [ { "name" : "features.hybrid.enabled", "value" : "true" }, { "name" : "features.mart.server.endpoint", "value" : "https://foo-mart.example.com" } ] } }'
Menyimpan file penggantian
Pastikan untuk menyimpan file penggantian Anda. Anda akan memerlukan file ini untuk melakukan upgrade di masa mendatang, patch, atau modifikasi lainnya pada konfigurasi cluster.