Upgrade ke versi 1.2.0
Ikuti langkah-langkah berikut untuk mengupgrade Apigee Hybrid ke versi 1.2.0:
Langkah 1: Upgrade Kubernetes dan download paket rilis
- Upgrade platform Kubernetes Anda sebagai berikut. Ikuti dokumentasi platform Anda jika
Anda memerlukan bantuan:
Platform Upgrade ke versi GKE 1.14.x Anthos 1,2 AKS 1.14.x Download paket rilis untuk sistem operasi Anda:
Mac 64 bit:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.2.0/apigeectl_mac_64.tar.gz
Linux 64 bit
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.2.0/apigeectl_linux_64.tar.gz
Mac 32 bit:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.2.0/apigeectl_mac_32.tar.gz
Linux 32 bit
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.2.0/apigeectl_linux_32.tar.gz
Langkah 2: Konfigurasi ulang direktori penginstalan
- Mengidentifikasi direktori penginstalan dasar yang dibuat saat Apigee Hybrid
pertama kali diinstal. Tujuan
direktori dasar adalah direktori tempat direktori
$APIGEEGTL_HOME
berada. Dalam contoh berikut, direktori dasarnya adalah/Users/myhome/hybrid
:echo $APIGEECTL_HOME /Users/myhome/hybrid/apigeectl
-
Ekstrak konten file gzip yang didownload ke direktori hybrid base Apigee:
tar xvzf filename.tar.gz -C path-to-base-directory
cd
ke direktori dasar.-
Isi {i>tar<i} secara {i>default<i} diperluas menjadi direktori dengan versi dan platform atas namanya. Misalnya:
./apigeectl_1.2.0-f7b96a8_linux_64
. - Ganti nama direktori
apigeectl
saat ini. Misalnya, jika versi saat ini adalah 1.1.1, mengganti nama direktoriapigeectl
menjadiapigeectl_1.1.1
. -
Ganti nama direktori penginstalan yang baru diekstrak menjadi
apigeectl
. Hal ini sekarang yang ditunjuk dengan lingkungan$APIGEECTL_HOME
.
Langkah 3: Perbarui file penggantian Anda
- Buat salinan file penggantian, dan simpan file lama untuk berjaga-jaga jika Anda perlu perlu melakukan roll back. Pada langkah berikut, Anda akan membuat perubahan yang diperlukan ke file pengganti sebelum menerapkannya ke cluster.
Perbarui file penggantian dengan perubahan yang dijelaskan di bawah:
Berikut adalah ringkasan perubahan konfigurasi yang harus Anda buat pada file pengganti. Contoh lengkap diberikan pada tabel setelah ringkasan. Seperti yang akan Anda lihat,
envs[]
telah berubah secara signifikan dari versi sebelumnya:- Properti
envs[].hostAlias
telah dihapus dan diganti dengan properti baruvirtualhosts.hostAliases[]
. - Anda harus menambahkan properti konfigurasi baru yang diperlukan
virtualhosts
. - Anda harus memindahkan properti
envs[].sslCertPath
danenvs[].sslKeyPath
mulai darienvs
kevirtualhosts
. - Anda harus menambahkan stanza konfigurasi
virtualhosts.routingRules
. Propertivirtualhosts.routingRules
menggantikanenvs[].paths
sebelumnya saat ini. Jika Anda memilikienvs[].paths
dalam file penggantian, Anda harus menghapusnya. Untuk informasi lebih lanjut tentang konfigurasi {i>host<i} virtual, lihat Mengonfigurasi host virtual.
Tabel di bawah ini menggambarkan perbedaan antara file pengganti 1.1.1 dan versi File 1.2.0. Contoh ini dimaksudkan untuk menyoroti jenis perubahan yang perlu Anda buat untuk versi 1.2.0:
Konfigurasi v1.1.x Konfigurasi v1.2.0 envs: - name: test1 hostAlias: "api.example.com" sslCertPath: ./certs/fullchain.pem sslKeyPath: ./certs/privkey.pem serviceAccountPaths: synchronizer: ./sa/sync.json udca: ./sa/udca.json paths: uri: prefixes: - /orders - /items - name: test2 hostAlias: "api.example.com" sslCertPath: ./certs/fullchain.pem sslKeyPath: ./certs/privkey.pem serviceAccountPaths: synchronizer: ./sa/sync.json udca: ./sa/udca.json paths: uri: prefixes: - /v0/hello - /httpbin
virtualhosts: - name: default hostAliases: ["api.example.com"] sslCertPath: ./certs/fullchain.pem sslKeyPath: ./certs/privkey.pem routingRules: - paths: - /orders - /items env: test1 - paths: - /v0/hello - /httpbin env: test2 envs: - name: test1 serviceAccountPaths: synchronizer: ./sa/synchronizer.json udca: ./sa/udca.json - name: test2 serviceAccountPaths: synchronizer: ./sa/synchronizer.json udca: ./sa/udca.json
- Properti
Langkah 4: Terapkan upgrade ke cluster
- Jika mengaktifkan Apigee Connect dalam penginstalan versi 1.1.1, Anda harus menghapus
deployment tersebut:
- Pertama, cantumkan Deployment Apigee:
kubectl -n namespace get ad
- Hapus deployment Apigee Connect:
kubectl -n namespace delete ad apigee-connect-name
- Pertama, cantumkan Deployment Apigee:
- Buat daftar pod:
kubectl get pods -n namespace
- Hapus pod
apigee-cps-setup
dari cluster. Gunakan nama lengkap pod, yang menyertakan nama organisasi, seperti yang ditampilkan di perintah sebelumnya. Contoh:kubectl -n namespace delete pod apigee-cps-setup-org
- Hapus pod
apigee-cps-create-user
dalam namespace yang sama:kubectl -n namespace delete pod apigee-cps-create-user
- Membersihkan tugas yang telah selesai untuk namespace runtime hybrid,
dengan namespace adalah
yang ditentukan dalam file pengganti, jika Anda menentukan namespace. Jika tidak, namespace default
adalah
apigee
:kubectl delete job -n namespace \ $(kubectl get job -n namespace -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
- Bersihkan tugas yang sudah 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}')
- Bersihkan tugas yang sudah selesai untuk namespace
istio-system
:kubectl delete job -n istio-system \ $(kubectl get job -n istio-system -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
cd
ke direktori./hybrid-files
:- Lakukan inisialisasi
apigeectl
untuk versi baru:$APIGEECTL_HOME/apigeectl init -f overrides/overrides-file.yaml
- Periksa untuk menentukan kapan inisialisasi selesai:
$APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides-file.yaml
- Saat
check-ready
membalas dengan "Semua penampung sudah siap", Anda dapat mencoba "uji coba" diinstal. Jalankan perintahapply
dengan flag--dry-run=true
. Melakukan pengeringan Anda dapat memeriksa error sebelum melakukan perubahan pada cluster:$APIGEECTL_HOME/apigeectl apply -f overrides/overrides-file.yaml --dry-run=true
-
Jika tidak ada error, Anda dapat menerapkan konfigurasi
komponen runtime ke cluster:
$APIGEECTL_HOME/apigeectl apply -f overrides/overrides-file.yaml
- Jalankan kembali
check-ready
untuk menentukan kapan upgrade selesai.
Me-roll back upgrade
Ikuti langkah-langkah berikut untuk melakukan roll back upgrade sebelumnya:
- Membersihkan tugas yang telah selesai untuk namespace runtime hybrid,
dengan namespace adalah
yang ditentukan dalam file pengganti, jika Anda menentukan namespace. Jika tidak, namespace default
adalah
apigee
:kubectl delete job -n namespace \ $(kubectl get job -n namespace -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
- Bersihkan tugas yang sudah 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}')
- Bersihkan tugas yang sudah selesai untuk namespace
istio-system
:kubectl delete job -n istio-system \ $(kubectl get job -n istio-system -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
- Hapus deployment Operator Apigee. Operasi ini tidak akan berpengaruh pada
traffic runtime Anda:
kubectl -n apigee-system delete deployment apigee-controller-manager
- Ubah variabel
$APIGEECTL_HOME
agar mengarah ke direktori yang berisi versi asli versiapigeectl
. Contoh:export APIGEECTL_HOME=path-to-original-apigeectl-directory
- Di direktori root penginstalan yang ingin Anda roll back, jalankan
apigeectl init
lalu menjalankanapigeectl apply
. Pastikan untuk menggunakan file pengganti asli untuk versi yang Anda yang ingin di-roll back ke:$APIGEECTL_HOME
/apigeectl init -f overrides/original-overrides.yaml$APIGEECTL_HOME
/apigeectl apply -f overrides/original-overrides.yaml