如何向通过头盔安装的nginx-ingress添加静态IP [英] How to add a static IP to nginx-ingress installed via helm

查看:78
本文介绍了如何向通过头盔安装的nginx-ingress添加静态IP的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想创建一个可以链接到保留IP地址的Nginx入口.主要原因是,我想减少手动步骤.当前,该基础结构是使用Terraform自动设置的,但是我无法让nginx-ingress与它一起使用保留的IP.我已经在使用nginx-ingress,但是它会创建自己的IP地址.

I would like to create an nginx-ingress that I can link to a reserved IP address. The main reason being, that I want to minimize manual steps. Currently, the infrastructure is automatically set-up with Terraform, but I cannot get nginx-ingress to use the reserved IP with it. I already have nginx-ingress working, but it creates its own IP address.

根据nginx-ingress网站( https://kubernetes.github.io/ingress-nginx/examples/static-ip/),这应该是可能的.首先,应该创建一个负载平衡器服务:

According to the nginx-ingress site (https://kubernetes.github.io/ingress-nginx/examples/static-ip/), this should be possible. First, one should create a load-balancer service:

apiVersion: v1
kind: Service
metadata:
  name: nginx-ingress-lb
  labels:
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/part-of: ingress-nginx
spec:
  externalTrafficPolicy: Local
  type: LoadBalancer
  loadBalancerIP: 34.123.12.123
  ports:
  - port: 80
    name: http
    targetPort: 80
  - port: 443
    name: https
    targetPort: 443
  selector:
    # Selects nginx-ingress-controller pods
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/part-of: ingress-nginx

但是,然后可以使用-publish-service 标志通过 nginx-ingress-controller.yaml 文件更新IP.但是,我是通过头盔安装的:

However, then one can update the IP via nginx-ingress-controller.yaml file with the --publish-service flag. However, I install this via helm:

helm install stable/nginx-ingress --name my-nginx --set rbac.create=true

如何在头盔安装(或升级)中将发布服务链接到nginx-ingress-lb.

How can I link the publish service to nginx-ingress-lb in my helm installation (or upgrade).

推荐答案

假定您的云提供商支持具有静态IP的LB(例如,AWS将为您提供CNAME而不是IP):

Assuming your cloud provider supports LBs with static IPs (AWS, for example, will give you a CNAME instead of an IP):

您必须按照以下说明将其设置为标签.完成此操作后,您可以设置入口注释: kubernetes.io/ingress.class:nginx ,并且入口将自动获得相同的IP地址.

You will have to set it as a tag as the following. Once you do this, you can set your ingress annotation: kubernetes.io/ingress.class: nginx and your ingress will automatically get the same IP address.

helm install stable/nginx-ingress  --set controller.service.loadBalancerIP=XXXX,rbac.create=true

这篇关于如何向通过头盔安装的nginx-ingress添加静态IP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆