使用 NGINX
我们提供完整的 NGINX 部署用作 Ingress Controller。并非所有 Kubernetes 提供商都原生支持 NGINX Ingress 以确保兼容性。
配置 NGINX
查看 NGINX chart 文档,获取有关配置的详细信息。
全局设置
我们的 chart 之间共享一些通用的全局设置。请查看 全局配置文档 了解常见的配置项,例如 GitLab 和 Registry 组件服务器的主机名。
使用全局设置配置主机
GitLab 和 Registry 组件服务器的主机名可以使用全局配置。
Annotation 值词块列表
引入于极狐GitLab Helm chart 6.6。
在集群操作员需要更好地控制生成的 NGINX 配置的情况下,NGINX Ingress 允许配置片段,插入标准注释和 ConfigMap 条目未解决的原始 NGINX 配置的“片段”。
这些配置片段的缺点是它允许集群操作员部署包含 LUA 脚本和类似配置的 Ingress 对象,这些配置可能会危及极狐GitLab 安装和集群本身的安全性,包括暴露服务帐户令牌和 secret。
请参阅 CVE-2021-25742 和此上游 ingress-nginx
问题来获取更多详细信息。
为了规避极狐GitLab 的 Helm chart 部署中的 CVE-2021-25742 - 我们使用 nginx-ingress
社区的建议,设置 annotation-value-word-blocklist。
如果您在极狐GitLab Ingress 配置中使用配置片段,或者将极狐GitLab NGINX Ingress Controller 与使用配置片段的第三方 Ingress 对象一起使用,则在尝试访问极狐GitLab 第三方域名时可能会遇到 404
错误,以及 nginx-controller
日志中的 “invalid word” 错误。在这种情况下,请检查并调整您的 nginx-ingress.controller.config.annotation-value-word-blocklist
设置。