ClusterIP 是 Service 的默认类型。它为 Service 分配一个集群内部的虚拟 IP 地址(VIP),该地址仅在集群内部可访问。ClusterIP 使得集群内的 Pods 能够通过 Service 的 IP 地址和端口访问到一组后端的 Pods。 使用场景示例: 假设你有一个内部 Web 应用,它只在集群内部提供服务,不需要从外部访问。你可以创建一个...
当通过 API 创建/修改 Service对象时,EndpointsController的 Informer 机制 Listen 到 Service 对象,然后根据 Service 的配置的选择器创建一个 Endpoints 对象,此对象将 Pod 的 IP、容器端口做记录并存储到 etcd,这样 Service 只要看一下自己名下的 Endpoints 就可以知道所对应 Pod 信息了。 当Pod 发生变更(如新的 ...
类型为ClusterIP的service,这个service有一个Cluster-IP,其实就一个VIP。具体实现原理依靠kubeproxy组件,通过iptables或是ipvs实现。 这种类型的service 只能在集群内访问。 NodePort 我们的场景不全是集群内访问,也需要集群外业务访问。那么ClusterIP就满足不了了。NodePort当然是其中的一种实现方案。 创建NodePort 类型ser...
serviceName: svc-1 # 说明外部访问 www1.atguigu.com 就是访问内部我们上面定义的那个 svc-1(前面定义的第一套我们自己那个svc的名称) servicePort: 80 - host: www2.atguigu.com http: paths: - path: / backend: serviceName: svc-2 # 说明外部访问 www2.atguigu.com 就是访问内部我们上面定义的那个 ...
Kubernetes ServiceTypes 允许指定一个需要的类型的 Service,默认是 ClusterIP 类型。 Type 的取值以及行为如下: 1)ClusterIP:通过集群的内部 IP 暴露服务,选择该值,服务只能够在集群内部可以访问,这也是默认的 ServiceType。 2)NodePort:通过每个 Node 上的 IP 和静态端口(NodePort)暴露服务。NodePort 服务会路由到...
1.2 Service的几种类型 (1)ClusterIP ClusterIP 服务是Kubernetes的默认服务。它给你一个集群内的服务,集群内的其它应用都可以访问该服务,但是集群外部无法访问它。 因此,这种服务常被用于内部程序互相的访问,且不需要外部访问,那么这个时候用ClusterIP就比较合适,如下面的yaml文件所示: ...
1.CluserIP和无头service # 修改type=CluserIPkubectl edit service service 向集群内部暴露一个IP,外部无法访问,随机iptype: CluserIP CluserIP: None CluserIP:集群内网ip 无头service就是CluserIP没有的service,主要作用:因为访问可以直接用ingress域名端口转发,所以可以不使用内网ip,占ip资源。一般给ingress使用 ...
在K8S中,我们可以通过Service Type来定义Service的访问方式。以下是K8S中常用的几种Service Type: - ClusterIP:通过集群内部的虚拟IP来提供Service的访问。这种类型的Service只在集群内部可访问,对外部不可见。这是默认的Service Type。 - NodePort:在每个集群节点上开放一个指定端口,该端口转发到Service上。这种类型的...
ClusterIP 类型的 Service创建service-clusterip.yaml 文件apiVersion: v1 kind: Service metadata: name: service-clusterip namespace: dev spec: selector: app: nginx-pod clusterIP: 10.97.97.97 # service 的 ip 地址,如果不写,默认会生成一个 type: ClusterIP ports: - port: 80 # Service 端口 tar...