nginx - 单个 NGINX-Ingress Controller ,用于在单独命名空间中具有资源的子域

标签 nginx kubernetes google-kubernetes-engine kubernetes-ingress nginx-ingress

任何人都可以向我解释如何使用我当前的配置设置SINGLE nginx ingress controller,如下所示:

  • A.MY-SITE.COM = Service、Ingress、Pod..等位于“A”命名空间下
  • B.MY-SITE.COM = Service、Ingress、Pod..等位于“B”命名空间下

我在这里看过

https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0/examples-of-custom-resources/cross-namespace-configuration

这似乎是在正确的轨道上,但它适用于路径“/cafe”。当我需要它是“a.my-site.com”时。

我想这样做的主要原因是我不想为我们拥有的每个客户端(命名空间)都安装一个入口 Controller 。

最佳答案

所以我想通了, 默认的 HELM nginx-ingress Controller 安装在没有 SSL 证书的情况下工作正常。 NGINX Controller 实际上确实处理来自各种命名空间的入口资源。

我使用 *.domain.com 证书和 key 安装了

kubectl create secret tls {SECRET_NAME} --key {KEY_FILE} --cert {CERT_FILE}

然后在 nginx-ingress-controller 部署中我添加了:

-args:
 - --default-ssl-certificate=tenancy/whatevername-wildcard={NAMESPACE}/{SECRET_NAME}

入口位于命名空间中。例如:

命名空间 A:入口 -> 主机:a.domain.com

命名空间 B:Ingress with host: b.domain.com

入口 Controller 注释中唯一列出的是 kubernetes.io/ingress.class: "nginx"

所有域都指向 nginx 负载均衡器 IP。

现在它完美运行了。很简单,但是通过文档搜索也很不清楚。

关于nginx - 单个 NGINX-Ingress Controller ,用于在单独命名空间中具有资源的子域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61791330/

相关文章:

上游的 Nginx 主机 header

nginx - 总是 403 Forbidden with Nginx .htpasswd

kubernetes - 使用 CeleryExecutor 访问登录 Airflow 时访问禁止

python - uWSGI虚拟主机问题

nginx - 使用 nginx 将所有请求重定向到静态页面

amazon-web-services - 是否可以制作混合K8S集群AWS/Raspberry PI

amazon-web-services - 在 EKS 集群中挂载 EFS : example deployment fails

kubernetes - GKE Ingress - 简单的 nginx 示例但出现错误 "Could not find nodeport for backend"

mongodb - 无法附加 GCE PD,等待挂载路径超时

kubernetes - Google Cloud Build 部署到 GKE 私有(private)集群