Apollo升级
- 当前版本1.8.0,计划升级至2.0.1
一、升级原因
- 版本更新带来的新增功能和bug修复
- 修复已知版本的安全漏洞问题
二、升级说明
升级说明在release页面:https://github.com/apolloconfig/apollo/releases
升级版本:
1.8.0->1.8.1->1.8.2->1.9.0->1.9.1>2.0.0>2.0.1
三、升级步骤
备份数据库->1.8.0->1.8.1->1.8.2->1.9.0->1.9.1>1.9.2->备份数据库->2.0.0>2.0.1
1、1.8.0升级到1.8.1
1.1、备份当前各环境的数据库ApolloConfigDB、 ApolloPortalDB
1.2、拉取镜像,打tag,上传到harbor
docker pull apolloconfig/apollo-adminservice:1.9.0
docker pull apolloconfig/apollo-configservice:1.9.0
docker pull apolloconfig/apollo-portal:1.9.0
docker tag apolloconfig/apollo-adminservice:1.9.0 harbor.com/tools/apollo:adminservice-1.9.0
docker tag apolloconfig/apollo-configservice:1.9.0 harbor.com/tools/apollo:configservice-1.9.0
docker tag apolloconfig/apollo-portal:1.9.0 harbor.com/tools/apollo:portal-1.9.0
docker push harbor.com/tools/apollo:adminservice-1.9.0
docker push harbor.com/tools/apollo:portal-1.9.0
docker push harbor.com/tools/apollo:configservice-1.9.0
1.3、替换对应版本镜像,重启deployment
# 1、修改测试环境deployment镜像版本,重启生效
kubectl edit deployments.apps -n k8s-test apollo-service-apollo-configservice
kubectl edit deployments.apps -n k8s-test apollo-service-apollo-adminservice
# 2、修改stg环境deployment镜像版本
kubectl edit deployments.apps -n k8s-stg apollo-service-apollo-configservice
kubectl edit deployments.apps -n k8s-stg apollo-service-apollo-adminservice
# 3、修改生产环境deployment镜像版本
kubectl edit deployments.apps -n k8s-prd apollo-service-apollo-configservice
kubectl edit deployments.apps -n k8s-prd apollo-service-apollo-adminservice
# 4、升级portal
kubectl edit deployments.apps -n k8s-stg apollo-portal
2、1.8.1升级到1.8.2
2.1、拉取镜像,打tag,上传到harbor
docker pull apolloconfig/apollo-adminservice:1.9.0
docker pull apolloconfig/apollo-configservice:1.9.0
docker pull apolloconfig/apollo-portal:1.9.0
docker tag apolloconfig/apollo-adminservice:1.9.0 harbor.com/tools/apollo:adminservice-1.9.0
docker tag apolloconfig/apollo-configservice:1.9.0 harbor.com/tools/apollo:configservice-1.9.0
docker tag apolloconfig/apollo-portal:1.9.0 harbor.com/tools/apollo:portal-1.9.0
docker push harbor.com/tools/apollo:adminservice-1.9.0
docker push harbor.com/tools/apollo:portal-1.9.0
docker push harbor.com/tools/apollo:configservice-1.9.0
2.2、替换对应版本镜像,重启deployment
# 1、修改测试环境deployment镜像版本,重启生效
kubectl edit deployments.apps -n k8s-test apollo-service-apollo-configservice
kubectl edit deployments.apps -n k8s-test apollo-service-apollo-adminservice
# 2、修改stg环境deployment镜像版本
kubectl edit deployments.apps -n k8s-stg apollo-service-apollo-configservice
kubectl edit deployments.apps -n k8s-stg apollo-service-apollo-adminservice
# 3、修改生产环境deployment镜像版本
kubectl edit deployments.apps -n k8s-prd apollo-service-apollo-configservice
kubectl edit deployments.apps -n k8s-prd apollo-service-apollo-adminservice
# 4、升级portal
kubectl edit deployments.apps -n k8s-stg apollo-portal
3、1.8.2升级到1.9.0
3.1、执行升级sql
#Apply apolloconfigdb-v180-v190.sql to ApolloConfigDB
https://github.com/ctripcorp/apollo/blob/master/scripts/sql/delta/v180-v190/apolloconfigdb-v180-v190.sql
#Apply apolloportaldb-v180-v190.sql to ApolloPortalDB
https://github.com/ctripcorp/apollo/blob/master/scripts/sql/delta/v180-v190/apolloportaldb-v180-v190.sql
3.2、拉取镜像,打tag,上传到harbor
docker pull apolloconfig/apollo-adminservice:1.9.0
docker pull apolloconfig/apollo-configservice:1.9.0
docker pull apolloconfig/apollo-portal:1.9.0
docker tag apolloconfig/apollo-adminservice:1.9.0 harbor.com/tools/apollo:adminservice-1.9.0
docker tag apolloconfig/apollo-configservice:1.9.0 harbor.com/tools/apollo:configservice-1.9.0
docker tag apolloconfig/apollo-portal:1.9.0 harbor.com/tools/apollo:portal-1.9.0
docker push harbor.com/tools/apollo:adminservice-1.9.0
docker push harbor.com/tools/apollo:portal-1.9.0
docker push harbor.com/tools/apollo:configservice-1.9.0
3.3、替换对应版本镜像,重启deployment
# 1、修改测试环境deployment镜像版本,重启生效
kubectl edit deployments.apps -n k8s-test apollo-service-apollo-configservice
kubectl edit deployments.apps -n k8s-test apollo-service-apollo-adminservice
# 2、修改stg环境deployment镜像版本
kubectl edit deployments.apps -n k8s-stg apollo-service-apollo-configservice
kubectl edit deployments.apps -n k8s-stg apollo-service-apollo-adminservice
# 3、修改生产环境deployment镜像版本
kubectl edit deployments.apps -n k8s-prd apollo-service-apollo-configservice
kubectl edit deployments.apps -n k8s-prd apollo-service-apollo-adminservice
# 4、升级portal
kubectl edit deployments.apps -n k8s-stg apollo-portal
4、1.9.0升级到1.9.1
4.1、拉取镜像,打tag,上传到harbor
docker pull apolloconfig/apollo-adminservice:1.9.1
docker pull apolloconfig/apollo-configservice:1.9.1
docker pull apolloconfig/apollo-portal:1.9.1
docker tag apolloconfig/apollo-adminservice:1.9.1 harbor.com/tools/apollo:adminservice-1.9.1
docker tag apolloconfig/apollo-configservice:1.9.1 harbor.com/tools/apollo:configservice-1.9.1
docker tag apolloconfig/apollo-portal:1.9.1 harbor.com/tools/apollo:portal-1.9.1
docker push harbor.com/tools/apollo:adminservice-1.9.1
docker push harbor.com/tools/apollo:portal-1.9.1
docker push harbor.com/tools/apollo:configservice-1.9.1
4.2、替换对应版本镜像,重启deployment
# 1、修改测试环境deployment镜像版本,重启生效
kubectl edit deployments.apps -n k8s-test apollo-service-apollo-configservice
kubectl edit deployments.apps -n k8s-test apollo-service-apollo-adminservice
# 2、修改stg环境deployment镜像版本
kubectl edit deployments.apps -n k8s-stg apollo-service-apollo-configservice
kubectl edit deployments.apps -n k8s-stg apollo-service-apollo-adminservice
# 3、修改生产环境deployment镜像版本
kubectl edit deployments.apps -n k8s-prd apollo-service-apollo-configservice
kubectl edit deployments.apps -n k8s-prd apollo-service-apollo-adminservice
# 4、升级portal
kubectl edit deployments.apps -n k8s-stg apollo-portal
5、1.9.1升级到1.9.2
5.1、拉取镜像,打tag,上传到harbor
docker pull apolloconfig/apollo-adminservice:1.9.2
docker pull apolloconfig/apollo-configservice:1.9.2
docker pull apolloconfig/apollo-portal:1.9.2
docker tag apolloconfig/apollo-adminservice:1.9.2 harbor.com/tools/apollo:adminservice-1.9.2
docker tag apolloconfig/apollo-configservice:1.9.2 harbor.com/tools/apollo:configservice-1.9.2
docker tag apolloconfig/apollo-portal:1.9.2 harbor.com/tools/apollo:portal-1.9.2
docker push harbor.com/tools/apollo:adminservice-1.9.2
docker push harbor.com/tools/apollo:portal-1.9.2
docker push harbor.com/tools/apollo:configservice-1.9.2
5.2、替换对应版本镜像,重启deployment
# 1、修改测试环境deployment镜像版本,重启生效
kubectl edit deployments.apps -n k8s-test apollo-service-apollo-configservice
kubectl edit deployments.apps -n k8s-test apollo-service-apollo-adminservice
# 2、修改stg环境deployment镜像版本
kubectl edit deployments.apps -n k8s-stg apollo-service-apollo-configservice
kubectl edit deployments.apps -n k8s-stg apollo-service-apollo-adminservice
# 3、修改生产环境deployment镜像版本
kubectl edit deployments.apps -n k8s-prd apollo-service-apollo-configservice
kubectl edit deployments.apps -n k8s-prd apollo-service-apollo-adminservice
# 4、升级portal
kubectl edit deployments.apps -n k8s-stg apollo-portal
6、1.9.2升级到2.0.0
1.9.2升级到2.0.0,github上没有说明,参照大版本升级,待验证
6.1、先备份1.9.2升级后的数据库
6.2、备份完数据库后执行升级sql
https://github.com/apolloconfig/apollo/blob/master/scripts/sql/delta/v190-v200/apolloconfigdb-v190-v200.sql
https://github.com/apolloconfig/apollo/blob/master/scripts/sql/delta/v190-v200/apolloconfigdb-v190-v200-after.sql
https://github.com/apolloconfig/apollo/blob/master/scripts/sql/delta/v190-v200/apolloportaldb-v190-v200.sql
https://github.com/apolloconfig/apollo/blob/master/scripts/sql/delta/v190-v200/apolloportaldb-v190-v200-after.sql
6.3、拉取镜像,打tag,上传到harbor
docker pull apolloconfig/apollo-adminservice:2.0.0
docker pull apolloconfig/apollo-configservice:2.0.0
docker pull apolloconfig/apollo-portal:2.0.0
docker tag apolloconfig/apollo-adminservice:2.0.0 harbor.com/tools/apollo:adminservice-2.0.0
docker tag apolloconfig/apollo-configservice:2.0.0 harbor.com/tools/apollo:configservice-2.0.0
docker tag apolloconfig/apollo-portal:2.0.0 harbor.com/tools/apollo:portal-2.0.0
docker push harbor.com/tools/apollo:adminservice-2.0.0
docker push harbor.com/tools/apollo:portal-2.0.0
docker push harbor.com/tools/apollo:configservice-2.0.0
6.4、替换对应版本镜像,重启deployment
# 1、修改测试环境deployment镜像版本,重启生效
kubectl edit deployments.apps -n k8s-test apollo-serviharbor.com/toolse-apollo-adminservice
# 4、升级portal
kubectl edit deployments.apps -n k8s-stg apollo-portal
7、2.0.0升级到2.0.1
7.1、拉取镜像,打tag,上传到harbor
docker pull apolloconfig/apollo-adminservice:2.0.1
docker pull apolloconfig/apollo-configservice:2.0.1
docker pull apolloconfig/apollo-portal:2.0.1
docker tag apolloconfig/apollo-adminservice:2.0.1 harbor.com/tools/apollo:adminservice-2.0.1
docker tag apolloconfig/apollo-configservice:2.0.1 harbor.com/tools/apollo:configservice-2.0.1
docker tag apolloconfig/apollo-portal:2.0.1 harbor.com/tools/apollo:portal-2.0.1
docker push harbor.com/tools/apollo:adminservice-2.0.1
docker push harbor.com/tools/apollo:portal-2.0.1
docker push harbor.com/tools/apollo:configservice-2.0.1
7.2、替换对应版本镜像,重启deployment
# 1、修改测试环境deployment镜像版本,重启生效
kubectl edit deployments.apps -n k8s-test apollo-service-apollo-configservice
kubectl edit deployments.apps -n k8s-test apollo-service-apollo-adminservice
# 2、修改stg环境deployment镜像版本
kubectl edit deployments.apps -n k8s-stg apollo-service-apollo-configservice
kubectl edit deployments.apps -n k8s-stg apollo-service-apollo-adminservice
# 3、修改生产环境deployment镜像版本
kubectl edit deployments.apps -n k8s-prd apollo-service-apollo-configservice
kubectl edit deployments.apps -n k8s-prd apollo-service-apollo-adminservice
# 4、升级portal
kubectl edit deployments.apps -n k8s-stg apollo-portal