Ringkasan upgrade ke versi 1.7.6.
Prosedur untuk mengupgrade Apigee hybrid diatur dalam bagian berikut:
- Bersiap untuk mengupgrade ke versi 1.7.
- Instal runtime campuran versi 1.7.6.
- Upgrade cert-manager.
- Upgrade ASM.
Prasyarat
Petunjuk upgrade ini mengasumsikan bahwa Anda telah menginstal Apigee hybrid versi 1.6.x atau rilis patch versi 1.7.x sebelumnya dan ingin mengupgradenya ke versi 1.7.6. Jika Anda mengupdate dari versi sebelumnya, lihat petunjuk untuk Mengupgrade Apigee hybrid ke versi 1.6.
Bersiap untuk mengupgrade ke versi 1.7
Mencadangkan penginstalan hybrid
- Petunjuk ini menggunakan variabel lingkungan
$APIGEECTL_HOME
untuk direktori dalam sistem file tempat utilitasapigeectl
diinstal. Jika perlu,cd
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%
- (Direkomendasikan) Buat salinan cadangan direktori
$APIGEECTL_HOME/
versi 1.6. Contoh:tar -czvf $APIGEECTL_HOME/../apigeectl-v1.6-backup.tar.gz $APIGEECTL_HOME
- (Direkomendasikan) Cadangkan database Cassandra Anda dengan mengikuti petunjuk di Pencadangan dan pemulihan Cassandra
Mengupgrade versi Kubernetes
Upgrade platform Kubernetes Anda ke versi yang didukung oleh hybrid 1.7. Ikuti dokumentasi platform Anda jika Anda memerlukan bantuan.
Tambahkan peran Cloud Trace Agent ke akun layanan apigee-runtime
Opsional: Jika Anda berencana menggunakan Cloud Trace, pastikan akun layanan apigee-runtime
Anda memiliki peran Google Cloud Trace Agent (roles/cloudtrace.agent
). Anda dapat melakukannya di UI
Konsol Cloud > IAM
& Admin > Service accounts atau dengan perintah berikut:
- Dapatkan alamat email untuk akun layanan
apigee-runtime
Anda dengan perintah berikut:gcloud iam service-accounts list --filter "apigee-runtime"
Jika cocok dengan pola
apigee-runtime@$ORG_NAME.iam.gserviceaccount.com
, Anda dapat menggunakan pola tersebut di langkah berikutnya. - Tetapkan peran Cloud Trace Agent ke akun layanan:
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:apigee-runtime@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/cloudtrace.agent"
Dengan: $PROJECT_ID adalah nama project Google Cloud tempat Apigee hybrid diinstal.
Ganti properti metrics:stackdriverExporter
dalam penggantian Anda.
Mulai Hybrid versi 1.7, metrics:stackdriverExporter
telah diganti dengan
metrics:appStackdriverExporter
dan metrics:proxyStackdriverExporter
.
Ganti properti tersebut dengan properti yang setara. Misalnya, ganti:
metrics: ... ... stackdriverExporter: resources: limits: cpu: 500m memory: 1Gi requests: cpu: 128m memory: 512Mi
with:
metrics: ... ... appStackdriverExporter: resources: limits: cpu: 500m memory: 1Gi requests: cpu: 128m memory: 512Mi proxyStackdriverExporter: resources: limits: cpu: 500m memory: 1Gi requests: cpu: 128m memory: 512Mi
Lihat Referensi properti konfigurasi: metrik
Menginstal runtime hybrid 1.7.6
-
Simpan nomor versi terbaru dalam variabel menggunakan perintah berikut:
Linux
export VERSION=$(curl -s \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)
Mac OS
export VERSION=$(curl -s \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt)
Windows
for /f "tokens=*" %a in ('curl -s ^ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt') ^ do set VERSION=%a
-
Pastikan variabel diisi dengan nomor versi menggunakan perintah berikut. Jika
ingin menggunakan versi lain, Anda dapat menyimpannya dalam variabel lingkungan.
echo $VERSION
1.7.6
- 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/$VERSION/apigeectl_linux_64.tar.gz
Mac OS
Mac 64-bit:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_64.tar.gz
Windows
Windows 64-bit:
curl -LO ^ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/%VERSION%/apigeectl_windows_64.zip
- Ubah nama direktori
apigeectl/
Anda saat ini menjadi nama direktori cadangan. Misalnya:Linux
mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.6/
Mac OS
mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.6/
Windows
rename %APIGEECTL_HOME% %APIGEECTL_HOME%-v1.6
-
Ekstrak konten file gzip yang didownload ke direktori dasar campuran Anda. Direktori dasar campuran adalah direktori tempat direktori
apigeectl-v1.6
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.7.6-d591b23_linux_64
. Ganti nama direktori tersebut menjadiapigeectl
menggunakan perintah berikut:Linux
mv directory-name-linux apigeectl
Mac OS
mv directory-name-mac apigeectl
Windows
rename directory-name-windows apigeectl
-
Ubah ke direktori
apigeectl
:cd ./apigeectl
File yang dapat dieksekusi
apigeectl
ada di direktori ini. - Petunjuk ini menggunakan variabel lingkungan
$APIGEECTL_HOME
untuk direktori dalam sistem file tempat utilitasapigeectl
diinstal. Jika perlu,cd
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.7.6
- Pindah ke direktori
hybrid-base-directory/hybrid-files
. Direktorihybrid-files
adalah tempat file konfigurasi seperti file penggantian, sertifikat, dan akun layanan berada. Contoh: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
- Lakukan inisialisasi uji coba untuk memeriksa error:
${APIGEECTL_HOME}/apigeectl init -f ./overrides/OVERRIDES.yaml --dry-run=client
Dengan OVERRIDES adalah nama file penggantian Anda.
- Jika tidak ada error, lakukan inisialisasi hybrid 1.7.6:
${APIGEECTL_HOME}/apigeectl init -f ./overrides/OVERRIDES.yaml
- Periksa status inisialisasi:
${APIGEECTL_HOME}/apigeectl check-ready -f ./overrides/OVERRIDES.yaml
- Periksa error dengan uji coba perintah
apply
:${APIGEECTL_HOME}/apigeectl apply -f ./overrides/OVERRIDES.yaml --dry-run=client
- Jika tidak ada error, terapkan penggantian Anda. Pilih dan ikuti petunjuk untuk lingkungan produksi atau
lingkungan demo/eksperimental, bergantung pada penginstalan Anda.
Produksi
Untuk lingkungan produksi, Anda harus mengupgrade setiap komponen campuran satu per satu, dan memeriksa 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/OVERRIDES.yaml --datastore
- Pemeriksaan selesai:
${APIGEECTL_HOME}/apigeectl check-ready -f ./overrides/OVERRIDES.yaml
Lanjutkan ke langkah berikutnya hanya jika pod sudah siap.
- Terapkan penggantian untuk mengupgrade komponen Telemetri dan periksa penyelesaiannya:
${APIGEECTL_HOME}/apigeectl apply -f ./overrides/OVERRIDES.yaml --telemetry
${APIGEECTL_HOME}/apigeectl check-ready -f ./overrides/OVERRIDES.yaml
- Tampilkan komponen Redis:
${APIGEECTL_HOME}/apigeectl apply -f ./overrides/OVERRIDES.yaml --redis
- Terapkan penggantian untuk mengupgrade komponen tingkat organisasi (MART, Watcher, dan Apigee
Connect) dan periksa penyelesaiannya:
${APIGEECTL_HOME}/apigeectl apply -f ./overrides/OVERRIDES.yaml --org
${APIGEECTL_HOME}/apigeectl check-ready -f ./overrides/OVERRIDES.yaml
- 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/OVERRIDES.yaml --env ENV_NAME
${APIGEECTL_HOME}/apigeectl check-ready -f ./overrides/OVERRIDES.yaml
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/OVERRIDES.yaml --all-envs
${APIGEECTL_HOME}/apigeectl check-ready -f ./overrides/OVERRIDES.yaml
- Lingkungan demi lingkungan: Terapkan penggantian Anda ke satu lingkungan pada satu waktu dan periksa penyelesaiannya. Ulangi
langkah ini untuk setiap lingkungan:
Demo/Eksperimental
Di sebagian besar lingkungan demo atau eksperimental, Anda dapat menerapkan penggantian ke semua komponen sekaligus. Jika lingkungan demo/eksperimental Anda besar dan kompleks atau meniru lingkungan produksi dengan cermat, sebaiknya gunakan petunjuk untuk mengupgrade lingkungan produksi
- Pastikan Anda berada di direktori
hybrid-files
. ${APIGEECTL_HOME}/apigeectl apply -f ./overrides/OVERRIDES.yaml
- Periksa statusnya:
${APIGEECTL_HOME}/apigeectl check-ready -f ./overrides/OVERRIDES.yaml
- Pastikan Anda berada di direktori
-
Perbarui link simbolis berikut ke
Mengupgrade cert-manager ke versi v1.7.2
Jika menjalankan versi cert-manager
sebelum
v1.7.2, Anda harus mengupgradenya ke v1.7.2.
-
Periksa versi
cert-manager
saat ini menggunakan perintah berikut:kubectl -n cert-manager get deployment -o yaml | grep 'image:'
Sesuatu yang mirip dengan berikut ini akan ditampilkan:
image: quay.io/jetstack/cert-manager-controller:v1.7.2 image: quay.io/jetstack/cert-manager-cainjector:v1.7.2 image: quay.io/jetstack/cert-manager-webhook:v1.7.2
-
Hapus deployment menggunakan perintah berikut:
$ kubectl delete -n cert-manager deployment cert-manager cert-manager-cainjector cert-manager-webhook
-
Upgrade
cert-manager
ke versi v1.7.2 menggunakan perintah berikut:$ kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.7.2/cert-manager.yaml
Mengupgrade ASM ke versi 1.12
Lakukan upgrade menggunakan dokumentasi ASM yang sesuai untuk platform Anda:
Petunjuk untuk menginstal dan mengonfigurasi ASM berbeda-beda, bergantung pada platform Anda. Platform dibagi menjadi kategori berikut:
- GKE: Cluster Google Kubernetes Engine yang berjalan di Google Cloud.
- Di luar Google Cloud: Cluster Anthos yang berjalan di:
- Cluster Anthos di VMware (GKE on-prem)
- Anthos on bare metal
- Cluster Anthos di AWS
- Amazon EKS
- Platform Kubernetes Lainnya: Cluster yang sesuai dibuat dan berjalan di:
- AKS
- EKS
- OpenShift
GKE
Urutan untuk mengupgrade ke ASM versi 1.12.9 untuk penginstalan campuran Anda adalah sebagai berikut:
- Bersiaplah untuk upgrade.
- Instal ASM versi baru.
- Hapus deployment, layanan, dan webhook versi ASM sebelumnya dari penginstalan Anda saat ini.
- Upgrade gateway dan konfigurasikan webhook baru.
Untuk mengupgrade ke ASM versi 1.12.9 untuk hybrid di GKE:
- Tinjau persyaratan di Mengupgrade Anthos Service Mesh, tetapi jangan lakukan upgrade terlebih dahulu.
- Sebelum menginstal versi baru, tentukan revisi saat ini. Anda memerlukan informasi ini untuk menghapus deployment, layanan, dan webhook versi ASM sebelumnya dari penginstalan saat ini. Gunakan perintah berikut untuk menyimpan revisi istiod saat ini ke variabel lingkungan:
export DELETE_REV=$(kubectl get deploy -n istio-system -l app=istiod -o jsonpath={.items[].metadata.labels.'istio\.io\/rev'}'{"\n"}') echo ${DELETE_REV}
- Buat file
overlay.yaml
baru atau pastikan bahwaoverlay.yaml
yang ada berisi konten berikut:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: revision: asm-1129-3 components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: nodeSelector: # default node selector, if different or not using node selectors, change accordingly. cloud.google.com/gke-nodepool: apigee-runtime resources: requests: cpu: 1000m service: type: LoadBalancer loadBalancerIP: STATIC_IP # If you do not have a reserved static IP, leave this out. ports: - name: http-status-port port: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443 meshConfig: accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
- Ikuti petunjuk di bagian berikut dalam dokumentasi ASM:
- Download asmcli
- Memberikan izin admin cluster
- Memvalidasi project dan cluster
- Upgrade dengan fitur opsional. Berhenti sebelum memulai bagian "Upgrade Gateway"
- Hapus webhook yang mengubah dan webhook yang memvalidasi:
cd
ke dalam direktori tempat Anda menginstalasmcli
.- Simpan revisi baru saat ini dalam variabel lingkungan untuk digunakan dalam skrip
guna menghapus webhook:
UPGRADE_REV="asm-1129-3"
- buat skrip shell yang berisi perintah berikut:
#!/bin/bash set -ex PROJECT_ID="YOUR_PROJECT_ID" CLUSTER_NAME="YOUR_CLUSTER_NAME" CLUSTER_LOCATION="YOUR_CLUSTER_LOCATION" kubectl label namespace istio-system istio.io/rev=${UPGRADE_REV} istio-injection- --overwrite kubectl rollout restart deployment -n istio-system kubectl apply -n istio-system -f PATH_TO_INGRESSGATEWAYistio-ingressgateway kubectl apply -n istio-system -f PATH_TO_INGRESSGATEWAY/istio-ingressgateway-connectors if [[ "${DELETE_REV}" != "${UPGRADE_REV}" ]]; then kubectl apply -f out/asm/istio/istiod-service.yaml kubectl delete deploy -l app=istio-ingressgateway,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete deploy -l app=istio-ingressgateway-connectors,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete ValidatingWebhookConfiguration -l app=istiod,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete MutatingWebhookConfiguration -l app=sidecar-injector,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete Service,Deployment,HorizontalPodAutoscaler,PodDisruptionBudget istiod-${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete IstioOperator installed-state-${DELETE_REV} -n istio-system --ignore-not-found=true fi
- Jalankan skrip untuk menghapus webhook saat ini.
- Ikuti langkah-langkah di Mengupgrade gateway untuk membuat webhook baru dan mengalihkan traffic ke gateway baru.
Di luar Google Cloud
Petunjuk ini mencakup upgrade ASM di:
- Cluster Anthos di VMware (GKE on-prem)
- Anthos on bare metal
- Cluster Anthos di AWS
- Amazon EKS
Urutan untuk mengupgrade ke ASM versi 1.12.9 untuk penginstalan campuran Anda adalah sebagai berikut:
- Bersiaplah untuk upgrade.
- Instal ASM versi baru.
- Hapus deployment, layanan, dan webhook versi ASM sebelumnya dari penginstalan Anda saat ini.
- Upgrade gateway dan konfigurasikan webhook baru.
- Tinjau persyaratan di Mengupgrade Anthos Service Mesh, tetapi jangan lakukan upgrade terlebih dahulu.
- Sebelum menginstal versi baru, tentukan revisi saat ini. Anda memerlukan informasi ini untuk menghapus webhook validasi dan webhook mutasi dari penginstalan ASM saat ini. Gunakan perintah berikut untuk menyimpan revisi istiod saat ini ke variabel lingkungan:
export DELETE_REV=$(kubectl get deploy -n istio-system -l app=istiod -o jsonpath={.items[].metadata.labels.'istio\.io\/rev'}'{"\n"}') echo ${DELETE_REV}
- Buat file
overlay.yaml
baru atau pastikan bahwaoverlay.yaml
yang ada berisi konten berikut:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: revision: asm-1129-3 components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: nodeSelector: # default node selector, if different or not using node selectors, change accordingly. cloud.google.com/gke-nodepool: apigee-runtime resources: requests: cpu: 1000m service: type: LoadBalancer loadBalancerIP: STATIC_IP # If you do not have a reserved static IP, leave this out. ports: - name: http-status-port port: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443 values: gateways: istio-ingressgateway: runAsRoot: true meshConfig: accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
- Ikuti petunjuk di bagian berikut dalam dokumentasi ASM:
- Download asmcli
- Memberikan izin admin cluster
- Memvalidasi project dan cluster
- Upgrade dengan fitur opsional. Berhenti sebelum memulai bagian "Upgrade Gateway"
- Hapus webhook yang mengubah dan webhook yang memvalidasi:
cd
ke dalam direktori tempat Anda menginstalasmcli
.- Simpan revisi baru saat ini dalam variabel lingkungan untuk digunakan dalam skrip
guna menghapus webhook:
UPGRADE_REV="asm-1129-3"
- buat skrip shell yang berisi perintah berikut:
#!/bin/bash set -ex PROJECT_ID="YOUR_PROJECT_ID" CLUSTER_NAME="YOUR_CLUSTER_NAME" CLUSTER_LOCATION="YOUR_CLUSTER_LOCATION" gcloud config configurations activate ${PROJECT_ID} gcloud container clusters get-credentials ${CLUSTER_NAME} --region ${CLUSTER_LOCATION} --project ${PROJECT_ID} kubectl label namespace istio-system istio.io/rev=${UPGRADE_REV} istio-injection- --overwrite kubectl rollout restart deployment -n istio-system kubectl apply -n istio-system -f PATH_TO_INGRESSGATEWAYistio-ingressgateway kubectl apply -n istio-system -f PATH_TO_INGRESSGATEWAY/istio-ingressgateway-connectors if [[ "${DELETE_REV}" != "${UPGRADE_REV}" ]]; then kubectl apply -f out/asm/istio/istiod-service.yaml kubectl delete deploy -l app=istio-ingressgateway,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete deploy -l app=istio-ingressgateway-connectors,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete ValidatingWebhookConfiguration -l app=istiod,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete MutatingWebhookConfiguration -l app=sidecar-injector,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete Service,Deployment,HorizontalPodAutoscaler,PodDisruptionBudget istiod-${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete IstioOperator installed-state-${DELETE_REV} -n istio-system --ignore-not-found=true fi
- Jalankan skrip untuk menghapus webhook saat ini.
- Ikuti langkah-langkah di Mengupgrade gateway untuk membuat webhook baru dan mengalihkan traffic ke gateway baru.
AKS / EKS
Dalam petunjuk ini, proses mengupgrade Anthos Service Mesh (ASM) versi istio-1.12.9-asm.3 di cluster yang terpasang Anthos sama dengan melakukan penginstalan baru.
Bersiap untuk menginstal Anthos Service Mesh
- Hapus webhook yang mengubah dan webhook yang memvalidasi:
cd
ke dalam direktori tempat Anda menginstalasmcli
.- Simpan revisi baru saat ini dalam variabel lingkungan untuk digunakan dalam skrip
guna menghapus webhook:
UPGRADE_REV="asm-1129-3"
- buat skrip shell yang berisi perintah berikut:
#!/bin/bash set -ex kubectl label namespace istio-system istio.io/rev=${UPGRADE_REV} istio-injection- --overwrite kubectl rollout restart deployment -n istio-system kubectl apply -n istio-system -f PATH_TO_INGRESSGATEWAYistio-ingressgateway if [[ "${DELETE_REV}" != "${UPGRADE_REV}" ]]; then kubectl apply -f out/asm/istio/istiod-service.yaml kubectl delete deploy -l app=istio-ingressgateway,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete deploy -l app=istio-ingressgateway-connectors,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete ValidatingWebhookConfiguration -l app=istiod,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete MutatingWebhookConfiguration -l app=sidecar-injector,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete Service,Deployment,HorizontalPodAutoscaler,PodDisruptionBudget istiod-${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete IstioOperator installed-state-${DELETE_REV} -n istio-system --ignore-not-found=true fi
- Jalankan skrip untuk menghapus webhook saat ini.
- Download file penginstalan Anthos Service Mesh ke direktori kerja Anda saat ini:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz
- Download file tanda tangan dan gunakan openssl untuk memverifikasi tanda tangan:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig istio-1.12.9-asm.3.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Ekstrak konten file ke lokasi mana pun pada sistem file Anda. Misalnya,
untuk mengekstrak konten ke direktori kerja saat ini:
tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz
Perintah ini membuat direktori penginstalan di direktori kerja saat ini yang bernama
istio-1.12.9-asm.3
yang berisi:- Contoh aplikasi di direktori
samples
. - Alat command line
istioctl
yang Anda gunakan untuk menginstal Anthos Service Mesh berada di direktoribin
. - Profil konfigurasi Anthos Service Mesh berada di direktori
manifests/profiles
.
- Contoh aplikasi di direktori
- Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Untuk memudahkan, tambahkan alat di direktori /bin ke PATH Anda:
export PATH=$PWD/bin:$PATH
- Download file penginstalan Anthos Service Mesh ke direktori kerja Anda saat ini:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz
- Download file tanda tangan dan gunakan openssl untuk memverifikasi tanda tangan:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature istio-1.12.9-asm.3-osx.tar.gz.1.sig istio-1.12.9-asm.3.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Ekstrak konten file ke lokasi mana pun pada sistem file Anda. Misalnya,
untuk mengekstrak konten ke direktori kerja saat ini:
tar xzf istio-1.12.9-asm.3-osx.tar.gz
Perintah ini membuat direktori penginstalan di direktori kerja saat ini yang bernama
istio-1.12.9-asm.3
yang berisi:- Contoh aplikasi di direktori
samples
. - Alat command line
istioctl
yang Anda gunakan untuk menginstal Anthos Service Mesh berada di direktoribin
. - Profil konfigurasi Anthos Service Mesh berada di direktori
manifests/profiles
.
- Contoh aplikasi di direktori
- Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Untuk memudahkan, tambahkan alat di direktori /bin ke PATH Anda:
export PATH=$PWD/bin:$PATH
- Download file penginstalan Anthos Service Mesh ke direktori kerja Anda saat ini:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip
- Download file tanda tangan dan gunakan openssl untuk memverifikasi tanda tangan:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip.1.sig
openssl dgst -verify - -signature istio-1.12.9-asm.3-win.zip.1.sig istio-1.12.9-asm.3.win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Ekstrak konten file ke lokasi mana pun pada sistem file Anda. Misalnya,
untuk mengekstrak konten ke direktori kerja saat ini:
tar xzf istio-1.12.9-asm.3-win.zip
Perintah ini membuat direktori penginstalan di direktori kerja saat ini yang bernama
istio-1.12.9-asm.3
yang berisi:- Contoh aplikasi di direktori
samples
. - Alat command line
istioctl
yang Anda gunakan untuk menginstal Anthos Service Mesh berada di direktoribin
. - Profil konfigurasi Anthos Service Mesh berada di direktori
manifests\profiles
.
- Contoh aplikasi di direktori
- Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Untuk memudahkan, tambahkan alat di direktori \bin ke PATH Anda:
set PATH=%CD%\bin:%PATH%
- Setelah ASM Istio diinstal, periksa versi
istioctl
:istioctl version
- Buat namespace bernama istio-system untuk komponen bidang kontrol:
kubectl create namespace istio-system
Linux
Mac OS
Windows
Menginstal Anthos Service Mesh
- Edit file
overlay.yaml
atau buat file baru dengan konten berikut:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: accessLogFile: /dev/stdout enableTracing: true accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}' components: - enabled: true name: istio-ingressgateway k8s: service: type: LoadBalancer ports: - name: status-port port: 15021 targetPort: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443
- Instal Anthos Service Mesh dengan
istioctl
menggunakan profilasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1129-3" \ --filename overlayfile.yaml
Output Anda akan terlihat seperti ini:
kubectl get pods -n istio-system NAME READY STATUS RESTARTS AGE istio-ingressgateway-88b6fd976-flgp2 1/1 Running 0 3m13s istio-ingressgateway-88b6fd976-p5dl9 1/1 Running 0 2m57s istiod-asm-1129-3-798ffb964-2ls88 1/1 Running 0 3m21s istiod-asm-1129-3-798ffb964-fnj8c 1/1 Running 1 3m21s
Argumen
--set revision
menambahkan label revisi dalam formatistio.io/rev=asm-1129-3
ke istiod. Label revisi digunakan oleh webhook injector sidecar otomatis untuk mengaitkan sidecar yang dimasukkan dengan revisi istiod tertentu. Untuk mengaktifkan injeksi otomatis sidecar untuk namespace, Anda harus memberi label dengan revisi yang cocok dengan label di istiod. - Pastikan penginstalan Anda selesai:
kubectl get svc -n istio-system
Output Anda akan terlihat seperti ini:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istio-ingressgateway LoadBalancer 172.200.48.52 34.74.177.168 15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP 3m35s istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 4m46s istiod-asm-1129-3 ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s
OpenShift
Dalam petunjuk ini, proses mengupgrade Anthos Service Mesh (ASM) versi istio-1.12.9-asm.3 di cluster yang terpasang Anthos sama dengan melakukan penginstalan baru.
Bersiap untuk menginstal Anthos Service Mesh
- Hapus webhook yang mengubah dan webhook yang memvalidasi:
cd
ke dalam direktori tempat Anda menginstalasmcli
.- Simpan revisi baru saat ini dalam variabel lingkungan untuk digunakan dalam skrip
guna menghapus webhook:
UPGRADE_REV="asm-1129-3"
- buat skrip shell yang berisi perintah berikut:
#!/bin/bash set -ex kubectl label namespace istio-system istio.io/rev=${UPGRADE_REV} istio-injection- --overwrite kubectl rollout restart deployment -n istio-system kubectl apply -n istio-system -f PATH_TO_INGRESSGATEWAYistio-ingressgateway kubectl apply -n istio-system -f PATH_TO_INGRESSGATEWAY/istio-ingressgateway-connectors if [[ "${DELETE_REV}" != "${UPGRADE_REV}" ]]; then kubectl apply -f out/asm/istio/istiod-service.yaml kubectl delete deploy -l app=istio-ingressgateway,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete deploy -l app=istio-ingressgateway-connectors,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete ValidatingWebhookConfiguration -l app=istiod,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete MutatingWebhookConfiguration -l app=sidecar-injector,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete Service,Deployment,HorizontalPodAutoscaler,PodDisruptionBudget istiod-${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete IstioOperator installed-state-${DELETE_REV} -n istio-system --ignore-not-found=true fi
- Jalankan skrip untuk menghapus webhook saat ini.
- Berikan batasan konteks keamanan (SCC)
anyuid
ke istio-system dengan perintah OpenShift CLI (oc
) berikut:oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- Download file penginstalan Anthos Service Mesh ke direktori kerja Anda saat ini:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz
- Download file tanda tangan dan gunakan openssl untuk memverifikasi tanda tangan:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig istio-1.12.9-asm.3.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Ekstrak konten file ke lokasi mana pun pada sistem file Anda. Misalnya,
untuk mengekstrak konten ke direktori kerja saat ini:
tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz
Perintah ini membuat direktori penginstalan di direktori kerja saat ini yang bernama
istio-1.12.9-asm.3
yang berisi:- Contoh aplikasi di direktori
samples
. - Alat command line
istioctl
yang Anda gunakan untuk menginstal Anthos Service Mesh berada di direktoribin
. - Profil konfigurasi Anthos Service Mesh berada di direktori
manifests/profiles
.
- Contoh aplikasi di direktori
- Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Untuk memudahkan, tambahkan alat di direktori /bin ke PATH Anda:
export PATH=$PWD/bin:$PATH
- Berikan batasan konteks keamanan (SCC)
anyuid
ke istio-system dengan perintah OpenShift CLI (oc
) berikut:oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- Download file penginstalan Anthos Service Mesh ke direktori kerja Anda saat ini:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz
- Download file tanda tangan dan gunakan openssl untuk memverifikasi tanda tangan:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature istio-1.12.9-asm.3-osx.tar.gz.1.sig istio-1.12.9-asm.3.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Ekstrak konten file ke lokasi mana pun pada sistem file Anda. Misalnya,
untuk mengekstrak konten ke direktori kerja saat ini:
tar xzf istio-1.12.9-asm.3-osx.tar.gz
Perintah ini membuat direktori penginstalan di direktori kerja saat ini yang bernama
istio-1.12.9-asm.3
yang berisi:- Contoh aplikasi di direktori
samples
. - Alat command line
istioctl
yang Anda gunakan untuk menginstal Anthos Service Mesh berada di direktoribin
. - Profil konfigurasi Anthos Service Mesh berada di direktori
manifests/profiles
.
- Contoh aplikasi di direktori
- Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Untuk memudahkan, tambahkan alat di direktori /bin ke PATH Anda:
export PATH=$PWD/bin:$PATH
- Berikan batasan konteks keamanan (SCC)
anyuid
ke istio-system dengan perintah OpenShift CLI (oc
) berikut:oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- Download file penginstalan Anthos Service Mesh ke direktori kerja Anda saat ini:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip
- Download file tanda tangan dan gunakan openssl untuk memverifikasi tanda tangan:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip.1.sig
openssl dgst -verify - -signature istio-1.12.9-asm.3-win.zip.1.sig istio-1.12.9-asm.3.win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Ekstrak konten file ke lokasi mana pun pada sistem file Anda. Misalnya,
untuk mengekstrak konten ke direktori kerja saat ini:
tar xzf istio-1.12.9-asm.3-win.zip
Perintah ini membuat direktori penginstalan di direktori kerja saat ini yang bernama
istio-1.12.9-asm.3
yang berisi:- Contoh aplikasi di direktori
samples
. - Alat command line
istioctl
yang Anda gunakan untuk menginstal Anthos Service Mesh berada di direktoribin
. - Profil konfigurasi Anthos Service Mesh berada di direktori
manifests\profiles
.
- Contoh aplikasi di direktori
- Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Untuk memudahkan, tambahkan alat di direktori \bin ke PATH Anda:
set PATH=%CD%\bin:%PATH%
- Setelah ASM Istio diinstal, periksa versi
istioctl
:istioctl version
- Buat namespace bernama istio-system untuk komponen bidang kontrol:
kubectl create namespace istio-system
Linux
Mac OS
Windows
Menginstal Anthos Service Mesh
- Edit file
overlay.yaml
atau buat file baru dengan konten berikut:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: accessLogFile: /dev/stdout enableTracing: true accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}' components: - enabled: true name: istio-ingressgateway k8s: service: type: LoadBalancer ports: - name: status-port port: 15021 targetPort: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443
- Instal Anthos Service Mesh dengan
istioctl
menggunakan profilasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1129-3" \ --filename overlayfile.yaml
Output Anda akan terlihat seperti ini:
kubectl get pods -n istio-system NAME READY STATUS RESTARTS AGE istio-ingressgateway-88b6fd976-flgp2 1/1 Running 0 3m13s istio-ingressgateway-88b6fd976-p5dl9 1/1 Running 0 2m57s istiod-asm-1129-3-798ffb964-2ls88 1/1 Running 0 3m21s istiod-asm-1129-3-798ffb964-fnj8c 1/1 Running 1 3m21s
Argumen
--set revision
menambahkan label revisi dalam formatistio.io/rev=1.6.11-asm.1
ke istiod. Label revisi digunakan oleh webhook injector sidecar otomatis untuk mengaitkan sidecar yang dimasukkan dengan revisi istiod tertentu. Untuk mengaktifkan injeksi otomatis sidecar untuk namespace, Anda harus memberi label dengan revisi yang cocok dengan label di istiod. - Pastikan penginstalan Anda selesai:
kubectl get svc -n istio-system
Output Anda akan terlihat seperti ini:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istio-ingressgateway LoadBalancer 172.200.48.52 34.74.177.168 15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP 3m35s istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 4m46s istiod-asm-1129-3 ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s
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_HOME}/apigeectl apply
, periksa status pod, lalu jalankan${APIGEECTL_HOME}/apigeectl init
. Pastikan untuk menggunakan file penggantian asli untuk versi yang ingin Anda rollback:- Di direktori
hybrid-files
, jalankan${APIGEECTL_HOME}/apigeectl apply
:${APIGEECTL_HOME}/apigeectl apply -f ./overrides/ORIGINAL_OVERRIDES.yaml
Dengan ORIGINAL_OVERRIDES adalah file penggantian untuk penginstalan hibrida versi sebelumnya, misalnya,
overrides1.6.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
apigeectl init
:${APIGEECTL_HOME}/apigeectl init -f ./overrides/ORIGINAL_OVERRIDES.yaml
- Di direktori