docker集群下tengine代理elasticsearch集群,以及kibana实现CI/CD
上篇:https://blog.****.net/qq_35299863/article/details/83624300
文章介绍了docker-swarm集群下创建elasticsearch集群以及CI/CD
现在介绍tengine代理elasticsearch集群,以及kibana实现CI/CD
1:首先下载镜像
docker pull kibana:5.6
然后打tag,推到我们自己的镜像仓库,作为基础镜像
Dockerfile:
然后jenkins下创建自由风格的job:
注释:第一次构建先构建完镜像,然后再在集群下创建服务,然后再把最后一行更新命令打开
docker service create --name test_kibana --network cdel --update-failure-action rollback harbor.xxx.com/swarm/test_kibana:1
2:创建tengine代理(tengine之前已经有做说明,这里重点说配置和CI/CD)
2.1看下我们的tengine配置:
这里代理了es和kibana(我的kibana也在集群下)
下面是代理kibana的配置:
上面就是tengine的配置以及Dockerfile,和之前一样:创建jenkins构建第一次镜像。然后再在集群下创建tengine服务并把域名解析到本地 --host这个参数,再把更新命令打开:
docker service create --host=“test.es.local:127.0.0.1” --host=“test.es1.local:127.0.0.1” --host=“test.es2.local:127.0.0.1” --host=“test.es3.local:127.0.0.1” --host=“test.es4.local:127.0.0.1” --name elk-tengine --network cdel --publish “mode=host,published=80,target=80” --health-cmd=“curl --silent --fail 127.0.0.1/status || exit 1” --health-retries=3 --health-interval=5s --health-timeout=2s --constraint=“node.role == manager” --mode global --update-delay 10s --update-failure-action rollback harbor.xxx.com/swarm/elk-tengine:1
注释:我的kibana连es走集群,所以没有对外暴露9200,如果你需要暴露记得加上
这个时候我们的代理层就已经部署好了,然后看看kibana服务有没有报错:
docker service logs -f test_kibana 或者找到对应的容器 docker logs -f xxx
没报错就对了
这样我们的kibana对外是80端口,连接es的9200走集群内部
欢迎留言