Prosedur ini mencakup upgrade dari Apigee hybrid versi 1.9.x ke Apigee hybrid versi 1.10.5 dan dari rilis hybrid 1.10.x sebelumnya ke versi 1.10.5.
Gunakan prosedur yang sama untuk upgrade versi minor (misalnya versi 1.9 hingga 1.10) dan untuk upgrade rilis patch (misalnya 1.10.0 hingga 1.10.5).
Ringkasan upgrade ke versi 1.10.5
Prosedur untuk mengupgrade Apigee hybrid diatur dalam bagian berikut:
Prasyarat
Petunjuk upgrade ini mengasumsikan bahwa Anda telah menginstal Apigee hybrid versi 1.9.x dan ingin mengupgradenya ke versi 1.10.5. Jika Anda mengupdate dari versi sebelumnya, lihat petunjuk untuk Mengupgrade Apigee hybrid ke versi 1.9.
Bersiap untuk mengupgrade ke versi 1.10
Mencadangkan penginstalan hybrid Anda (direkomendasikan)
- Petunjuk ini menggunakan variabel lingkungan APIGEECTL_HOME untuk direktori
dalam sistem file tempat Anda menginstal
apigeectl
. Jika perlu, ubah direktori ke direktoriapigeectl
dan tentukan variabel dengan perintah berikut:Linux
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
Mac OS
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
Windows
set APIGEECTL_HOME=%CD%
echo %APIGEECTL_HOME%
- Buat salinan cadangan direktori
$APIGEECTL_HOME/
versi 1.9. Contoh:tar -czvf $APIGEECTL_HOME/../apigeectl-v1.9-backup.tar.gz $APIGEECTL_HOME
- Cadangkan database Cassandra Anda dengan mengikuti petunjuk di Pencadangan dan pemulihan Cassandra.
Mengupgrade versi Kubernetes
Periksa versi platform Kubernetes Anda dan jika perlu, upgrade platform Kubernetes ke versi yang didukung oleh hybrid 1.9 dan hybrid 1.10. Ikuti dokumentasi platform Anda jika Anda memerlukan bantuan.
Menginstal runtime hybrid 1.10.5
- Pastikan Anda berada di direktori dasar campuran (induk direktori tempat
file yang dapat dieksekusi
apigeectl
berada):cd $APIGEECTL_HOME/..
-
Download paket rilis untuk sistem operasi Anda menggunakan perintah berikut. Pastikan untuk memilih platform Anda di tabel berikut:
Linux
Linux 64 bit:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_linux_64.tar.gz
Mac OS
Mac 64-bit:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_mac_64.tar.gz
Windows
Windows 64-bit:
curl -LO ^ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_windows_64.zip
- Ubah nama direktori
apigeectl/
Anda saat ini menjadi nama direktori cadangan. Misalnya:Linux
mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.9/
Mac OS
mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.9/
Windows
rename %APIGEECTL_HOME% %APIGEECTL_HOME%-v1.9
-
Ekstrak konten file gzip yang didownload ke direktori dasar campuran Anda. Direktori dasar campuran adalah direktori tempat direktori
apigeectl-v1.9
yang diganti namanya berada:Linux
tar xvzf filename.tar.gz -C ./
Mac OS
tar xvzf filename.tar.gz -C ./
Windows
tar xvzf filename.zip -C ./
-
Secara default, konten tar diperluas ke dalam direktori dengan versi dan platform dalam namanya. Misalnya:
./apigeectl_1.10.5-xxxxxxx_linux_64
. Ganti nama direktori tersebut menjadiapigeectl
menggunakan perintah berikut:Linux
mv apigeectl_1.10.5-xxxxxxx_linux_64 apigeectl
Mac OS
mv apigeectl_1.10.5-xxxxxxx_mac_64 apigeectl
Windows
rename apigeectl_1.10.5-xxxxxxx_windows_64 apigeectl
-
Ubah ke direktori
apigeectl
:cd ./apigeectl
Direktori ini adalah direktori utama
apigeectl
. Di sinilah perintah yang dapat dieksekusiapigeectl
berada. - Petunjuk ini menggunakan variabel lingkungan
$APIGEECTL_HOME
untuk direktori dalam sistem file tempat utilitasapigeectl
diinstal. Jika perlu, ubah direktori ke direktoriapigeectl
dan tentukan variabel dengan perintah berikut:Linux
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
Mac OS
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
Windows
set APIGEECTL_HOME=%CD%
echo %APIGEECTL_HOME%
- Verifikasi versi
apigeectl
dengan perintahversion
:./apigeectl version
Version: 1.10.5
- Buat direktori
hybrid-base-directory/hybrid-files
, lalu pindah ke dalamnya. Direktorihybrid-files
adalah tempat file konfigurasi seperti file penggantian, sertifikat, dan akun layanan berada. Misalnya:Linux
mkdir $APIGEECTL_HOME/../hybrid-files
cd $APIGEECTL_HOME/../hybrid-files
Mac OS
mkdir $APIGEECTL_HOME/../hybrid-files
cd $APIGEECTL_HOME/../hybrid-files
Windows
mkdir %APIGEECTL_HOME%/../hybrid-files
cd %APIGEECTL_HOME%/../hybrid-files
- Pastikan
kubectl
ditetapkan ke konteks yang benar menggunakan perintah berikut. Konteks saat ini harus ditetapkan ke cluster tempat Anda mengupgrade Apigee hybrid.kubectl config get-contexts | grep \*
- Di direktori
hybrid-files
:-
Perbarui link simbolis berikut ke
$APIGEECTL_HOME
. Link ini memungkinkan Anda menjalankan perintahapigeectl
yang baru diinstal dari dalam direktorihybrid-files
:ln -nfs
$APIGEECTL_HOME
/tools toolsln -nfs
$APIGEECTL_HOME
/config configln -nfs
$APIGEECTL_HOME
/templates templatesln -nfs
$APIGEECTL_HOME
/plugins plugins -
Untuk memeriksa apakah symlink dibuat dengan benar, jalankan perintah berikut dan pastikan
jalur link mengarah ke lokasi yang benar:
ls -l | grep ^l
-
Perbarui link simbolis berikut ke
- Buat perubahan berikut pada file overrides.yaml untuk mengaktifkan diagram
apigee-operator
atau menggunakan tag yang benar,1.10.5-hotfix.1
:ao: image: url: "gcr.io/apigee-release/hybrid/apigee-operators" tag: "1.10.5-hotfix.1"
- Lakukan inisialisasi uji coba untuk memeriksa error:
${APIGEECTL_HOME}/apigeectl init -f OVERRIDES_FILE --dry-run=client
Dengan OVERRIDES_FILE adalah nama file penggantian Anda, misalnya
./overrides/overrides.yaml
. - Jika tidak ada error, lakukan inisialisasi hybrid 1.10.5:
$APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
- Periksa status inisialisasi:
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
Jika berhasil, output akan menampilkan:
All containers ready.
kubectl describe apigeeds -n apigee
Pada output, cari
State: running
. - Periksa error dengan uji coba perintah
apply
menggunakan flag--dry-run
:$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --dry-run=client
- Jika tidak ada error, terapkan penggantian Anda. Pilih dan ikuti petunjuk untuk lingkungan produksi atau
lingkungan non-prod, bergantung pada penginstalan Anda.
Produksi
Untuk lingkungan produksi, upgrade setiap komponen campuran satu per satu, dan periksa status komponen yang diupgrade sebelum melanjutkan ke komponen berikutnya.
- Pastikan Anda berada di direktori
hybrid-files
. - Terapkan penggantian untuk mengupgrade Cassandra:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --datastore
- Pemeriksaan selesai:
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
Lanjutkan ke langkah berikutnya hanya jika pod sudah siap.
- Terapkan penggantian untuk mengupgrade komponen Telemetri dan periksa penyelesaiannya:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --telemetry
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
- Tampilkan komponen Redis:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --redis
- Terapkan penggantian untuk mengupgrade komponen tingkat organisasi (MART, Watcher, dan Apigee
Connect) dan periksa penyelesaiannya:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --org
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
- Terapkan penggantian untuk mengupgrade lingkungan Anda. Anda memiliki dua pilihan:
- Lingkungan demi lingkungan: Terapkan penggantian Anda ke satu lingkungan pada satu waktu dan periksa penyelesaiannya. Ulangi
langkah ini untuk setiap lingkungan:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --env ENV_NAME
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
Dengan ENV_NAME adalah nama lingkungan yang Anda upgrade.
- Semua lingkungan sekaligus: Terapkan penggantian Anda ke semua lingkungan sekaligus dan periksa penyelesaiannya:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --all-envs
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
- Lingkungan demi lingkungan: Terapkan penggantian Anda ke satu lingkungan pada satu waktu dan periksa penyelesaiannya. Ulangi
langkah ini untuk setiap lingkungan:
- Terapkan penggantian untuk mengupgrade komponen
virtualhosts
dan periksa penyelesaiannya:$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --settings virtualhosts
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
Non-prod
Di sebagian besar lingkungan non-produksi, demo, atau eksperimental, Anda dapat menerapkan penggantian ke semua komponen sekaligus. Jika lingkungan non-produksi Anda besar dan kompleks atau sangat mirip dengan lingkungan produksi, sebaiknya gunakan petunjuk untuk mengupgrade lingkungan produksi.
- Pastikan Anda berada di direktori
hybrid-files
. $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE
- Periksa statusnya:
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
- Pastikan Anda berada di direktori
Me-roll back upgrade
Ikuti langkah-langkah berikut untuk melakukan roll back upgrade sebelumnya:
- Bersihkan tugas yang telah selesai untuk namespace runtime campuran, dengan NAMESPACE adalah
namespace yang ditentukan dalam file penggantian, jika Anda menentukan namespace. Jika tidak, namespace defaultnya adalah
apigee
:kubectl delete job -n NAMESPACE \ $(kubectl get job -n NAMESPACE \ -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
- Bersihkan tugas yang telah selesai untuk namespace
apigee-system
:kubectl delete job -n apigee-system \ $(kubectl get job -n apigee-system \ -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
- Ubah variabel
APIGEECTL_HOME
agar mengarah ke direktori yang berisiapigeectl
versi sebelumnya. Contoh:export APIGEECTL_HOME=PATH_TO_PREVIOUS_APIGEECTL_DIRECTORY
- Di direktori root penginstalan yang ingin Anda kembalikan, jalankan
apigeectl apply
, periksa status pod, lalu jalankanapigeectl init
. Pastikan untuk menggunakan file penggantian asli untuk versi yang ingin Anda rollback:- Di direktori hybrid-files, jalankan
apigeectl apply
:$APIGEECTL_HOME
/apigeectl apply -f ORIGINAL_OVERRIDES_FILEDengan ORIGINAL_OVERRIDES_FILE adalah jalur relatif dan nama file penggantian untuk penginstalan campuran versi sebelumnya, misalnya,
./overrides/overrides1.9.yaml
. - Periksa status pod Anda:
kubectl -n NAMESPACE get pods
Dengan NAMESPACE adalah namespace hybrid Apigee Anda.
- Periksa status
apigeeds
:kubectl describe apigeeds -n apigee
Output Anda akan terlihat seperti ini:
Status: Cassandra Data Replication: Cassandra Pod Ips: 10.8.2.204 Cassandra Ready Replicas: 1 Components: Cassandra: Last Successfully Released Version: Revision: v1-f8aa9a82b9f69613 Version: v1 Replicas: Available: 1 Ready: 1 Total: 1 Updated: 1 State: running Scaling: In Progress: false Operation: Requested Replicas: 0 State: running
Lanjutkan ke langkah berikutnya hanya jika pod
apigeeds
sedang berjalan. - Jalankan perintah berikut untuk mencatat nilai jumlah replika baru Anda untuk
pemroses pesan setelah upgrade. Jika nilai ini tidak cocok dengan yang telah Anda tetapkan
sebelumnya, ubah nilai dalam file penggantian agar cocok dengan konfigurasi
sebelumnya.
apigeectl apply -f ORIGINAL_OVERRIDES_FILE --dry-run=client --print-yaml --env ENV_NAME 2>/dev/null |grep "runtime:" -A 25 -B 1| grep "autoScaler" -A 2
Output Anda akan terlihat seperti ini:
autoScaler: minReplicas: 2 maxReplicas: 10
- Jalankan
apigeectl init
:$APIGEECTL_HOME
/apigeectl init -f ORIGINAL_OVERRIDES_FILE
- Di direktori hybrid-files, jalankan