默认配置下的Kubernetes入口不起作用
我有一个入口问题。它就是不起作用。如何理解和发现 怎么了 我有kubernetes裸机 安装舵图默认配置下的Kubernetes入口不起作用,kubernetes,kubernetes-ingress,Kubernetes,Kubernetes Ingress,我有一个入口问题。它就是不起作用。如何理解和发现 怎么了 我有kubernetes裸机 安装舵图 helm install stable/nginx-ingress --name ingress --namespace nginx-ingress 在同一命名空间中部署入口 apiVersion: extensions/v1beta1 kind: Ingress metadata: name: test-ingress annotations: nginx.ingress.kub
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,因为它不是以其他方式创建的
安装后
curlhttp://example.com –获取答案示例页面
现在所有的服务都通过NodePort为我工作,例如-myweb.com:31555
在任何教程中,我都不会写我需要向/etc/hosts或类似的内容添加内容
谢谢您的帮助。如果您使用的是裸金属集群,您将错过一块拼图 Ingresses位于ingress控制器后面-您仍然需要使用带有
Type=LoadBalancer
的服务公开它,这在默认情况下对于云提供商是不可能的
然而,有一个解决办法。是一个提供程序,允许您为LoadBalancer类型的服务指定IP
如果您使用部署并更新入口控制器部署,它将在不需要NodePort的情况下工作。我正确理解您的意思吗?你想说如果没有第三方云服务,我将无法部署入口和集群?但是为什么呢?似乎一切都合乎逻辑。流量到达入口服务的端口80,它使用nginx入口控制器进行进一步分发。安装入口控制器时,通常可通过节点端口或负载平衡器类型的服务进行访问。在LoadBalancer的情况下,如果集群在本地,服务将在节点上获得30000+端口,但将永远卡在获取外部IP的过程中。MetalLB通过从管理员预定义的IP池中发出IP地址来“模拟”集群的云负载平衡器来解决此问题。到该IP池的外部流量应路由到群集节点。管理员负责设置必要的网络路由。