Kubernetes 入口使用clusterIP类型公开服务
是否可以通过使用ClusterIP类型的入口公开服务Kubernetes 入口使用clusterIP类型公开服务,kubernetes,kubernetes-ingress,Kubernetes,Kubernetes Ingress,是否可以通过使用ClusterIP类型的入口公开服务 apiVersion: v1 kind: Service metadata: name: my-service spec: selector: app: my-service ports: - name: my-service-port port: 4001 targetPort: 4001 --- apiVersion: networking.k8s.io/v1beta1 kind: Ingress
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: my-service
ports:
- name: my-service-port
port: 4001
targetPort: 4001
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: app-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: my.example.com
http:
paths:
- path: /my-service
backend:
serviceName: my-service
servicePort: 4001
我知道该服务可以使用NodePort类型公开,但如果有人能告诉我从云中的互联网世界检测内部服务的最快方法,可能需要多连接一次NAT。不,clusterIP只能从集群内部访问。入口本质上只是一组第7层转发规则,它不能处理向外部世界公开集群内部的第4层要求。至少需要1个NAT步骤 不过,要让入口工作,您需要至少涉及一个将工作负载暴露在外部的服务,所以需要使用nodePort或loadBalancer。入口控制器和集群的基础结构将决定您需要使用这两种服务中的哪一种 在Nginx入口的情况下,您需要一个单一的负载平衡器服务,入口将使用该服务桥接从集群外部到集群内部的流量。之后,您可以为每个工作负载使用clusterIP服务
在上面的示例中,只要正确配置了nginx入口控制器(使用负载平衡器),那么您使用的配置应该可以正常工作。否,只能从集群内访问clusterIP。入口本质上只是一组第7层转发规则,它不能处理向外部世界公开集群内部的第4层要求。至少需要1个NAT步骤 不过,要让入口工作,您需要至少涉及一个将工作负载暴露在外部的服务,所以需要使用nodePort或loadBalancer。入口控制器和集群的基础结构将决定您需要使用这两种服务中的哪一种 在Nginx入口的情况下,您需要一个单一的负载平衡器服务,入口将使用该服务桥接从集群外部到集群内部的流量。之后,您可以为每个工作负载使用clusterIP服务
在上面的示例中,只要正确配置了nginx入口控制器(使用负载平衡器),那么您使用的配置应该可以正常工作。简而言之:是 现在来看看详细的答案。。。 第一件事首先,让我们看一下 入口公开从集群外部到集群内服务的HTTP和HTTPS路由。
[…]
入口控制器负责实现入口,通常使用负载平衡器 这里混淆的是术语负载平衡器。在上面的定义中,我们讨论的是web负载平衡器中的经典和知名产品。
这件事与库伯内特斯无关强> 回到定义,要使用
ingres
并使其工作,我们需要一个名为ingrescontroller
的kubernetes资源。而这个资源恰好是一个负载平衡器!就这样
但是,您必须记住,外部世界的负载平衡器与类型为type:LoadBalancer
的kubernetes服务之间存在差异
总之(为了将外部世界的流量重定向到您的k8s clusterIp服务):
- 您是否需要负载平衡器使您的
工作?是的,这是kind:ingres
kubernetes资源kind:IngressController
- 您是否需要kubernetes服务
或type:LoadBalancer
使您的type:NodePort
工作?绝对不是!服务kind:ingres
工作正常李>type:ClusterIP
- 简而言之:是
现在来看看详细的答案。。。
第一件事首先,让我们看一下
入口公开从集群外部到集群内服务的HTTP和HTTPS路由。
- 您是否需要负载平衡器使您的
工作?是的,这是kind:ingres
kubernetes资源kind:IngressController
- 您是否需要kubernetes服务
或type:LoadBalancer
使您的type:NodePort
工作?绝对不是!服务kind:ingres
工作正常李>type:ClusterIP
[…]
入口控制器负责实现入口,通常使用负载平衡器 这里混淆的是术语负载平衡器。在上面的定义中,我们讨论的是web负载平衡器中的经典和知名产品。
这件事与库伯内特斯无关强> 回到定义,要使用
并使其工作,我们需要一个名为ingres
的kubernetes资源。而这个资源恰好是一个负载平衡器!就这样 但是,您必须记住,外部世界的负载平衡器与类型为ingrescontroller
的kubernetes服务之间存在差异 总之(为了将外部世界的流量重定向到您的k8s clusterIp服务):type:LoadBalancer
- 您是否需要负载平衡器使您的