前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ingress-nginx多实例类型

ingress-nginx多实例类型

作者头像
SY小站
发布2020-06-15 15:11:53
7020
发布2020-06-15 15:11:53
举报
文章被收录于专栏:SY小站的专栏

1. 背景

在生产环境中,都需要将nginx分不同类型,比方说内网与外网等等,下面我来介绍下怎么区分类型。

2. 方案

此段主要是允许访问一个叫ingress-controller-leader-nginx-backend-nginx-backend的configmap(通过RoleBinding绑定从而限制针对某一个命名空间中定义的一个ConfigMap实例的访问)

代码语言:javascript
复制
- apiGroups:
      - ""
    resources:
      - configmaps
    resourceNames:
      # Defaults to "<election-id>-<ingress-class>"
      # Here: "<ingress-controller-leader>-<nginx>"
      # This has to be adapted if you change either parameter
      # when launching the nginx-ingress-controller.
      - "ingress-controller-leader-nginx-backend-nginx-backend"
    verbs:
      - get
      - update

在如下args段中我们新增了几个参数:

  • --ingress-class=nginx-backend 当设置这个参数后只会Watch Ingress class为nginx-backend的
  • --election-id=ingress-controller-leader-nginx-backend 用于Ingress状态更新的选举ID。(默认ingress-controller-leader
  • --report-node-internal-ip-address 默认情况下是–publish-service但是在裸机部署的时候要使用kubectl get ingress无法显示ADDRESS,所以我们需要使用–report-node-internal-ip-address参数

删除:

  • --publish-service=$(POD_NAMESPACE)/ingress-nginx 非公有云情况下使用kubectl get ingress无法显示ADDRESS
代码语言:javascript
复制
containers:
        - name: nginx-ingress-controller
          image: registry.cn-hangzhou.aliyuncs.com/google_containers/nginx-ingress-controller:0.26.1
          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
            # 设置controller日志的输出路径和方式
            - --log_dir=/var/log/nginx/
            - --logtostderr=false
            - --v=2
            - --report-node-internal-ip-address
            - --ingress-class=nginx-backend
            - --election-id=ingress-controller-leader-nginx-backen 

做完这些,如果想实现完全隔离开,需要新建不同的ns,包括clusterrole等需要改下name。不清楚的可以联系我怎么改。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SY技术小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 背景
  • 2. 方案
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档