具有多个入口资源对象的 Kubernetes nginx 入口控制器

桑托什

Kubernetes 入口允许我们使用入口资源对象定义规则。我们部署了一个 nginx 入口控制器。但是对于 Ingress,我们有以下需求。

Ingress 使用 Ingress 中的“auth-url”TLS 终止处理外部身份验证。多个后端服务的路由规则。

是否可以为所有路由仅使用外部身份验证定义来定义入口。没有指定“规则”子句,因为我们计划维护专用的 Ingress 资源 yaml 文件以进行路由。

例如:Ingress1.yaml:通用 SSL 终止入口

resource "kubernetes_ingress" "ssl_terminate_ingress" {
  metadata {
    name = "ssl-termination-ingress"
    namespace = "kube-system"
  }
  spec {
    tls {
      hosts = ["example.com"]
      secret_name = "tls_secret"
    }
  }

  //PLEASE SEE NO RULES AS WE WANT TO DEFINE FOR EVERY APPLICATION IN A SEPARATE FILE
}

Ingress2.yaml:所有路由的通用 JWT Ingress

resource "kubernetes_ingress" "jwt_auth_ingress" {
  metadata {
    name = "jwt-auth-ingress" 
    namespace = "kube-system",
    annotations = {
      "nginx.ingress.kubernetes.io/auth-url" = "http://my-auth-service"
    }
  }

}

Ingress 3.yaml - 应用程序入口

resource "kubernetes_ingress" "app_ingress" {
  metadata {
    name = "app-ingress"
    namespace = "app-ns"
  }
  rule {
      host = "example.com"
      http {
        path {
          path = "/my-app"
          backend {
            service_name = "app-service"
            service_port = 80
          }
        }
      }
}

所以我们希望 Ingress3.yaml 是应用程序入口,并且应该在此之前应用前两个入口文件。

我们能做到这一点吗?或者它是要定义的单个 Ingress 资源文件,我们为整个 K8s 集群一起定义所有这 3 个资源文件

哈齐姆

TL;DR:是的,您需要将它们放在一个入口中。

说明

简单来说,入口是通往已部署应用程序的路由。具有 TLS 或 JWT 身份验证是该路由的“属性”或“附加功能”。

在您呈现的场景中,您有:

  • ingress1.yaml 定义了一条没有 TLS 终止的属性/功能的路由。
  • ingress2.yaml 是一条没有 JWT 身份验证的属性/功能的路由。
  • ingress3.yaml 定义到您的应用程序的路由,而无需任何其他属性。

您需要一个定义到您的应用程序的路由的入口,以及 TLS 和 JWT 身份验证的附加功能。您可以通过将所有内容组合在一个入口中来实现这一点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

kubernetes nginx入口控制器/缓存静态资产

Kubernetes和Nginx入口控制器出现413错误

Nginx入口控制器如何在Kubernetes上工作?

Kubernetes NGINX入口控制器未获取TLS证书

NodePort上的Kubernetes Nginx入口控制器

入口控制器Nginx Kubernetes不起作用

Nginx入口控制器返回404 Kubernetes

具有SSL终止和ssl-passthrough的Kubernetes内部Nginx入口控制器

在Kubernetes NGINX入口控制器后面托管具有相对URL的Webapp

kubernetes nginx 入口控制器重写

nginx入口控制器种类之间的区别:服务与种类:入口与种类:Kubernetes中的configMap

Kubernetes入口控制器

Kubernetes Nginx入口控制器公开Nginx Web服务器

多个主机Kubernetes入口控制器

Kubernetes 中没有负载均衡器的 Nginx 入口控制器

具有集群 ip 服务和默认 nginx 的 kubernetes 入口控制器无法按预期工作

NGINX控制器Kubernetes:需要在入口内更改Host标头

如何在 kubernetes 中創建多個 nginx 入口控制器

应用程序处理的Kubernetes Nginx-Inress入口控制器CORS

在运行 nginx 入口控制器 kubernetes 时想要服务的(内部)名称

当负载均衡器获得随机端口时,Kubernetes Nginx入口控制器

在Kubernetes NGINX反向代理入口控制器中按路径重写

Kubernetes NGINX 入口控制器 404 未找到/未找到對象

Nginx 入口控制器为“/”AKS 以外的路径返回 404 - Kubernetes 1.17

Kubernetes入口控制器-错误:ImagePullBackOff

kubernetes入口控制器CrashLoopBackOff错误

Kubernetes - 入口控制器的 RBAC 问题

入口控制器和Google kubernetes

如何访问nginx入口控制器