Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
默认配置下的Kubernetes入口不起作用_Kubernetes_Kubernetes Ingress - Fatal编程技术网

默认配置下的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

我有一个入口问题。它就是不起作用。如何理解和发现 怎么了

我有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,因为它不是以其他方式创建的

安装后

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池的外部流量应路由到群集节点。管理员负责设置必要的网络路由。