gpt4 book ai didi

amazon-web-services - 将 nginx-ingress 绑定(bind)到静态 IP 地址

转载 作者:行者123 更新时间:2023-12-02 11:35:39 24 4
gpt4 key购买 nike

我想在 AWS EKS 上为从外部系统访问的多个微服务设置一个入口 Controller 。

微服务通过虚拟主机名访问,如 svc1.acme.com , svc2.acme.com , ...

我使用 helm 图表设置了 nginx 入口 Controller :https://github.com/helm/charts/tree/master/stable/nginx-ingress

我的想法是保留一个弹性 IP 地址并通过设置变量 externalIP 将 nginx Controller 绑定(bind)到该 IP。

这样我应该能够使用稳定的通配符 DNS 条目 *.acme.com --> 54.72.43.19 访问服务

我可以看到入口 Controller 服务获取了外部IP,但该IP不可访问。

NAME                                    TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE
ingress-nginx-ingress-controller LoadBalancer 10.100.45.119 54.72.43.19 80:32104/TCP,443:31771/TCP 1m

知道为什么吗?

更新:

我使用以下命令安装了入口 Controller :

helm install --name ingress -f values.yaml stable/nginx-ingress

这是值的要点,唯一与默认值不同的是

externalIPs: ["54.72.43.19"]

https://gist.github.com/christianwoehrle/3b136023b1e0085b028a67ca6a0959b7

最佳答案

也许您可以通过使用支持固定 IP 的网络负载均衡器 ( https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html ) 作为 Nginx 入口的支持来实现这一点,例如 ( https://aws.amazon.com/blogs/opensource/network-load-balancer-support-in-kubernetes-1-9/ ):

apiVersion: v1
kind: Service
metadata:
name: nginx
namespace: default
labels:
app: nginx
annotations:
service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
spec:
externalTrafficPolicy: Local
ports:
- name: http
port: 80
protocol: TCP
targetPort: 80
selector:
app: nginx
type: LoadBalancer

关于amazon-web-services - 将 nginx-ingress 绑定(bind)到静态 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53227358/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com