我对入口有问题。就是行不通。如何理解和发现 怎么了?
我有kubernetes裸机。
已安装舵图
helm install stable/nginx-ingress --name ingress --namespace nginx-ingress
在相同名称空间中部署的入口
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /test
backend:
serviceName: efk-kibana
servicePort: 5601
将服务的入口类型从LoadBalancer更改为NodePort,因为不是通过其他方式创建的。
安装后
curl http://example.com – get an answer example page
。
现在,所有服务都可以通过NodePort为我工作,例如-myweb.com:31555。
在任何教程中都没有写到我需要向/ etc / hosts或类似的东西添加东西。
感谢您的帮助。
答案 0 :(得分:1)
如果您使用的是裸机集群,那么您会迷失一部分。
入口位于入口控制器的后面-您仍然需要使用带有Type=LoadBalancer
的服务来公开该服务,这在云提供商的默认情况下是不可能的。
但是,有一个解决方案。 MetalLB是提供程序,可让您为LoadBalancer类型的服务指定IP。
如果您使用layer 2 configuration进行部署并更新了入口控制器的部署,它将不需要NodePort即可工作。