Tengine-Ingress:高效、灵活的Kubernetes Ingress控制器
项目介绍
Tengine-Ingress 是一款基于 Tengine 的 Kubernetes Ingress 控制器,专为高性能反向代理和负载均衡设计。它支持标准的 Ingress 规范,并基于 kubernetes/ingress-nginx 仓库开发。Tengine-Ingress 提供了丰富的动态配置功能,无需重启或重载工作进程即可实现服务器、位置和上游的动态配置。
项目技术分析
Tengine-Ingress 的核心技术优势在于其动态配置能力和对 HTTP/3 的支持。它能够动态配置不同的 TLS 协议、多默认 TLS 证书、混合 ECC 和 RSA 证书等。此外,Tengine-Ingress 还支持基于多种值的动态金丝雀路由、基于权重的上游路由以及基于模运算的路由配置。这些功能使得 Tengine-Ingress 在处理复杂和高并发的网络请求时表现出色。
项目及技术应用场景
Tengine-Ingress 适用于需要高性能和灵活配置的 Kubernetes 环境。特别适合以下场景:
- 高并发服务:对于需要处理大量并发请求的服务,Tengine-Ingress 的动态配置和负载均衡能力可以有效提升服务性能。
- 多环境部署:在多环境(如开发、测试、生产)中,Tengine-Ingress 的动态配置功能可以简化部署和管理流程。
- 安全敏感应用:支持多种 TLS 协议和证书配置,适合对安全性要求较高的应用。
项目特点
- 动态配置:无需重启或重载即可动态配置服务器、位置和上游。
- HTTP/3 支持:支持 QUIC v1 和 draft-29,提供更快的传输速度和更好的用户体验。
- 混合证书支持:支持同一 Ingress/路径的混合 ECC 和 RSA 证书。
- 金丝雀路由:支持基于多种值、权重和模运算的动态金丝雀路由。
- 多集群支持:支持通过 kubeconfig 监视专用存储 k8s 集群中的 Ingress 和 Secrets 变化。
- CRD 支持:提供 IngressCheckSum 和 SecretCheckSum CRD,用于验证集群中 Ingress 和 Secret 的完整性。
安装与构建
Docker 镜像
支持的 Linux 发行版:
支持的标签:
支持的架构:
- AMD64, ARM64
拉取镜像命令:
docker pull tengine-ingress-registry.cn-hangzhou.cr.aliyuncs.com/tengine/tengine-ingress:1.1.0
从源码构建
构建命令:
# 首先构建 tengine 镜像
docker build --no-cache --build-arg BASE_IMAGE="docker.io/openanolis/anolisos:latest" --build-arg LINUX_RELEASE="anolisos" -t tengine:3.1.0 images/tengine/rootfs/
# 然后构建 tengine-ingress 镜像
docker build --no-cache --build-arg BASE_IMAGE="tengine:3.1.0" --build-arg VERSION="1.1.0" -f build/Dockerfile -t tengine-ingress:1.1.0 .
文档与支持
详细文档和示例请访问 Tengine-Ingress 官方网站。
如有问题,请通过 GitHub Issues 联系我们。
钉钉用户群:23394285
许可证
本项目基于 [Apache License 2.0](https://github.com/alibaba/tengine-ingress/blob/main/LICENSE