繁体   English   中英

何时使用 NodePort、ClusterIP、LoadBalancer、Headless 作为 Ingress 的后端?

[英]When to use NodePort, ClusterIP, LoadBalancer, Headless as backend to Ingress?

以下示例将在外部公开服务。 那么为什么在这种情况下允许使用 NodePort/LB,这不是多余的吗?

  rules:
  - host: lab.example.com
    http:
      paths:
      - path: /service-root
        backend:
          serviceName: clusterip-svc
          servicePort: 8080
      - path: /service-one
        backend:
          serviceName: nodeport-svc
          servicePort: 8080
      - path: /service-two
        backend:
          serviceName: headless-svc
          servicePort: 8080

使用 NodePort、ClusterIP、LoadBalancer 或 Headless 作为 Ingress 的后端有什么特别的优势吗?

服务是一种定义 Pod 逻辑集和访问它们的策略的方法。 Pod 是临时资源,因此无论其 IP 地址如何,服务都可以连接到它们。 他们通常使用选择器来做到这一点。 Kubernetes 中有不同类型的服务,这些是主要区别。

集群 IP 是默认的服务类型。 它在集群内部的 IP 上公开服务,并使其仅在集群内可用。

NodePort 在 static 端口处公开每个节点的 IP 上的服务。 此选项还创建 NodePort 路由到的 ClusterIP 服务。

LoadBalancer 更进一步,使用云提供商的负载均衡器将服务暴露在外部。 NodePort 和 ClusterIP 资源是自动创建的。

按照此链接获取有关不同服务类型的更多信息。

还有无头服务。 当您不需要负载平衡和单个服务 IP 时,您将使用这些。 您可以按照文档中的部分进行进一步说明。

回答您的问题 - 这取决于您的用例,您可能会发现使用这些服务的不同优势。

那么为什么在这种情况下允许使用 NodePort/LB,这不是多余的吗?

大多数情况下没有人这样做,因为每个人都管理并保持入口作为集群的单一入口点。 在入口后面,大部分ClusterIP服务仍将运行,这取决于您要如何设置它。

使用 NodePort、ClusterIP、LoadBalancer 或 Headless 作为 Ingress 的后端有什么特别的优势吗?

我不知道有什么好处,因为每种类型都有自己的好处。 如果您提供不检查任何类型的服务,入口将转发流量。

节点端口、负载均衡器可用于特定要求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM