我的入口控制器正在工作,我能够使用http://(externalIP)/path
通过RestClient的HTTP GET请求使用群集外的服务。但是,我必须使用"Host"
(我的Ingress资源的值)指定value = "host"
标头才能正常工作。因此,我无法从Web浏览器中访问http://(externalIP)/path
。有什么方法可以使我能够从外部Web浏览器进行访问而不必在请求标头中指定"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
答案 0 :(得分:1)
我假设您想使用它进行测试。
如果您正在使用任何* nix风味操作系统(MacOS,Linux),则可以将条目添加到/etc/hosts
文件中,如下所示:
172.16.32.85 master1.saas.com
如果您使用的是Windows,则可以在C:\Windows\System32\Drivers\etc\hosts