带2个入口的Kubernetes(nginx)
我尝试为我的azure Kubernetes集群(AKS)创建第二个入口。一个供公司内部使用,一个供客户使用 第一个控制器由以下脚本构建: 以及服务: Nginx()的官方教程说,我需要使用--ingres类标志来分隔这两个控制器。当创建两个控制器时,我需要引用ingress.class注释使用哪个控制器的每个资源 第一个问题 这很有意义,因为我可以使用路由规范创建两个不同的入口。但我是否也需要在Nginx服务中引用控制器 第二个问题 我在我的机器上编辑mandatory.yaml,并通过本地yaml文件应用它。 因此,我将--ingress类标志传递给控制器的参数(从mandatory.yaml第218行开始): 当我使用--ingress class=nginx internal将其重新部署为mandatory.yaml时,将重新配置现有控制器,但不会部署第二个控制器。 我做错了什么带2个入口的Kubernetes(nginx),kubernetes,nginx-ingress,Kubernetes,Nginx Ingress,我尝试为我的azure Kubernetes集群(AKS)创建第二个入口。一个供公司内部使用,一个供客户使用 第一个控制器由以下脚本构建: 以及服务: Nginx()的官方教程说,我需要使用--ingres类标志来分隔这两个控制器。当创建两个控制器时,我需要引用ingress.class注释使用哪个控制器的每个资源 第一个问题 这很有意义,因为我可以使用路由规范创建两个不同的入口。但我是否也需要在Nginx服务中引用控制器 第二个问题 我在我的机器上编辑mandatory.yaml,并通过本
nginx ingress controller
更改了现有部署。这就是它重新配置现有入口控制器的原因。您需要使用不同的名称创建新的部署yaml,并在新部署中添加--ingres class
标志我建议为入口控制器1和入口控制器2创建两个不同的名称空间和两组不同的YAML,并更改这些YAML中的名称、名称空间、标签和选择器。我收到以下错误:7 leaderelection.go:367]更新锁失败:configmaps“入口控制器领导人内部网nginx internal”禁止:用户“system:serviceaccount:ingress nginx:nginx ingress serviceaccount”无法更新命名空间“ingress nginx”中API组“”中的资源“configmaps”。我错了什么?有一个名为“nginx入口角色”的角色。在该角色的resourceNames部分添加“ingress controller leader intranet nginx internal”。@ArghyaSadhu我理解添加“ingress controller leader intranet nginx internal”资源名称会让第二个ingress访问权限更新configmap,但您能解释一下这一问题的根本原因吗?第一个入口似乎在更新其configmap时没有问题。
containers:
- name: nginx-ingress-controller
image: quay.io/kubernetes-ingress-controller/nginx-ingress-controller:master
args:
- /nginx-ingress-controller
- --configmap=$(POD_NAMESPACE)/nginx-configuration
- --tcp-services-configmap=$(POD_NAMESPACE)/tcp-services
- --udp-services-configmap=$(POD_NAMESPACE)/udp-services
- --publish-service=$(POD_NAMESPACE)/ingress-nginx
- --annotations-prefix=nginx.ingress.kubernetes.io
- --ingress-class=nginx-external