gpt4 book ai didi

azure - 带有 Nginx 的 AKS 无法通过 IP 访问,只能通过 DNS 访问

转载 作者:行者123 更新时间:2023-12-03 05:24:20 29 4
gpt4 key购买 nike

我正在尝试使用静态 IP 在 AKS 上创建一个 Web 应用程序,自然找到了一个带有 Nginx ingress controller in Azure's documentation 的解决方案。 .

除了带 dns 标签的部分外,这效果很好。我的申请仅在 <dns-label>.<region>.cloudapp.azure.com 上可见,这当然有点烦人(无法将我的网络主机 DNS 路由到 url)。不管怎样,它在我分配给集群的静态IP上不可用,我觉得很奇怪。当我 ping IP 时,结果是来自 Nginx 的 404。我尝试更改 Ingress 主机,但没有成功。

当我 kubectl describe ingress basic-ingress ,一切看起来都不错:

Name:             basic-ingress
Namespace: default
Address: XXXXXXXXXX
Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
TLS:
tls-secret terminates XXXXXXXXXXXXX.XXXXX.cloudapp.azure.com
Rules:
Host Path Backends
---- ---- --------
platform-dns.eastus.cloudapp.azure.com
/* smp-frontend:80 (XXXXXXXXX, XXXXXXXX, XXXXXXXXXX)
/api/* smp-backend:8080 (XXXXXXX, XXXXXXXXX, XXXXXXXX)
Annotations: cert-manager.io/cluster-issuer: XXXXXXXXXX
kubernetes.io/ingress.allow-http: true
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal CreateCertificate 84m cert-manager Successfully created Certificate "XXXXXXXX"
Normal Sync 71m (x4 over 84m) nginx-ingress-controller Scheduled for sync
Normal Sync 71m (x4 over 84m) nginx-ingress-controller Scheduled for sync

最佳答案

入口根据主机名(请求中的主机 header ;第 7 层)路由流量。要仅使用 IP 地址路由流量,您必须将 Ingress list 配置为监听通配符。您可以通过删除 HTTP 规则中的“主机”字段来实现此目的:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: minimal-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /testpath
pathType: Prefix
backend:
service:
name: test
port:
number: 80

如果您只想保留 IP,您也可以考虑从 Ingress 迁移到 LoadBalancer service它通过 Azure 负载均衡器(第 4 层)直接公开您的工作负载。

有关如何通过静态 IP 使用 LoadBalancer 服务的指南已发布 here .

关于azure - 带有 Nginx 的 AKS 无法通过 IP 访问,只能通过 DNS 访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70094895/

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