升级到 1.4.4 版概览。
以下各部分介绍升级 Apigee Hybrid 的过程:
- 备份 Hybrid 安装。
- 检查您的 Kubernetes 版本,并根据需要升级。
- 升级 ASM。
- 安装 Hybrid 运行时 1.4 版。
前提条件
- Apigee Hybrid 1.3 版。如果您要从更低版本进行更新,请参阅将 Apigee Hybrid 升级到 1.3 版的说明。
升级到 1.4 版
- (推荐)创建 1.3 版
$APIGEECTL_HOME/
目录的备份副本。例如:tar -czvf $APIGEECTL_HOME/../apigeectl-v1.3-backup.tar.gz $APIGEECTL_HOME
- (推荐)按照 Cassandra 备份和恢复中的说明备份 Cassandra 数据库。
- 请按如下所示升级您的 Kubernetes 平台。如需帮助,请参阅该平台的相关文档。
平台 升级到版本 GKE 1.18.x GKE On-Prem (Anthos) 1.5.x AKS 1.18.x(使用 Anthos 关联的集群) EKS 1.18.x(使用 Anthos 关联的集群) - 将 ASM 升级到 1.6.x 版。
- 使用 ASM 文档执行升级:
- GKE On-Prem (Anthos):在本地升级 Anthos Service Mesh
- 所有其他平台:在 GKE 上升级 Anthos Service Mesh
- 指定以下入站端口,并在
istio-operator.yaml
文件中将runAsRoot
属性设置为true
… … … ports: - port: 15021 name: status-port targetPort: 15021 - port: 80 name: http2 targetPort: 80 - port: 443 name: https targetPort: 443 … … … values: gateways: istio-ingressgateway: runAsRoot: true
- 在
istio-operator.yaml
文件中创建 PeerAuthentication CR,以停用 mTLS:--- apiVersion: security.istio.io/v1beta1 kind: PeerAuthentication metadata: name: apigee-system namespace: apigee-system spec: mtls: mode: DISABLE --- apiVersion: security.istio.io/v1beta1 kind: PeerAuthentication metadata: name: user-namespace namespace: user-namespace spec: mtls: mode: DISABLE
- 按照 ASM 文档中的说明,使用
istioctl
应用这些更改:
- 使用 ASM 文档执行升级:
安装 Hybrid 1.4.4 运行时
- 将最新版本号存储在变量中:
export VERSION=$(curl -s \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)
- 检查该变量是否已填充版本号。如果要使用其他版本,您可以改为将其保存在环境变量中。例如:
echo $VERSION
1.4.4
下载适用于您的操作系统的软件包版本:
Mac 64 位:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_64.tar.gz
Linux 64 位:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_64.tar.gz
Mac 32 位:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_32.tar.gz
Linux 32 位:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_32.tar.gz
- 将当前
apigeectl/
目录重命名为备份目录名称。例如:mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.2/
-
将下载的 gzip 文件内容解压缩到 Hybrid 基本目录中。例如:
tar xvzf filename.tar.gz -C hybrid-base-directory
- 使用
cd
命令转到基本目录。 -
默认情况下,tar 内容会扩展到其名称中包含版本和平台的目录。例如
./apigeectl_1.4.4-xxx_linux_64
。将该目录重命名为apigeectl
:mv apigeectl_1.4.5-xxx_linux_64 apigeectl
- 在新的
apigeectl/
目录中,运行apigeectl init
、apigeectl apply
、apigeectl check-ready
:- 初始化 Hybrid 1.4.4:
apigeectl init -f overrides.yaml
其中,overrides.yaml 是修改后的 override.yaml 文件。
- 使用以下命令检查 Hybrid 1.4 是否已正确初始化:
apigeectl check-ready -f overrides.yaml
kubectl describe apigeeds -n apigee
输出应如下所示:
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
apigeectl
--dry-run
标志的语法取决于您运行的kubectl
的版本。检查kubectl
的版本:gcloud version
- 使用适合
kubectl
的版本的命令进行试运行,检查是否存在错误:kubectl
1.17 版及更早版本:apigeectl apply -f overrides.yaml --dry-run=true
kubectl
1.18 版及更高版本:apigeectl apply -f overrides.yaml --dry-run=client
- 应用替换文件:选择生产环境或演示/实验环境的相关说明并按照这些说明操作,具体取决于您的安装。
生产环境
对于生产环境,您应该单独升级每个 Hybrid 组件,并检查升级后的组件的状态,再继续升级下一个组件。
- 应用替换文件以升级 Cassandra:
apigeectl apply -f overrides.yaml --datastore
- 检查完成情况:
kubectl -n namespace get pods
apigeectl check-ready -f overrides.yaml
其中,namespace 是您的 Apigee Hybrid 命名空间。
仅当 Pod 准备就绪后,才继续执行下一步。
- 应用替换文件以升级遥测组件和检查完成情况:
apigeectl apply -f overrides.yaml --telemetry
kubectl -n namespace get pods
apigeectl check-ready -f overrides.yaml
- 应用替换文件以升级组织层级组件(MART、Watcher 和 Apigee Connect)并检查完成情况:
apigeectl apply -f overrides.yaml --org
kubectl -n namespace get pods
apigeectl check-ready -f overrides.yaml
- 应用替换文件以升级您的环境。您有以下两种选择:
- 对每个环境逐一应用:每次将替换文件应用于一个环境,然后检查完成情况。对每个环境重复执行此步骤:
apigeectl apply -f overrides.yaml --env env_name
kubectl -n namespace get pods
apigeectl check-ready -f overrides.yaml
其中,env_name 是您要升级的环境的名称。
- 同时应用于所有环境:将替换文件同时应用于所有环境,然后检查完成情况:
apigeectl apply -f overrides.yaml --all-envs
kubectl -n namespace get pods
apigeectl check-ready -f overrides.yaml
- 对每个环境逐一应用:每次将替换文件应用于一个环境,然后检查完成情况。对每个环境重复执行此步骤:
演示/实验环境
在大多数演示或实验环境中,您可以将替换文件同时应用于所有组件。如果您的演示/实验环境大且复杂或非常类似于生产环境,则可能需要使用升级生产环境的说明
apigeectl apply -f overrides.yaml
- 检查状态:
apigeectl check-ready -f overrides.yaml
- 应用替换文件以升级 Cassandra:
恭喜!您已成功升级到 Apigee Hybrid 1.4.4 版。
- 初始化 Hybrid 1.4.4: