目标:实现20多个微服务通过jenkins自动化部署到uat环境的机器上。
一、准备机器:开发4(10.200.1.125)、开发5(10.200.1.23)以及测试4(10.200.1.88)的总共3台机器加入华为云的业财cce集群。
二、要建一个新的命名空间单独给uat环境以上3台机器使用,通过打标签绑定,即应用指定了命名空间就会部署在对应的机器上面。
三、创建uat环境数据库实例fdp-eh-gateway-uat,把测试数据库文件导过去fdp-eh-gateway-test。
四、在开发4(10.200.1.125)部署私服nexus;部署好后把私服配置到maven的配置文件。
五、jekins部署服务:先部署fdp-parent-uat、fdp-middleware-redis-starter-uat、fdp-common-core-uat把这几个依赖的jar包打到私服里面;然后部署fdp-eh-gateway-uat,
能在指定节点的命名空间下正常运行以及能在浏览器正常访问就完成了。
六、验证网关是否OK:让网关指定部署到125机器,然后在华为云配置端口映射指向125机器的内网ip和网关服务端口,打开浏览器验证是否可以访问。
七、部署其他服务:华为云云数据库创建uat环境的用户密码,创建各个服务的数据库实例把测试的数据导入然后用户授权,让开发修改应用连接数据库的配置信息统一切换到
uat的库,jenkin配置服务流水线修改成uat的yaml文件模板,实施部署,登录华为云cce的命令行工具验证查看服务是否都正常运行到uat的命名空间下面并且在uat的机器上面。
八、华为云cce创建各服务的负载均衡实例,参照测试环境创建。
备注:
1.cce集群拉取不到镜像:(部署pod的节点没有和镜像仓库进行验证登录)
思路:因为jenkins服务器不在集群里面,本地构建好镜像以后打标签推送到华为云镜像仓库,然后cce集群访问仓库拉取镜像进行部署,所以拉取策略要用always。
解决办法:登录几个uat环境服务器,docker login登录华为云镜像仓库,然后docker pull镜像看能否拉取到本地,若能则代表OK,再通过jenkins构建一下就应该能完成部署了。