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 seperti berikut. Ikuti dokumentasi platform Anda jika
Anda memerlukan bantuan:
Platform Mengupgrade 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.gzLinux 64 bit
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.2.0/apigeectl_linux_64.tar.gzMac 32 bit:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.2.0/apigeectl_mac_32.tar.gzLinux 32 bit
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.2.0/apigeectl_linux_32.tar.gz
Langkah 2: Mengonfigurasi ulang direktori penginstalan Anda
- Identifikasi direktori penginstalan dasar yang dibuat saat Apigee hybrid
diinstal pertama kali. Direktori
dasar adalah direktori tempat direktori
$APIGEEGTL_HOMEberada. 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 Apigee Hybrid:
tar xvzf filename.tar.gz -C path-to-base-directory
cdke direktori dasar.-
Konten tar secara default diekstrak ke dalam direktori dengan versi dan platform dalam namanya. Misalnya:
./apigeectl_1.2.0-f7b96a8_linux_64. - Ganti nama direktori
apigeectlsaat ini. Misalnya, jika versi saat ini adalah 1.1.1, ganti nama direktoriapigeectlmenjadiapigeectl_1.1.1. -
Ganti nama direktori penginstalan yang baru diekstrak menjadi
apigeectl. Sekarang,$APIGEECTL_HOMEmenunjuk ke lokasi ini.
Langkah 3: Perbarui file penggantian Anda
- Buat salinan file penggantian Anda, dan berhati-hatilah untuk menyimpan file lama jika Anda perlu membatalkan perubahan. Pada langkah-langkah berikut, Anda akan melakukan perubahan yang diperlukan pada file penggantian sebelum menerapkannya ke cluster.
Perbarui file penggantian Anda dengan perubahan yang dijelaskan di bawah:
Berikut adalah ringkasan perubahan konfigurasi yang harus Anda lakukan pada file penggantian. Contoh lengkap diberikan dalam tabel setelah ringkasan. Seperti yang akan Anda lihat, properti
envs[]telah berubah secara signifikan dari versi sebelumnya:- Properti
envs[].hostAliastelah dihapus dan diganti dengan properti baruvirtualhosts.hostAliases[]. - Anda harus menambahkan properti konfigurasi wajib baru
virtualhosts. - Anda harus memindahkan properti
envs[].sslCertPathdanenvs[].sslKeyPathdarienvskevirtualhosts. - Anda harus menambahkan stanza konfigurasi
virtualhosts.routingRules. Propertivirtualhosts.routingRulesmenggantikan propertienvs[].pathssebelumnya. Jika Anda memilikienvs[].pathsdi file penggantian, Anda harus menghapusnya. Untuk mengetahui informasi selengkapnya tentang konfigurasi host virtual, lihat Mengonfigurasi host virtual.
Tabel di bawah menggambarkan perbedaan antara file penggantian 1.1.1 dan file versi 1.2.0. Contoh ini dimaksudkan untuk menyoroti jenis perubahan yang perlu Anda lakukan 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 - /httpbinvirtualhosts: - 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 Anda mengaktifkan Apigee Connect di 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:
- Mencantumkan pod:
kubectl get pods -n namespace
- Hapus pod
apigee-cps-setupdari cluster. Gunakan nama lengkap pod, yang mencakup nama organisasi Anda, seperti yang ditampilkan di perintah sebelumnya. Contoh:kubectl -n namespace delete pod apigee-cps-setup-org
- Hapus pod
apigee-cps-create-userdi namespace yang sama:kubectl -n namespace delete pod apigee-cps-create-user
- Hapus tugas yang telah selesai untuk namespace runtime hybrid,
dengan namespace adalah
namespace yang ditentukan dalam file penggantian, 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}') - Hapus 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}') - Hapus tugas yang telah 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}') cdke direktori./hybrid-files:- Lakukan inisialisasi
apigeectluntuk 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-readymembalas dengan "Semua penampung sudah siap", Anda dapat mencoba penginstalan "uji coba". Jalankan perintahapplydengan flag--dry-run=true. Dengan melakukan uji coba, Anda dapat memeriksa apakah ada error sebelum perubahan dilakukan 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 ulang
check-readyuntuk menentukan kapan upgrade selesai.
Me-roll back upgrade
Ikuti langkah-langkah berikut untuk melakukan roll back upgrade sebelumnya:
- Hapus tugas yang telah selesai untuk namespace runtime hybrid,
dengan namespace adalah
namespace yang ditentukan dalam file penggantian, 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}') - Hapus 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}') - Hapus tugas yang telah 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 Apigee Operator. Operasi ini tidak akan memengaruhi
traffic runtime Anda:
kubectl -n apigee-system delete deployment apigee-controller-manager
- Ubah variabel
$APIGEECTL_HOMEagar mengarah ke direktori yang berisi versi asliapigeectl. Contoh:export APIGEECTL_HOME=path-to-original-apigeectl-directory
- Di direktori root penginstalan yang ingin Anda roll back, jalankan
apigeectl initlalu jalankanapigeectl apply. Pastikan untuk menggunakan file penggantian asli untuk versi yang ingin Anda lakukan rollback:$APIGEECTL_HOME/apigeectl init -f overrides/original-overrides.yaml$APIGEECTL_HOME/apigeectl apply -f overrides/original-overrides.yaml