Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.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 kunernetes服务和入口之间的区别_Kubernetes - Fatal编程技术网

Kubernetes kunernetes服务和入口之间的区别

Kubernetes kunernetes服务和入口之间的区别,kubernetes,Kubernetes,我想为4个http服务器吊舱创建一个负载平衡器 我也有一个mysql豆荚 一切正常,我为http创建了一个loadbalancer服务,为mysql创建了另一个服务 我读过,我也应该创建一个入口。但我不明白什么是入口,因为一切都与服务一起工作 入口的增值是什么 谢谢因为您有单一服务服务http,所以您当前使用LoadBalancer服务类型的解决方案运行良好。假设您有多个基于http的服务,希望在不同的路由上对外提供这些服务。您必须为它们中的每一个创建一个LoadBalancer服务,默认情况下

我想为4个http服务器吊舱创建一个负载平衡器

我也有一个mysql豆荚

一切正常,我为http创建了一个loadbalancer服务,为mysql创建了另一个服务

我读过,我也应该创建一个入口。但我不明白什么是入口,因为一切都与服务一起工作

入口的增值是什么


谢谢

因为您有单一服务服务http,所以您当前使用LoadBalancer服务类型的解决方案运行良好。假设您有多个基于http的服务,希望在不同的路由上对外提供这些服务。您必须为它们中的每一个创建一个LoadBalancer服务,默认情况下,您将为它们中的每一个获得不同的IP地址。相反,您可以使用入口,它位于这些服务的前面并执行路由

入口清单示例:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: test-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - http:
      paths:
      - path: /cart
        backend:
          serviceName: cart
          servicePort: 80
     - path: /payment
        backend:
          serviceName: payment
          servicePort: 80

在这里,您有两个不同的HTTP服务,它们由单个IP地址上的入口公开。使用入口时,每个服务不需要负载平衡器

由于您有一个服务于http的服务,因此当前使用LoadBalancer服务类型的解决方案运行良好。假设您有多个基于http的服务,希望在不同的路由上对外提供这些服务。您必须为它们中的每一个创建一个LoadBalancer服务,默认情况下,您将为它们中的每一个获得不同的IP地址。相反,您可以使用入口,它位于这些服务的前面并执行路由

入口清单示例:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: test-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - http:
      paths:
      - path: /cart
        backend:
          serviceName: cart
          servicePort: 80
     - path: /payment
        backend:
          serviceName: payment
          servicePort: 80

在这里,您有两个不同的HTTP服务,它们由单个IP地址上的入口公开。使用入口时,每个服务不需要负载平衡器

LoadBalancer类型的服务依赖于某个地方的第三方LoadBalancer和IP供应,该服务处理将第3层流量IP从外部传输到某个高编号节点端口上的节点

入口依赖于第三方入口控制器来接受第3层流量,将其开放至第7层,例如,终止TLS,并通过http fqdn/路径进行特定于协议的路由,例如到集群内可能属于ClusterIP类型的其他服务

如果您的所有服务都应该明确地公开,而没有任何进一步的过滤或其他选项,那么负载平衡器和无入口可能是正确的选择……但是负载平衡器本身并没有做很多事情……它们只是将服务公开给外部世界……在流量计费、a/B测试等方面很少


但是,如果您想在一个IP/VIP/证书后面放置多个服务,或者您想以一些奇怪的方式来引导流量,例如基于头:、客户端类型、百分比权重等,您可能需要一个入口,该入口本身将由LoadBalancer服务公开

LoadBalancer类型的服务依赖于第三方LoadBalancer和IP供应,该服务在某个地方处理从外部到某个高编号节点端口上的节点的第3层流量IP

入口依赖于第三方入口控制器来接受第3层流量,将其开放至第7层,例如,终止TLS,并通过http fqdn/路径进行特定于协议的路由,例如到集群内可能属于ClusterIP类型的其他服务

如果您的所有服务都应该明确地公开,而没有任何进一步的过滤或其他选项,那么负载平衡器和无入口可能是正确的选择……但是负载平衡器本身并没有做很多事情……它们只是将服务公开给外部世界……在流量计费、a/B测试等方面很少

然而,如果您想在一个IP/VIP/证书后面放置多个服务,或者您想以一些奇怪的方式(如基于头:、客户端类型、百分比权重等)来引导流量,那么您可能需要一个入口,它本身将由LoadBalancer服务公开