首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

服务通过Cluster-IP工作,而不是通过Ingress

Cluster-IP是Kubernetes中的一种服务类型,用于在集群内部提供服务的访问。它为服务分配一个虚拟的Cluster-IP地址,该地址只在集群内部可用,外部无法直接访问。通过Cluster-IP,可以在集群内部的其他Pod或服务中使用该地址来访问服务。

Cluster-IP的工作原理是通过Kubernetes的Service资源来实现的。当创建一个Service时,可以指定其类型为ClusterIP。Kubernetes会为该Service分配一个虚拟的Cluster-IP地址,并将该地址与Service关联起来。当其他Pod或服务需要访问该Service时,可以使用该Cluster-IP地址进行通信。

Cluster-IP的优势在于:

  1. 内部访问:Cluster-IP只在集群内部可用,外部无法直接访问。这样可以保证服务的安全性,只有集群内部的其他Pod或服务才能访问该服务。
  2. 内部负载均衡:Cluster-IP可以实现内部的负载均衡。当多个Pod提供相同的服务时,Cluster-IP会将请求分发到这些Pod之间,实现负载均衡的效果。
  3. 简化网络配置:使用Cluster-IP可以简化网络配置。无需手动配置每个Pod的网络地址,只需要使用Cluster-IP地址即可访问服务。

Cluster-IP适用于需要在集群内部提供服务的场景,例如内部的微服务通信、数据库访问、消息队列等。对于外部访问服务的需求,可以通过其他方式,如Ingress来实现。

腾讯云提供了一系列与Kubernetes相关的产品,可以帮助用户轻松搭建和管理Kubernetes集群。其中包括腾讯云容器服务 TKE(Tencent Kubernetes Engine),可以帮助用户快速创建和管理Kubernetes集群。您可以通过以下链接了解更多关于腾讯云容器服务TKE的信息:https://cloud.tencent.com/product/tke

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

tke中如何通过clb类型ingress转发集群内和集群外服务

一般集群提供对外服务,都是用clb类型的ingress,那么如何将集群外cvm自建的服务也加到ingress的clb上呢?...由于tke这边关联的clb,有自己的生命周期管理,所以不能直接单独在clb那边加上监听配置,一旦ingress触发更新,就会覆盖手动在clb加的配置。 既然这样的话,是不是没有其他办法来解决呢?...其实这里还是有办法的,我们可以用endpoint的方式来引入外部服务到集群内,然后ingress转发到外部服务的svc即可。 但是这里还是有限制,就是ingress不能用直连类型,为什么不行呢?...下面我们具体来实践下,首先我们在集群外部署一个nginx服务,然后集群内有一个springboot的接口服务,我们通过一个clb类型ingress来转发 创建下endpoint和svc将外部服务引入到集群...ingress对应clb的vip来进行访问了 image.png image.png 可以发现,我们可以通过一个一个clb的不同路径访问到集群内和集群外服务了 注意: 如果ingress转发到endpoint

1.2K10
  • kubernetes—Service介绍

    Service介绍 在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用pod的ip对服务进行访问。...通过访问Service的入口地址就能访问到后面的pod服务。...当创建Service的时候会通过api-server向etcd写入创建的service的信息,kube-proxy会基于监听的机制发现这种Service的变动,然后它会将最新的Service信息转换成对应的访问规则...工作机制大致如下图表示: 实际上,Ingress相当于一个7层的负载均衡器,是kubernetes对反向代理的一个抽象,它的工作原理类似于Nginx,可以理解成在Ingress里建立诸多映射规则,Ingress...配置写入到一个运行着的Nginx服务中,并动态更新 到此为止,其实真正在工作的就是一个Nginx了,内部配置了用户定义的请求转发规则 Ingress使用 环境准备 搭建ingress环境 # 创建文件夹

    61421

    K8s 常用 IP 地址类型知多少

    所谓四层负载均衡,也就是主要通过包的四层信息( src/dst ip, src/dst port, proto),再加上负载均衡设备所设置的服务器选择方式,决定最终选择的内部服务器。...这意味着这里的 Ingress 只能工作在 L4 LB 后面。 为什么不把 Ingress 直接通过 public IP 暴露在 internet 上呢?答案当然是可以的。...从这里我们也可以看出来多级混合负载均衡的时候,通常应是工作在OSI 网络模型低层的负载均衡在前,工作在高层的负载均衡在后。...下图展示了在这种类型下,客户端通过向 Node1 的 IP 地址(端口未画出)发起请求,但最终由位于 Node2上的 Pod B 提供服务的流程。...Ingress 有其它方法以 service 为线索得知它背后的 Pod 地址。 在步骤 ⑤ ,Pod 得知了 bill service 的 Cluster-IP ,这就足够了。

    1K20

    kubernetes Service:让客户端发现pod并与之通信

    5.4.通过Ingress暴露服务 为什么使用Ingress,一个重要的原因是LoadBalancer服务都需要创建自己的负载均衡器,以及独有的公有Ip地址,Ingress只需要一个公网Ip就能为许多服务提供访问...5.4.1.创建Ingress资源 Ingress 事实上不是一种服务类型。相反,它处于多个服务的前端,扮演着“智能路由”或者集群入口的角色。...,控制器和后端pod之间的通信则不是。...5.4.通过Ingress暴露服务 为什么使用Ingress,一个重要的原因是LoadBalancer服务都需要创建自己的负载均衡器,以及独有的公有Ip地址,Ingress只需要一个公网Ip就能为许多服务提供访问...,控制器和后端pod之间的通信则不是

    2.9K50

    你知道K8S暴露服务的方式有哪些吗?

    可以通过运行 kubectl get svc my-service 查看分配的 IP 地址。集群中的其他服务可以使用 10.96.0.1:80 与这个的 Service 管控的服务进行交互。...➜ kubectl get svc app-service NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)...您可以使用NodePort快速设置用于开发环境的服务或在其上公开TCP或UDP服务,但是对于公开HTTP服务来说NodePort不是一个的理想选择,因为其使用的都是非HTTP标准的端口,我们需要使用其他替代方案...如果想使用 HTTPs 访问服务,可以通过Ingress 规范中设置tls字段来配置 SSL: spec: tls: - hosts: - example.com...如果向外暴露的是HTTP服务,且需要提供域名和URL路径路由能力时则需要在Service上面再加一层Ingress做反向代理才行。

    2.3K20

    kubernetes Service:让客户端发现pod并与之通信

    5.4.通过Ingress暴露服务 为什么使用Ingress,一个重要的原因是LoadBalancer服务都需要创建自己的负载均衡器,以及独有的公有Ip地址,Ingress只需要一个公网Ip就能为许多服务提供访问...5.4.1.创建Ingress资源 Ingress 事实上不是一种服务类型。相反,它处于多个服务的前端,扮演着“智能路由”或者集群入口的角色。...ingress # kubectl create -f ingress.yml 5.4.2.通过Ingress访问服务 通过kubectl get ing命令进行查看ingress # kubectl...,控制器和后端pod之间的通信则不是。...存活探针通过杀死异常容器,并用新的正常的容器来替代他保证pod正常工作。 就绪探针只有准备好处理请求pod才会接收他的请求。

    2.2K30

    k8s loadbalancer与ingress实践

    k8s可以通过三种方式将集群内服务暴露到外网,分别是NodePort、LoadBalancer、Ingress,其中NodePort作为基础通信形式我们在《k8s网络模型与集群通信》中进行了介绍,这里我们主要关注...即可,接着Service 的通过status.loadBalancer字段将需要创建的负载均衡器信息发布供负载均衡服务创建。...当然k8s中的另一种资源对象ingress工作在 L7 层实现应用程序协议(HTTP/HTTPS)的负载均衡。...ingress-controller不是k8s内部组件,可以通过helm或资源清单方式安装,可查看ingress-nginx deploy[8] kubectl apply -f https://raw.githubusercontent.com.../rewrite-target是nginx-ingress controller的一个注解,当后端服务中暴露的 URL 与 Ingress 规则中指定的路径不同时可以通过此重定向。

    1.3K20

    【K8S专栏】Kubernetes应用访问管理

    (1)、Cluster IP:通过 集群内部IP暴露服务,默认是这个类型,选择该值,这个Service服务只能通过集群内部访问; (2)、LoadBalance:使用云提供商的负载均衡器,可以向外部暴露服务...在实际工作,有些场景是需要自定义Endpoints的,比如在集群外部署了一个Redis服务,集群内部想通过Service的方式进行访问,这时候就可以通过自定义Endpints的方式实现,如下: kind...对于运行在集群外部的服务,它通过返回该外部服务的别名这种方式来提供服务。...访问这个服务工作方式与其它的相同,唯一不同的是重定向发生在 DNS 层,而且不会进行代理或转发。...Ingress的选型非常多,可以根据企业的实际情况(比如技术栈、熟悉程度、规模大小)进行选择,Service主要还是在集群内部使用。

    1.5K10

    初试 Kubernetes 集群中使用 Traefik 反向代理

    目录 Traefik 介绍 环境、软件准备 部署 Traefik 部署 Traefik UI 部署自定义 Ingress 部分特性说明 1、Traefik 介绍 在日常工作中,我们经常使用...Nginx、Apache 等工具作为反向代理、负载均衡, Træfik 是一个为了让部署微服务更加便捷诞生的 HTTP 反向代理、负载均衡工具。...而且传统的反向代理对服务动态变化的支持不是很方便,也就是服务变更后,我们不是很容易立马改变配置和热加载。...5、部署自定义 Ingress 好了,上边我们通过部署一个 Traefik 提供的 traefik-web-ui 服务,初窥了一下 Traefik,现在我们自定义一个 Ingress 来实现服务暴漏...接下来,看下通过域名下不同的路径转发到不同的服务上去的 Ingress 配置,Yaml 文件如下。

    5.7K101

    Kubernetes(三) 如何从外部访问服务

    通过NodePort, 此时集群中每一个节点(Node)都会监听指定端口, 我们通过任意节点的端口即可访问到指定服务. 但过多的服务会开启大量端口难以维护. 通过LoadBalance来暴露服务....LoadBalance(负载均衡 LB)通常由云服务商提供, 如果云环境中不提供LB服务, 我们通常直接使用Ingress, 或使用MetalLB来自行配置LB. 通过Ingress公开多个服务....在云服务商不提供LB服务的情况下, 我们可以直接使用Ingress来暴露服务. (另外, 使用LB + Ingress的部署方案可以避免过多LB应用带来的花费)....NodePort 集群中每一个节点(Node)都会监听指定端口, 我们通过任意节点的端口即可访问到指定服务. 但过多的服务会开启大量端口难以维护....LB配合Ingress使用, 通过不同的path来区分服务能达到很棒的效果.

    2.8K20
    领券