miaoyun+Rancher+K8S学习与实践


业务协同平台在秒云上部署

一、基础服务部署

1.程序说明

身份认证和权限管理服务,是基于微服务开发的程序,程序有:

序号 应用名称 服务类型 服务端口 容器端口 主机端口 应用
1 mysql57 集群IP 3306 3306 32100
2 redis 主机端口 6379 6379 32101
3 nacos 主机端口 8848 8848 32102 /nacos
4 uias-gateway 主机端口 19000 19000 32103
5 uias-authentication-service 集群IP 19001 19001 n/a
6 uias-authorization-service 集群IP 19002 19002 n/a
7 uias-log-service 集群IP 19004 19004 n/a
8 uias-manager-service 集群IP 19005 19005 n/a
9 uias-web 主机端口 80 80 32104 /
10 prometheus 9090
11 mysql5.7 集群IP 3306 3306 32200
12 bcpf 主机端口 8080 8080 32201 /bcpf_front

2. nacos介绍和使用

2.1 nacos简单介

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。nacos关键特征包括:

2.2 nacos使用

1.部署好服务并登录nacos(nacos/nacos) 2.创建命名空间:uisa 以后可能会放到public的命名空间中,这样不再需要创建命名空间。 注意: 命名空间ID(不填则自动生成):此项不能采用自动生成

2.3.导入nacos配置文件

配置管理/配置列表,选择命名空间:uias,点‘导入配置’按钮 例如:E:\SVN_PublicPlatForm\trunk\0720200015-业务协同平台\02.受控库\060.发布区\BCPF2.0.20.0831(全)\docker_install\conf\nacos_config_uias_prod_1.0.0.zip 导入配置说明:

终止导入:一在初始安装时使用此项;
跳过导入:当有新版本配置文件时,此项能保持旧配置文件内容不变,增加配置文件中新内容项。
覆盖导入:以当前导入的配置文件为准,覆盖原旧的配置文件。

2.4.nacos服务管理

服务列表:查询并显示部署成功的服务,未成功的未此显示;

2.5.部署应用程序配置文件说明

部署服务在修改配置文件时,各服务之间的相互调用可以通过采用K8S程序的服务名,秒云中可以在:

域视角&项目视角/default/服务services列表中,找到对应的服务名,放进配置文件中。

或者:

域视角&项目视角/default/应用applications中,选择一服务进入修改页面,“服务与访问”页面中的`服务名称`,把服务名称复制并放入到 部署服务的配置文件中。

3.MySQL部署

可以部署在容器中,也可以部署在VM上,但在生产环境中,为了获取更好的数据库性能,建议数据库不在容器中运行。如果对于读性能要求不高,倒是可以一试。

3.1 拉取镜像配置后,环境参数如下:

MYSQL_VERSION 5.7.29-1debian9
MYSQL_MAJOR 5.7
GOSU_VERSION 1.7
PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

3.2 环境变量中添加mysql连接信息

MYSQL_ROOT_PASSWORD 310012
MYSQL_DATABASE nacos_dev
MYSQL_USER nacos
MYSQL_PASSWORD nacos
TZ Asia/Shanghai

3.3 容器端口从镜像拉取

3.4 存储卷

/opt/xtpt-data-volumes/data_mysql/init /docker-entrypoint-initdb.d
添加至configmap中 /etc/my.cnf
/xtpt_volumes/data_mysql/mysql /var/lib/mysql

3.5 mysql初始数据

/var/lib/mysql此目录初始数据来自一键部署中/opt/data/mysql/ 总文件大小约1.2G大小

3.6 执行数据库脚本nacos-mysql.sql

连接nacos_dev数据库,执行脚本nacos-mysql.sql。

4.redis部署

应用名:redis-32101 服务名:redis-32101-deploy-0-svc-0

4.1 拉取镜像配置后,环境参数如下:

REDIS_DOWNLOAD_SHA 61db74eabf6801f057fd24b590232f2f337d422280fd19486eca03be87d3a82b
REDIS_DOWNLOAD_URL http://download.redis.io/releases/redis-5.0.7.tar.gz
REDIS_VERSION 5.0.7
GOSU_VERSION 1.11
PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

4.2 容器端口

从镜像拉取

4.3 存储卷

redis.conf添加至configmap中 /etc/redis/redis.conf
/xtpt_volumes/redis/data /data

4.4 服务与访问

服务类型:主机端口 服务端口:6379------6379-----32101

5 nacos部署

5.1 拉取镜像配置后,环境参数如下:

TIME_ZONE Asia/Shanghai
TOMCAT_ACCESSLOG_ENABLED false
JVM_MMS 320m
JVM_MS 128m
JVM_XMN 1g
JVM_XMX 2g
JVM_XMS 2g
JAVA /usr/lib/jvm/java-1.8.0-openjdk/bin/java
NACOS_USER nacos
JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk
FUNCTION_MODE all
CLUSTER_CONF /home/nacos/conf/cluster.conf
CLASSPATH .:/home/nacos/conf:
BASE_DIR /home/nacos
PREFER_HOST_MODE hostname
MODE standalone
PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
SPRING_DATASOURCE_PLATFORM mysql

说明:NACOS_DEBUG的value变量值n,不符合yml格式要求,会导致K8S容器无法启动,删除此项。

5.2 环境变量中添加参数

MYSQL_SERVICE_HOST 172.16.7.69
MYSQL_SERVICE_DB_NAME nacos_dev
MYSQL_SERVICE_PORT 23306
MYSQL_SERVICE_USER nacos
MYSQL_SERVICE_PASSWORD nacos

上述配置由于配置单机mysql版本,来源standalone-mysql.yaml,把其中MASTER删去。 说明:nacos单机机使用有使用本地数据库和mysql数据库两种模式。

5.3 容器端口

从镜像拉到

5.4 存储卷

/xtpt_volumes/uias-logs/nacos /home/nacos/logs

5.5 配置文件

N/A

5.6 服务与访问

服务类型:主机端口 服务端口:8848---->32102 web应用:/nacos

二、其它服务

6.prometheus部署 (暂时不用部署)

6.1 拉取镜像配置后,环境参数如下:

PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

6.2 容器端口

从镜像拉到

6.3 存储卷

N/A

6.4 配置文件

N/A

6.5服务与访问

主机端口,9090

7.uias-gateway部署

7.1 拉取镜像配置后,环境变量中添加如下参数:

TZ Asia/Shanghai

7.2 容器端口

镜像拉取:N/A

7.3 存储卷

/xtpt_volumes/uias-logs /opt/uias-gateway/logs
配置文件添加configmap中 /opt/uias-gateway/config/bootstrap.yml

7.4 配置文件

添加配置bootstrap.yml

7.5 服务与访问

服务类型:主机IP 服务端口: 19000-----19000-----32103 web应用: n/a

8.uias-manager-service部署

8.1 拉取镜像配置后,环境变量中添加如下参数:

TZ Asia/Shanghai
REGISTER_HOST 172.16.7.69
REGISTER_PORT 8848

8.2 容器端口

镜像拉取:N/A

8.3 存储卷

/xtpt_volumes/uias-logs /opt/uias-manager-service/logs
配置文件添加configmap中 /opt/uias-manager-service/config/bootstrap.yml

8.4 配置文件

添加配置bootstrap.yml

8.5 服务与访问

服务类型:集群IP 服务端口: 19005------19005 web应用:n/a

9.uias-log-service部署

8.1 拉取镜像配置后,环境变量中添加如下参数:

TZ Asia/Shanghai

9.2 容器端口

镜像拉取:N/A

9.3 存储卷

/xtpt_volumes/uias-logs /opt/uias-log-service/logs
配置文件添加configmap中 /opt/uias-log-service/config/bootstrap.yml

9.4 配置文件

添加配置bootstrap.yml

9.5 服务与访问

服务类型:集群IP 服务端口:19004-19004 web应用:n/a

10.uias-authentication-service部署

10.1 拉取镜像配置后,环境变量中添加如下参数:

TZ Asia/Shanghai

10.2 容器端口

镜像拉取:N/A

10.3 存储卷

/xtpt_volumes/uias-logs /opt/uias-authentication-service/logs
配置文件添加configmap中 /opt/uias-authentication-service/config/bootstrap.yml

10.4 配置文件

添加配置bootstrap.yml

10.5 服务与访问

服务类型:集群IP 服务端口: 19001------19001 web应用:n/a

11.uias-authorization-service部署

11.1 拉取镜像配置后,环境变量中添加如下参数:

TZ Asia/Shanghai

11.2 容器端口

镜像拉取:N/A

11.3 存储卷

/xtpt_volumes/uias-logs /opt/uias-authorization-service/logs
配置文件添加configmap中 /opt/uias-authorization-service/config/bootstrap.yml

11.4 配置文件

添加配置bootstrap.yml

11.5 服务与访问

服务类型:集群IP 服务端口:19002------19002 web应用:n/a

12.uias-web部署

12.1 拉取镜像配置后,环境变量中添加如下参数:

TZ Asia/Shanghai

12.2 容器端口

镜像拉取:N/A

12.3 存储卷

/xtpt_volumes/uias-logs /var/log/nginx
配置文件添加configmap中 /etc/nginx/conf.d/default.conf

说明:配置文件E:\SVN_PublicPlatForm\trunk\0720200015-业务协同平台\02.受控库\060.发布区\BCPF2.0.20.0831(全)\docker_install\conf\nginx.conf 需改名为:default.conf

12.4 配置文件

添加配置default.conf

12.5 服务与访问

服务类型:主机端口 服务端口:80------80------32104 web应用:/

13.bcpf部署

13.1 拉取镜像配置后,环境变量中添加如下参数:

TZ Asia/Shanghai

13.2 容器端口

镜像拉取:N/A 配置文件端口=服务端口

13.3 存储卷

/xtpt_volumes/bcpf/logs /home/bcpf_logs
配置文件添加configmap中 /opt/tomcat/webapps/bcpf_back/WEB-INF/classes/application.yml

web应用: /bcpf_front

13.4 配置文件

添加配置文件application.yml

13.5 服务与访问

服务类型:主机端口 服务端口:8080------8080------32201 web应用:/bcpf_front

三、其它

1.NFS文件共享服务器

服务端:172.16.3.14

[root@sxf-miaoyum-node7 xtptvol]# cat /etc/exports
/data_volumes/zyzst_volumes       192.168.30.120(rw,sync,no_subtree_check,no_root_squash)
/data_volumes/zyzst_volumes       192.168.30.121(rw,sync,no_subtree_check,no_root_squash)
/data_volumes/zyzst_volumes       192.168.30.122(rw,sync,no_subtree_check,no_root_squash)

客户端: mount -t nfs 172.16.3.14:/data_volumes/zyzst_volumes/xtpt_volumes /xtpt_volumes -o nolock,nfsvers=3,vers=3 说明: https://www.jianshu.com/p/238b2337e855 与NFS的配置有关,NFS默认是squash_all模式,但是要想使用NFS目录,将目录映射到docker容器中,必须要配置成no_root_squash模式才行,否则root用户(因为这次mysql是以root运行)无权限使用nfs的volume来映射docker容器中的目录!!!

页面列表

ITEM_HTML