微服务开发框架部署
在此之前,应该准备好Mysql、Harbor、Gitlab、Minio,Chartmuseum这些组件的信息。按以下搭建顺序进行搭建,请不要随意调整搭建顺序。 以下验证部署是否成功如未特别说明则执行验证的环境为任意一台集群Master节点。
- 如果您的主机性能或网络较差,建议您添加额外的参数以延长超时时间
--set preJob.timeout=1000
,其中1000表示1000秒后超时。
部署成功后Choerodon平台默认登录名为admin,默认密码为Admin@123!。
添加Choerodon Chart仓库
helm repo add c7n https://openchart.choerodon.com.cn/choerodon/c7n/
helm repo update
创建数据库
编写参数配置文件
create-c7nfw-db.yaml
env:
MYSQL_HOST: c7n-mysql.c7n-system.svc
MYSQL_PORT: "3306"
MYSQL_USER: root
MYSQL_PASS: password
SQL_SCRIPT: |
CREATE USER IF NOT EXISTS 'choerodon'@'%' IDENTIFIED BY 'password';
CREATE DATABASE IF NOT EXISTS hzero_platform DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS hzero_message DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS hzero_file DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS hzero_monitor DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS hzero_admin DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS asgard_service DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON hzero_platform.* TO choerodon@'%';
GRANT ALL PRIVILEGES ON hzero_message.* TO choerodon@'%';
GRANT ALL PRIVILEGES ON hzero_file.* TO choerodon@'%';
GRANT ALL PRIVILEGES ON hzero_monitor.* TO choerodon@'%';
GRANT ALL PRIVILEGES ON hzero_admin.* TO choerodon@'%';
GRANT ALL PRIVILEGES ON asgard_service.* TO choerodon@'%';
FLUSH PRIVILEGES;
执行安装
helm upgrade --install create-c7nfw-db c7n/mysql-client \
-f create-c7nfw-db.yaml \
--create-namespace \
--version 0.1.0 \
--namespace c7n-system
部署 choerodo register
若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-register。
编写参数配置文件
choerodon-register.yaml
env:
open:
EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://choerodon-register.c7n-system:8000/eureka/
执行安装
helm upgrade --install choerodon-register c7n/choerodon-register \
-f choerodon-register.yaml \
--create-namespace \
--version 0.25.1 \
--namespace c7n-system
验证部署
- 验证命令
curl -s $(kubectl get svc choerodon-register -o jsonpath="{.spec.clusterIP}" -n c7n-system):8001/actuator/health | jq -r .status
- 出现以下类似信息即为成功部署
UP
部署 choerodon platform
若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-platform。
编写参数配置文件
choerodon-platform.yaml
preJob:
preInitDB:
datasource:
url: jdbc:mysql://c7n-mysql.c7n-system:3306/?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
username: choerodon
password: password
driver: com.mysql.jdbc.Driver
env:
open:
HZERO_PLATFORM_HTTP_PROTOCOL: http
EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://choerodon-register.c7n-system:8000/eureka/
SPRING_REDIS_HOST: c7n-redis.c7n-system
SPRING_REDIS_PORT: 6379
# 此db不可更改
SPRING_REDIS_DATABASE: 1
SPRING_DATASOURCE_URL: jdbc:mysql://c7n-mysql.c7n-system:3306/hzero_platform?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
SPRING_DATASOURCE_USERNAME: choerodon
SPRING_DATASOURCE_PASSWORD: password
HZERO_EXPORT_COREPOOLSIZE: 1
部署服务
helm upgrade --install choerodon-platform c7n/choerodon-platform \
-f choerodon-platform.yaml \
--create-namespace \
--version 0.25.1 \
--namespace c7n-system
验证部署
- 验证命令
curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=choerodon-platform -o jsonpath="{.items[0].status.podIP}"):8101/actuator/health | jq -r .status
- 出现以下类似信息即为成功部署
UP
部署 choerodon admin
若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-admin。
编写参数配置文件
choerodon-admin.yaml
preJob:
preInitDB:
datasource:
url: jdbc:mysql://c7n-mysql.c7n-system:3306/?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
username: choerodon
password: password
env:
open:
EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://choerodon-register.c7n-system:8000/eureka/
HZERO_AUTO_REFRESH_SWAGGER_ENABLE: true
# 服务启动时,是否同步父子角色权限
CHOERODON_ROLE_PERMISSION_ASYNC: false
SPRING_REDIS_HOST: c7n-redis.c7n-system
SPRING_REDIS_PORT: 6379
# 此db不可更改
SPRING_REDIS_DATABASE: 1
SPRING_DATASOURCE_URL: jdbc:mysql://c7n-mysql.c7n-system:3306/hzero_admin?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
SPRING_DATASOURCE_USERNAME: choerodon
SPRING_DATASOURCE_PASSWORD: password
部署服务
helm upgrade --install choerodon-admin c7n/choerodon-admin \
-f choerodon-admin.yaml \
--create-namespace \
--version 0.25.0 \
--namespace c7n-system
验证部署
- 验证命令
curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=choerodon-admin -o jsonpath="{.items[0].status.podIP}"):8063/actuator/health | jq -r .status
- 出现以下类似信息即为成功部署
UP
部署 choerodon iam
若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-iam。
编写参数配置文件
choerodon-iam.yaml
preJob:
preInitDB:
datasource:
url: jdbc:mysql://c7n-mysql.c7n-system.svc:3306/?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
username: choerodon
password: password
driver: com.mysql.jdbc.Driver
env:
open:
EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://choerodon-register.c7n-system:8000/eureka/
CHOERODON_GATEWAY_URL: http://api.example.choerodon.io
SPRING_REDIS_HOST: c7n-redis.c7n-system.svc
SPRING_REDIS_PORT: 6379
# 此db不可更改
SPRING_REDIS_DATABASE: 1
SPRING_DATASOURCE_URL: jdbc:mysql://c7n-mysql.c7n-system:3306/hzero_platform?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
SPRING_DATASOURCE_USERNAME: choerodon
SPRING_DATASOURCE_PASSWORD: password
HZERO_EXPORT_COREPOOLSIZE: 1
部署服务
helm upgrade --install choerodon-iam c7n/choerodon-iam \
-f choerodon-iam.yaml \
--create-namespace \
--version 0.25.7 \
--namespace c7n-system
验证部署
- 验证命令
curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=choerodon-iam -o jsonpath="{.items[0].status.podIP}"):8031/actuator/health | jq -r .status
- 出现以下类似信息即为成功部署
UP
部署 choerodon asgard
若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-asgard。
编写参数配置文件
choerodon-asgard.yaml
preJob:
preInitDB:
datasource:
url: jdbc:mysql://c7n-mysql.c7n-system:3306/?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
username: choerodon
password: password
driver: com.mysql.jdbc.Driver
env:
open:
EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://choerodon-register.c7n-system:8000/eureka/
SPRING_REDIS_HOST: c7n-redis.c7n-system.svc
SPRING_REDIS_PORT: 6379
SPRING_REDIS_DATABASE: 7
SPRING_DATASOURCE_URL: jdbc:mysql://c7n-mysql.c7n-system:3306/asgard_service?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
SPRING_DATASOURCE_USERNAME: choerodon
SPRING_DATASOURCE_PASSWORD: password
部署服务
helm upgrade --install choerodon-asgard c7n/choerodon-asgard \
-f choerodon-asgard.yaml \
--create-namespace \
--version 0.25.1 \
--namespace c7n-system
验证部署
- 验证命令
curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=choerodon-asgard -o jsonpath="{.items[0].status.podIP}"):8041/actuator/health | jq -r .status
- 出现以下类似信息即为成功部署
UP
部署 choerodon message
若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-message。
编写参数配置文件
choerodon-message.yaml
preJob:
preInitDB:
datasource:
url: jdbc:mysql://c7n-mysql.c7n-system:3306/?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
username: choerodon
password: password
env:
open:
EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://choerodon-register.c7n-system:8000/eureka/
HZERO_WEBSOCKET_OAUTHURL: http://choerodon-oauth/oauth/api/user
SPRING_REDIS_HOST: c7n-redis.c7n-system
SPRING_REDIS_PORT: 6379
# 此db不可更改
SPRING_REDIS_DATABASE: 1
SPRING_DATASOURCE_URL: jdbc:mysql://c7n-mysql.c7n-system:3306/hzero_message?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
SPRING_DATASOURCE_USERNAME: choerodon
SPRING_DATASOURCE_PASSWORD: password
ingress:
enabled: true
host: notify.example.choerodon.io
部署服务
helm upgrade --install choerodon-message c7n/choerodon-message \
-f choerodon-message.yaml \
--create-namespace \
--version 0.25.2 \
--namespace c7n-system
验证部署
- 验证命令
curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=choerodon-message -o jsonpath="{.items[0].status.podIP}"):8121/actuator/health | jq -r .status
- 出现以下类似信息即为成功部署
UP
部署 choerodon swagger
若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-swagger。
编写参数配置文件
choerodon-swagger.yaml
env:
open:
EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://choerodon-register.c7n-system:8000/eureka/
HZERO_OAUTH_URL: http://api.example.choerodon.io/oauth/oauth/authorize
SPRING_REDIS_HOST: c7n-redis.c7n-system
SPRING_REDIS_PORT: 6379
# 此db不可更改
SPRING_REDIS_DATABASE: 1
SPRING_DATASOURCE_URL: jdbc:mysql://c7n-mysql.c7n-system:3306/hzero_admin?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
SPRING_DATASOURCE_USERNAME: choerodon
SPRING_DATASOURCE_PASSWORD: password
部署服务
helm upgrade --install choerodon-swagger c7n/choerodon-swagger \
-f choerodon-swagger.yaml \
--create-namespace \
--version 0.25.0 \
--namespace c7n-system
验证部署
- 验证命令
curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=choerodon-swagger -o jsonpath="{.items[0].status.podIP}"):8051/actuator/health | jq -r .status
- 出现以下类似信息即为成功部署
UP
部署 choerodon gateway
若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-gateway。
编写参数配置文件
choerodon-gateway.yaml
env:
open:
SPRING_REDIS_HOST: c7n-redis.c7n-system
SPRING_REDIS_PORT: 6379
# 此db不可更改
SPRING_REDIS_DATABASE: 4
SPRING_DATASOURCE_URL: jdbc:mysql://c7n-mysql.c7n-system:3306/hzero_platform?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
SPRING_DATASOURCE_USERNAME: choerodon
SPRING_DATASOURCE_PASSWORD: password
EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://choerodon-register.c7n-system:8000/eureka/
ingress:
enabled: true
host: api.example.choerodon.io
部署服务
helm upgrade --install choerodon-gateway c7n/choerodon-gateway \
-f choerodon-gateway.yaml \
--create-namespace \
--version 0.25.2 \
--namespace c7n-system
验证部署
- 验证命令
curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=choerodon-gateway -o jsonpath="{.items[0].status.podIP}"):8081/actuator/health | jq -r .status
- 出现以下类似信息即为成功部署
UP
部署 choerodon oauth
若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-oauth。
编写参数配置文件
choerodon-oauth.yaml
env:
open:
# 如果使用https 该参数设置为true
HZERO_OAUTH_LOGIN_ENABLE_HTTPS: false
HZERO_OAUTH_LOGIN_SUCCESS_URL: http://app.example.choerodon.io
HZERO_OAUTH_LOGIN_DEFAULT_CLIENT_ID: choerodon
HZERO_GATEWAY_URL: http://api.example.choerodon.io
HZERO_OAUTH_BASE_URL: http://api.example.choerodon.io/oauth
EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://choerodon-register.c7n-system:8000/eureka/
SPRING_DATASOURCE_URL: jdbc:mysql://c7n-mysql.c7n-system:3306/hzero_platform?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
SPRING_DATASOURCE_USERNAME: choerodon
SPRING_DATASOURCE_PASSWORD: password
SPRING_REDIS_HOST: c7n-redis.c7n-system
SPRING_REDIS_PORT: 6379
# 此db不可更改
SPRING_REDIS_DATABASE: 3
部署服务
helm upgrade --install choerodon-oauth c7n/choerodon-oauth \
-f choerodon-oauth.yaml \
--create-namespace \
--version 0.25.5 \
--namespace c7n-system
验证部署
- 验证命令
curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=choerodon-oauth -o jsonpath="{.items[0].status.podIP}"):8021/actuator/health | jq -r .status
- 出现以下类似信息即为成功部署
UP
部署 choerodon monitor
若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-monitor。
编写参数配置文件
choerodon-monitor.yaml
preJob:
preInitDB:
datasource:
url: jdbc:mysql://c7n-mysql.c7n-system:3306/?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
username: choerodon
password: password
env:
open:
EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://choerodon-register.c7n-system:8000/eureka/
SPRING_REDIS_HOST: c7n-redis.c7n-system
SPRING_REDIS_PORT: 6379
# 此db不可更改
SPRING_REDIS_DATABASE: 1
SPRING_DATASOURCE_URL: jdbc:mysql://c7n-mysql.c7n-system:3306/hzero_monitor?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
SPRING_DATASOURCE_USERNAME: choerodon
SPRING_DATASOURCE_PASSWORD: password
部署服务
helm upgrade --install choerodon-monitor c7n/choerodon-monitor \
-f choerodon-monitor.yaml \
--create-namespace \
--version 0.25.0 \
--namespace c7n-system
验证部署
- 验证命令
curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=choerodon-monitor -o jsonpath="{.items[0].status.podIP}"):8261/actuator/health | jq -r .status
- 出现以下类似信息即为成功部署
UP
部署 choerodon file
若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-file。
编写参数配置文件
choerodon-file.yaml
preJob:
preInitDB:
datasource:
url: jdbc:mysql://c7n-mysql.c7n-system:3306/?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
username: choerodon
password: password
driver: com.mysql.jdbc.Driver
env:
open:
EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://choerodon-register.c7n-system:8000/eureka/
MINIO_ACCESSKEY: accesskey
MINIO_ENDPOINT: http://minio.example.choerodon.io
MINIO_SECRETKEY: secretkey
SPRING_DATASOURCE_URL: jdbc:mysql://c7n-mysql.c7n-system:3306/hzero_file?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
SPRING_DATASOURCE_USERNAME: choerodon
SPRING_DATASOURCE_PASSWORD: password
SPRING_REDIS_HOST: c7n-redis.c7n-system
SPRING_REDIS_PORT: 6379
# 此db不可更改
SPRING_REDIS_DATABASE: 1
SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE: 200MB
SPRING_SERVLET_MULTIPART_MAX_REQUEST_SIZE: 200MB
FILE_GATEWAY_URL: http://api.example.choerodon.io/hfle
部署服务
helm upgrade --install choerodon-file c7n/choerodon-file \
-f choerodon-file.yaml \
--create-namespace \
--version 0.25.7 \
--namespace c7n-system
验证部署
- 验证命令
curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=choerodon-file -o jsonpath="{.items[0].status.podIP}"):8111/actuator/health | jq -r .status
- 出现以下类似信息即为成功部署
UP