问题
搭建Jaeger开发环境,存储使用的ES,期望ES需要有安全配置且在容器中运行。
解决思路
ES安全保护有两种方式:1)基于xpack插件;2)基于nginx代理。
方案
一开始是基于docker-compose搞的,现在想搞到k8s里面。
1)k8s+nginx
部署nginx service和es service,nginx作为代理转发请求到es。
upstream elasticsearch {
server es-svc:9200 resolve;
keepalive 15;
}
ES转发的代理是个域名,nginx免费版不支持动态代理,所以一直没有搞成功。
2)k8s+ingress
后来一想,nginx service的作用和ingress一样(为啥要单独搞个代理服务呢)。基于ingress版本,无法绑定到外网IP。正在请假大神中。
3)k8s+nodeport
基于jaeger-kubernetes(已经被jaeger-operator替代)直接暴露NodePort。
https://github.com/huiwq1990/OpenShare/blob/master/jaeger.zip