k8s部署高可用配置中心apollo-手动验证成功

前言在前一篇文章中简单地介绍了《5分钟通过Docker快速部署并使用apollo配置中心》,用户可以快速地了解到配置中心apollo的基本使用,如需要看上文的可以看如下链接:https://www.toutiao.com/i6914234898681299464/
但是在生产环境中我们往往需要高可用的部署配置中心,这样我们就得有k8s来进行部署 。在apollo的官方文档中有关于k8s部署的文章(https://github.com/ctripcorp/apollo/tree/master/scripts/apollo-on-kubernetes),但是在执行的过程中是会遇到一定的坑的 。包括实际部署中遇到的,镜像的制作、portal服务的多实例支持、ingress的创建都没有说到,本人在部署的过程中已经全部解决以上问题,希望可以帮到没有部署过的用户 。
部署成功页面下面是部署完成后,访问apollo的登录页面

k8s部署高可用配置中心apollo-手动验证成功

文章插图
登录页面
输入用户名密码:apollo/admin,部署环境完成portal页面图
k8s部署高可用配置中心apollo-手动验证成功

文章插图
部署完成apollo后页面
k8s的dashboard部署页面,本文部署了dev, fat, pro三个环境 。
k8s部署高可用配置中心apollo-手动验证成功

文章插图
部署环境完成k8s后dashboard图
部署过程本文在部署的时候使用了当前最新的apollo版本为:1.7.1,所以下面的所有构建也是基于当前版本的 。
一、构建镜像首先从git上下载源码,可以从github下载:https://github.com/ctripcorp/apollo;也可以从gitee下载:https://gitee.com/nobodyiam/apollo,国内的会快一点 。然后进入到目录
/scripts/apollo-on-kubernetes去构建镜像 。
 
1、 直接使用编译的的包进行安装,获取 apollo 压缩包
可以直接从官网下载,因为github实在是太慢了 。建议直接从我的百度云下载 。
A、下载比较慢,直接用我百度云
链接:https://pan.baidu.com/s/1eLL2ocYE1uzXcvzO2Y3dNg
提取码:nfvm
B、从 https://github.com/ctripcorp/apollo/releases 下载预先打好的 JAVA 包
(1)进入scripts/apollo-on-kubernetes/执行 wget https://github.com/ctripcorp/apollo/releases/download/v1.7.1/apollo-portal-1.7.1-github.zip(2)进入scripts/apollo-on-kubernetes/执行 wget https://github.com/ctripcorp/apollo/releases/download/v1.7.1/apollo-adminservice-1.7.1-github.zip(3)进入scripts/apollo-on-kubernetes/执行 wget https://github.com/ctripcorp/apollo/releases/download/v1.7.1/apollo-configservice-1.7.1-github.zip2、解压压缩包, 获取程序 jar 包
不要忘记重命名,把版本号去掉 。
解压 apollo-portal-1.7.1-github.zip获取 apollo-portal-1.7.1.jar, 重命名为 apollo-portal.jar, 放到 scripts/apollo-on-kubernetes/apollo-portal-server解压 apollo-adminservice-1.7.1-github.zip获取 apollo-adminservice-1.7.1.jar, 重命名为 apollo-adminservice.jar, 放到 scripts/apollo-on-kubernetes/apollo-admin-server解压 apollo-configservice-1.7.1-github.zip获取 apollo-configservice-1.7.1.jar, 重命名为 apollo-configservice.jar, 放到 scripts/apollo-on-kubernetes/apollo-config-server3、构建镜像
注意:因为许多地方都要同时改,在构建的时候要确定命名空间,我使用zizai 。
要构建如下的镜像:alpine-bash-3.8-image,apollo-config-server,apollo-admin-server和apollo-portal-server,对应的镜像文件,在对应的目录下:
k8s部署高可用配置中心apollo-手动验证成功

文章插图
 
构建镜像要去到对应的Dockerfile同级目录下去执行 。
例如,去到scripts/apollo-on-kubernetes/apollo-config-server下执行:
docker build -t apollo-config-server:v1.7.1 .注意,总共要构建4个镜像 。整体的思路是:先构建镜像,然后打tag,再推到仓库里去 。
在对应目录下,总结整体脚本如下:
alpine-bash-3.8-image的镜像:docker build -t alpine-bash:3.8 .docker tag alpine-bash:3.8hub.thinkinpower.net/zizai/alpine-bash:3.8docker push hub.thinkinpower.net/zizai/alpine-bash:3.8apollo对应的镜像:docker build -t apollo-config-server:v1.7.1 .docker tag apollo-config-server:v1.7.1hub.xx.net/zizai/apollo-config-server:v1.7.1docker push hub.xx.net/zizai/apollo-config-server:v1.7.1docker build -t apollo-admin-server:v1.7.1 .docker tag apollo-admin-server:v1.7.1hub.xx.net/zizai/apollo-admin-server:v1.7.1docker push hub.xx.net/zizai/apollo-admin-server:v1.7.1docker build -t apollo-portal-server:v1.7.1 .docker tag apollo-portal-server:v1.7.1hub.thinkinpower.net/zizai/apollo-portal-server:v1.7.1docker push hub.thinkinpower.net/zizai/apollo-portal-server:v1.7.1 
二、部署apollo到kubernetes1、创建数据库脚本
说明一下:


推荐阅读