K8s官方NGINX Ingress Controller的核心特性
在学习完陶辉老师在NGINX开源社区的K8s Ingress Controller 技术细节探讨分享之后,自己讲一部门内容做了笔记,这部分成两个博文,分别是K8s的官方提供的实现机制和NGINX官方提供的,本文主要记录K8s官方社区提供的:
K8s官方社区已经实现的功能:
日志上报: error.log, access.log(HTTP的header)
Nginx.conf如何映射到yaml的声明配置中?
Annotation和ConfigMap的与nginx.conf的关联关系不同
例:ConfigMap配置文件
kubectl apply -f configMap.yaml
除了以上的方式,还有Lua的方式:
Lua Handler 能够将修改的内容写到共享内存中,进而修改nginx.conf
rewrite:全链路跟踪模块
全链路跟踪的规范:
nginx中的全链路跟踪模块:
preaccess: 流控
请求数:
并发连接数:
access: 访问控制(用户验证、安全性、WAF等不同的模块)
单点登录:
content:生成响应
AJP协议主要是用于企业内部二进制协议传输,对于Tomcat来说效率比http高
子模块:
1、upstream:反向代理
负载均衡算法(Lua语言实现:主要原因在于不想写reload):
会话保持
2、filter:过滤阶段
log: access日志存在influxdb中