我的入口控制器正在工作,我可以使用以下命令访问集群外部的服务http://(externalIP)/path
使用来自 RestClient 的 HTTP GET 请求。但是,我必须指定"Host"
标头与value = "host"
(我的 Ingress 资源的价值)才能使其发挥作用。正因为如此,我无法击中http://(externalIP)/path
从我的网络浏览器。有什么方法可以让我从外部网络浏览器进行访问而无需指定"Host"
在请求头中?
入口资源:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-ingress
namespace: ingress-nginx
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: master1.saas.com
http:
paths:
- backend:
serviceName: gen-devops
servicePort: 10311
path: /*
入口服务:
apiVersion: v1
kind: Service
metadata:
name: ingress-nginx
namespace: ingress-nginx
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
spec:
type: NodePort
ports:
- name: http
port: 80
targetPort: 80
protocol: TCP
- name: https
port: 443
targetPort: 443
protocol: TCP
externalIPs:
- 172.16.32.85
selector:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
我假设您想用它来进行测试。
如果您使用任何 *nix 风格的操作系统(MacOS、Linux),您可以向您的/etc/hosts
文件,像这样:
172.16.32.85 master1.saas.com
如果您使用任何 Windows 框,您可以在中添加相同的条目C:\Windows\System32\Drivers\etc\hosts
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)