Mengupgrade 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 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
- Identifikasi direktori penginstalan dasar yang dibuat ketika Apigee Hybrid diinstal pertama kali. 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 dasar hybrid Apigee:
tar xvzf filename.tar.gz -C path-to-base-directory
cd
ke direktori dasar.-
Secara default, konten tar diperluas ke direktori dengan versi dan platform dalam namanya. Misalnya:
./apigeectl_1.2.0-f7b96a8_linux_64
. - Ganti nama direktori
apigeectl
saat ini. Misalnya, jika versi saat ini adalah 1.1.1, ganti nama direktoriapigeectl
menjadiapigeectl_1.1.1
. -
Ganti nama direktori penginstalan yang baru diekstrak menjadi
apigeectl
. Sekarang di sinilah lingkungan$APIGEECTL_HOME
mengarah.
Langkah 3: Perbarui file penggantian Anda
- Buat salinan file yang diganti, dan simpan file lama dengan hati-hati untuk berjaga-jaga jika Anda perlu melakukan roll back. Pada langkah berikut, Anda akan membuat perubahan yang diperlukan pada file penggantian sebelum menerapkannya ke cluster.
Perbarui file penggantian dengan perubahan yang dijelaskan di bawah:
Berikut adalah ringkasan perubahan konfigurasi yang harus Anda buat pada file penggantian. Contoh lengkap diberikan dalam tabel setelah ringkasan di bawah. Seperti yang akan Anda lihat, properti
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
darienvs
kevirtualhosts
. - Anda harus menambahkan stanza konfigurasi
virtualhosts.routingRules
. Propertivirtualhosts.routingRules
menggantikan propertienvs[].paths
sebelumnya. Jika adaenvs[].paths
dalam file penggantian, Anda harus menghapusnya. Untuk informasi selengkapnya tentang konfigurasi host virtual, lihat Mengonfigurasi host virtual.
Tabel di bawah menunjukkan perbedaan antara file pengganti 1.1.1 dan file versi 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 pada penginstalan versi 1.1.1, Anda harus menghapus deployment:
- 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:
- Tampilkan daftar pod:
kubectl get pods -n namespace
- Hapus pod
apigee-cps-setup
dari cluster. Gunakan nama lengkap pod, yang mencakup nama organisasi Anda, seperti yang ditampilkan dalam 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
- Bersihkan tugas yang sudah selesai untuk namespace runtime hybrid, dengan namespace adalah namespace yang ditentukan dalam file penggantian Anda, jika Anda menentukan namespace. Jika tidak, namespace default-nya
adalah
apigee
:kubectl delete job -n namespace \ $(kubectl get job -n namespace -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
- Membersihkan 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}')
- Membersihkan 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
- Jika
check-ready
membalas dengan "Semua penampung sudah siap", Anda dapat mencoba penginstalan "uji coba". Jalankan perintahapply
dengan flag--dry-run=true
. Dengan melakukan uji coba, Anda dapat memeriksa apakah ada error sebelum melakukan perubahan apa pun pada cluster:$APIGEECTL_HOME/apigeectl apply -f overrides/overrides-file.yaml --dry-run=true
-
Jika tidak ada error, Anda dapat menerapkan komponen runtime khusus Apigee 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 me-roll back upgrade sebelumnya:
- Bersihkan tugas yang sudah selesai untuk namespace runtime hybrid, dengan namespace adalah namespace yang ditentukan dalam file penggantian Anda, jika Anda menentukan namespace. Jika tidak, namespace default-nya
adalah
apigee
:kubectl delete job -n namespace \ $(kubectl get job -n namespace -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
- Membersihkan 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}')
- Membersihkan 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}')
- Menghapus 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 berisiapigeectl
versi asli. Contoh:export APIGEECTL_HOME=path-to-original-apigeectl-directory
- Di direktori utama penginstalan yang ingin Anda roll back, jalankan
apigeectl init
lalu jalankanapigeectl apply
. Pastikan untuk menggunakan file penggantian asli untuk versi yang ingin Anda roll back:$APIGEECTL_HOME
/apigeectl init -f overrides/original-overrides.yaml$APIGEECTL_HOME
/apigeectl apply -f overrides/original-overrides.yaml