微服务开发框架升级
请按以下顺序依次进行升级部署,请不要随意调整升级顺序。升级后可能数据库结构会发生改变,故不能进行版本回退。文档升级命令中的RELEASE NAME是在基于分步安装文档之上编写的,若你在安装时指定了其他RELEASE NAME,请以你安装时指定的RELEASE NAME为准。一键部署安装的请执行helm list命令查看RELEASE NAME。
添加Choerodon Chart仓库
helm repo add c7n https://openchart.choerodon.com.cn/choerodon/c7n/
helm repo update
升级register server
register server新增按namespace监听微服务功能,故需添加要监听的namespace作为环境变量传入。
- 升级服务
helm upgrade register-server c7n/go-register-server
-f <(helm get values register-server) \
--set env.open.REGISTER_SERVICE_NAMESPACE=choerodon-devops-prod \
--version=0.6.0
- 新增参数
参数名含义env.open.REGISTER_SERVICE_NAMESPACE仅监听的namespace,多个namespace请用逗号隔开
验证升级
- 验证命令
curl $(kubectl get svc register-server -o jsonpath="{.spec.clusterIP}" -n choerodon-devops-prod):8000/eureka/apps
- 出现以下类似信息即为成功升级
{
"name": "go-register-server",
"instance": [
{
"instanceId": "192.168.3.19:go-register-server:8000",
"hostName": "192.168.3.19",
"app": "go-register-server",
"ipAddr": "192.168.3.19",
"status": "UP",
"overriddenstatus": "UNKNOWN",
"port": {
"@enabled": true,
"$": 8000
},
"securePort": {
"@enabled": false,
"$": 443
},
"countryId": 8,
"dataCenterInfo": {
"name": "MyOwn",
"@class": "com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo"
},
"leaseInfo": {
"renewalIntervalInSecs": 10,
"durationInSecs": 90,
"registrationTimestamp": 1528201698,
"lastRenewalTimestamp": 1528201698,
"evictionTimestamp": 0,
"serviceUpTimestamp": 1528201698
},
"metadata": {
"VERSION": "0.6.0"
},
"homePageUrl": "http://192.168.3.19:8000/",
"statusPageUrl": "http://192.168.3.19:8000/info",
"healthCheckUrl": "http://192.168.3.19:8000/health",
"vipAddress": "go-register-server",
"secureVipAddress": "go-register-server",
"isCoordinatingDiscoveryServer": true,
"lastUpdatedTimestamp": 1528201698,
"lastDirtyTimestamp": 1528201698,
"actionType": "ADDED"
}
]
}
升级config server
- 升级服务
helm upgrade config-server c7n/config-server \
-f <(helm get values config-server) \
--version=0.6.0
验证升级
- 验证命令
curl -s $(kubectl get po -n choerodon-devops-prod -l choerodon.io/release=config-server -o jsonpath="{.items[0].status.podIP}"):8011/health | jq -r .status
- 出现以下类似信息即为成功升级
UP
升级manager service
- 升级服务
helm upgrade manager-service c7n/manager-service \
-f <(helm get values manager-service) \
--version=0.6.0
验证升级
- 验证命令
curl -s $(kubectl get po -n choerodon-devops-prod -l choerodon.io/release=manager-service -o jsonpath="{.items[0].status.podIP}"):8964/health | jq -r .status
- 出现以下类似信息即为成功升级
UP
升级iam service
- 升级服务
helm upgrade iam-service c7n/iam-service \
-f <(helm get values iam-service) \
--version=0.6.0
验证升级
- 验证命令
curl -s $(kubectl get po -n choerodon-devops-prod -l choerodon.io/release=iam-service -o jsonpath="{.items[0].status.podIP}"):8031/health | jq -r .status
- 出现以下类似信息即为成功升级
UP
升级api gateway
- 升级服务
helm upgrade api-gateway c7n/api-gateway \
-f <(helm get values api-gateway) \
--version=0.6.0
验证升级
- 验证命令
curl -s $(kubectl get po -n choerodon-devops-prod -l choerodon.io/release=api-gateway -o jsonpath="{.items[0].status.podIP}"):8081/health | jq -r .status
- 出现以下类似信息即为成功升级
UP
升级gateway helper
- 升级服务
helm upgrade gateway-helper c7n/gateway-helper \
-f <(helm get values gateway-helper) \
--version=0.6.0
验证升级
- 验证命令
curl -s $(kubectl get po -n choerodon-devops-prod -l choerodon.io/release=gateway-helper -o jsonpath="{.items[0].status.podIP}"):9181/health | jq -r .status
- 出现以下类似信息即为成功升级
UP
升级oauth server
oauth server添加redis作为缓存使用,所以需配置redis相关信息。搭建redis可以查阅分步安装进行安装,也可与devops server公用同一redis。
- 升级服务
helm upgrade oauth-server c7n/oauth-server \
-f <(helm get values oauth-server) \
--set env.open.SPRING_REDIS_HOST=devops-redis \
--set env.open.SPRING_REDIS_PORT=6379 \
--version=0.6.0
- 新增参数
参数名含义env.open.SPRING_REDIS_HOSTredis地址env.open.SPRING_REDIS_PORTredis端口号
验证升级
- 验证命令
curl -s $(kubectl get po -n choerodon-devops-prod -l choerodon.io/release=oauth-server -o jsonpath="{.items[0].status.podIP}"):8021/health | jq -r .status
- 出现以下类似信息即为成功升级
UP
升级event store service
- 升级服务
helm upgrade event-store-service c7n/event-store-service \
-f <(helm get values event-store-service) \
--version=0.6.0
验证升级
- 验证命令
curl -s $(kubectl get po -n choerodon-devops-prod -l choerodon.io/release=event-store-service -o jsonpath="{.items[0].status.podIP}"):9011/health | jq -r .status
- 出现以下类似信息即为成功升级
UP
升级file service
- 升级服务
helm upgrade file-service c7n/file-service \
-f <(helm get values file-service) \
--version=0.6.0
验证升级
- 验证命令
curl -s $(kubectl get po -n choerodon-devops-prod -l choerodon.io/release=file-service -o jsonpath="{.items[0].status.podIP}"):9091/health | jq -r .status
- 出现以下类似信息即为成功升级
UP
升级choerodon iam front
- 升级服务
helm upgrade choerodon-front-iam c7n/choerodon-front-iam \
-f <(helm get values choerodon-front-iam) \
--version=0.6.1
验证升级
- 验证命令
curl $(kubectl get svc choerodon-front-iam -o jsonpath="{.spec.clusterIP}" -n choerodon-devops-prod)
- 出现以下类似信息即为成功升级
<!DOCTYPE html><html><head><meta http-equiv="Content-type"content="text/html; charset=utf-8"><title>Choerodon</title><link rel="shortcut icon"href="favicon.ico"></head><body><div id="app"></div><script type="text/javascript"src="app/vendor_19e4b950.js"></script><script type="text/javascript"src="app/main_19e4b950.js"></script></body></html>
在访问搭建好的Choerodon的api,
api.example.choerodon.io/manager/swagger-ui.html
,选择iam_service
->client-controller
->创建client
- 认证请使用用户名:admin,密码:admin
- 提交以下数据,注意正式搭建时请替换以下值为真实值
{
"accessTokenValidity": 60,
"additionalInformation": "",
"authorizedGrantTypes": "implicit,client_credentials,authorization_code,refresh_token",
"autoApprove": "default",
"name": "iam",
"objectVersionNumber": 0,
"organizationId": 1,
"refreshTokenValidity": 60,
"resourceIds": "default",
"scope": "default",
"secret": "secret",
"webServerRedirectUri": "http://iam.choerodon.example.choerodon.io"
}
DevOps服务升级
升级devops service
由于标签更新,导致无法进行正常升级,请将devops-service的deployment对象的spec.selector.matchLabels调整为choerodon.io/release: devops-service,删除matchLabels其余标签。
- 删除标签
# 进行编辑
kubectl edit deployment -n choerodon-devops-prod devops-service
# 只保留choerodon.io/release: devops-service
spec:
selector:
matchLabels:
choerodon.io/release: devops-service
- 升级服务
helm upgrade devops-service c7n/devops-service \
-f <(helm get values devops-service) \
--set env.open.AGENT_REPOURL="https://openchart.choerodon.com.cn/choerodon/c7n/" \
--set env.open.AGENT_VERSION="0.6.0" \
--version=0.6.5
验证升级
- 验证命令
curl -s $(kubectl get po -n choerodon-devops-prod -l choerodon.io/release=devops-service -o jsonpath="{.items[0].status.podIP}"):8061/health | jq -r .status
- 出现以下类似信息即为成功升级
UP
升级gitlab service
- 升级服务
helm upgrade gitlab-service c7n/gitlab-service \
-f <(helm get values gitlab-service) \
--version=0.6.1
验证升级
- 验证命令
curl -s $(kubectl get po -n choerodon-devops-prod -l choerodon.io/release=gitlab-service -o jsonpath="{.items[0].status.podIP}"):8071/health | jq -r .status
- 出现以下类似信息即为成功升级
UP
升级agile service
- 升级服务
helm upgrade agile-service c7n/agile-service \
-f <(helm get values agile-service) \
--version=0.6.1
验证升级
- 验证命令
curl -s $(kubectl get po -n choerodon-devops-prod -l choerodon.io/release=agile-service -o jsonpath="{.items[0].status.podIP}"):9011/health | jq -r .status
- 出现以下类似信息即为成功升级
UP
敏捷管理部署
从Choerodon 0.6版本起添加敏捷管理支持,你可以按照敏捷管理部署文档进行部署。
升级整合前端
升级choerodon front
为支持启用域名证书,Devops服务提供的WebSocket链接协议提出到变量中,故需在变量env.open.PRO_DEVOPS_HOST添加ws协议前缀。
- 升级服务
helm upgrade choerodon-front c7n/choerodon-front \
-f <(helm get values choerodon-front) \
--set env.open.PRO_DEVOPS_HOST="ws://devops.service.example.choerodon.io" \
--version=0.6.5
验证升级
- 验证命令
curl $(kubectl get svc choerodon-front -o jsonpath="{.spec.clusterIP}" -n choerodon-devops-prod)
- 出现以下类似信息即为成功升级
<!DOCTYPE html><html><head><meta http-equiv="Content-type"content="text/html; charset=utf-8"><title>Choerodon</title><link rel="shortcut icon"href="favicon.ico"></head><body><div id="app"></div><script type="text/javascript"src="app/vendor_19e4b950.js"></script><script type="text/javascript"src="app/main_19e4b950.js"></script></body></html>
在访问搭建好的Choerodon的api,
api.example.choerodon.io/manager/swagger-ui.html
,选择iam_service
->client-controller
->创建client
- 认证请使用用户名:admin,密码:admin
- 提交以下数据,注意正式搭建时请替换以下值为真实值
{
"accessTokenValidity": 60,
"additionalInformation": "",
"authorizedGrantTypes": "implicit,client_credentials,authorization_code,refresh_token",
"autoApprove": "default",
"name": "choerodon",
"objectVersionNumber": 0,
"organizationId": 1,
"refreshTokenValidity": 60,
"resourceIds": "default",
"scope": "default",
"secret": "secret",
"webServerRedirectUri": "http://choerodon.example.choerodon.io"
}