k8s~ingress_service_endpoint_pod四壮士

这篇具有很好参考价值的文章主要介绍了k8s~ingress_service_endpoint_pod四壮士。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在Kubernetes中,Service和Endpoints是两个重要的概念,它们之间存在着密切的关系。

  • Ingress:Ingress是一个k8s环境的网关,正常情况下,你外部的流量应该先指向ingress所有节点的IP,ingress的端口默认是80(http)和443(https),然后再由ingress进行域名传发到具体的service或者deployment上面。在rancher中,ingress一般以deamonset的形式部署在每个节点上,而很多文章更建议我们,ingress通过deployment的形式部署到k8s的工作节点上。

  • Service:Service是Kubernetes中用于定义一组Pod的访问方式的抽象。通过创建Service,可以为一组具有相同标签的Pod提供统一的访问入口,使得客户端可以通过Service来访问这些Pod,而无需了解其具体的IP地址和端口号。Service通过标签选择器(selector)来选择匹配的Pod,并将请求转发到这些Pod上。

  • Endpoints:Endpoints是Kubernetes中的另一个资源对象,它存储了与一个Service相关联的实际后端Pod的列表和对应的网络终结点信息(即IP地址和端口号)。当Service被创建时,Kubernetes会自动管理Endpoints对象,将与Service标签选择器匹配的Pod的IP地址和端口号信息存储在Endpoints中。

因此,Service和Endpoints之间的关系可以总结为:Service定义了一组Pod的访问方式,而Endpoints则存储了这些Pod的实际网络终结点信息,Service通过Endpoints来实现对后端Pod的负载均衡和代理转发。

  • Pod:Pod是kubernetes的最小管理单元,它有自己的IP地址,它的IP地址会被endpoints存储与管理,当pod没有达到健康时,endpoint会把这个pod ip从列表中移除,service在进行负载到pod时,也是通过这个endpoint进行的,从而实现了负载均衡和健康检查。

ingress,service,endpoints和pod四者关系

k8s~ingress_service_endpoint_pod四壮士

在这个示意图中,Ingress定义了对外部流量的访问规则,包括主机名(host)和路径(path)等。Ingress通过指向一个Service来实现流量的转发。Service根据自身的selector选择与之匹配的Pod,并将请求转发到这些Pod上。Endpoints存储了与Service相关联的后端Pod的IP地址和端口信息,而Pod则是应用程序运行的实际容器。

因此,Ingress定义了对外部流量的访问规则,Service提供了对后端Pod的访问入口,Endpoints存储了这些后端Pod的网络终结点信息,而Pod是应用程序实际运行的地方。

endpoint显示的ip是谁的?

Pod在Kubernetes中是有自己的IP地址的,这个IP地址通常由Kubernetes的网络插件(如Calico、Flannel等)负责分配和管理。每个Pod都会被分配一个独立的IP地址,用于在集群内部进行通信。

而Endpoints对象存储的是与Service关联的后端Pod的IP地址和端口信息,它记录了Service需要代理的实际后端Pod的网络终结点信息。Endpoints并不存储所有Pod的IP地址,而是仅存储与特定Service相关联的Pod的IP地址和端口信息。

因此,可以说Pod具有自己的IP地址,并且Endpoints对象存储了与Service相关的Pod的IP地址和端口信息。

  • 这是一个pod的信息
[root@lind~]# kubectl describe  pod envoy-deployment-786c44794b-rb6wm -n=default
Name:         envoy-deployment-786c44794b-rb6wm
Namespace:    default
Priority:     0
Node:         192.168.60.1/192.168.60.1
Start Time:   Tue, 19 Dec 2023 09:54:24 +0800
Labels:       app=envoy
              pod-template-hash=786c44794b
              workloadID_ingress-10aa232e236bc59c6a7d7d59053154a8=true
              workloadID_ingress-c7fdea094d8b2ab0912781e0867ce277=true
Annotations:  cattle.io/timestamp: 2023-12-19T01:54:22Z
              cni.projectcalico.org/podIP: 10.42.0.150/32
              cni.projectcalico.org/podIPs: 10.42.0.150/32
              field.cattle.io/ports:

  • 这是对应的endpoint的信息
[root@lind~]# kubectl get endpoints -n=default
NAME                                       ENDPOINTS                                                                 AGE
envoy-service                              10.42.0.150:9901,10.42.0.150:10000                                        70d
  • 这是对应的service的信息
[root@lind~]# kubectl get svc -n=default
NAME                                       TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                          AGE
envoy-service                              NodePort    10.43.189.206   <none>        9901:25568/TCP,10000:13908/TCP   70d
  • 这是对应的ingress的信息
[root@lind~]# kubectl get ingress -n=default
NAME                            CLASS    HOSTS                           ADDRESS                                        PORTS   AGE
envoy-final-kc            <none>   test.xxx.com             192.168.60.2,192.168.60.3,192.168.60.4                80      13d

好了,今天的k8s四壮士的文章就写到这里吧,感谢阅读!文章来源地址https://www.toymoban.com/news/detail-760389.html

到了这里,关于k8s~ingress_service_endpoint_pod四壮士的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • k8s:endpoint

    在 Kubernetes 中,Endpoint 是一种 API 对象,它用于表示集群内某个 Service 的具体网络地址。换句话说,它连接到一组由 Service 选择的 Pod,从而使它们能够提供服务。每个 Endpoint 对象都与相应的 Service 对象具有相同的名称,并属于相同的命名空间。 每个 Endpoint 对象都会包含一组

    2024年02月06日
    浏览(39)
  • k8s-service和Ingress学习

    (1)其中主要包含 service 和 Ingress 两部分,其中 service 主要做内部服务的共享, Ingress 主要做外部服务的发现。 (1)首先看一下 service 的网络结构图。 首先部署了2个 nginx 服务,分别部署在 node1 和 node2 节点上。 起一个可以访问 node1 和 node2 节点上的 nginx 的 service 服务。

    2024年02月19日
    浏览(30)
  • k8s ingress

    一、浅谈ingress (ingress 是与service配合使用的)  Ingress能把Service(Kubernetes的服务)配置成外网能够访问的URL,流量负载均衡,及SSL,并提供域名访问的虚拟主机等,客户通过访问URL(API资源服务的形式,例如:caas.one/kibana)进入和请求Service,一个Ingress控制器负责处理所有

    2024年02月12日
    浏览(40)
  • [Kubernetes]9. K8s ingress讲解借助ingress配置http,https访问k8s集群应用

    前面讲解了使用Helm部署mysql集群,这里来看看使用Ingress搭建负载均衡功能 功能类似 Nginx ,可以根据域名、路径把请求转发到不同的 Service , Ingress 为外部访问集群提供了一个 统一 入口, 避免 了 对外暴露集群端口 ,可以配置 https,http访问集群应用,接下来看看如何通过腾讯云来

    2024年01月22日
    浏览(59)
  • k8s更新证书报multiple CRI endpoints错误

    当我需要扩展master节点时,在主节点执行kubeadm init phase upload-certs --upload-certs报错 当加上cri-socket参数仍旧行不通 kubeadm init phase upload-certs --upload-certs --help 查看,原因旧是没有这个–cri-socket选项 重新执行upload-certs并带上–config

    2024年01月22日
    浏览(47)
  • 【K8S 云原生】K8S的对外服务—ingress

    目录 一、K8S的Service 1、Service的作用 2、Service类型: 二、ingress 1、ingress的组成: 2、ingress资源的定义项: 三、nginx-ingress-controller暴露服务端的方式 1、Deployment+LoadBalancer模式: 1、工作流程图: 2、Daemonset+hostnetwork+nodeSelector模式: 1、工作流程图 2、实验: 3、deployment+NodePort

    2024年01月18日
    浏览(47)
  • K8S中的ingress

    前言: Kubernetes暴露服务的方式目前只有三种:LoadBlancer Service、NodePort Service、Ingress;这一片主要聊聊Ingress。 简单说,是一个代理,可以根据配置转发请求到指定的服务上。 通俗来讲,ingress和之前提到的Service、Deployment,也是一个k8s的资源类型,ingress用于实现用域名的方式访

    2024年01月17日
    浏览(46)
  • k8s ingress (二)

    k8s ingress ( 二 ) Ingress介绍 在前面课程中已经提到,Service对集群之外暴露服务的主要方式有两种:NodePort和LoadBalancer,但是这两种方式,都有一定的缺点: NodePort方式的缺点是会占用很多集群机器的端口,那么当集群服务变多的时候,这个缺点就愈发明显 LB方式的缺点是每个

    2024年02月11日
    浏览(50)
  • k8s之ingress

    ingress基于域名进行映射,把url(http https)的请求转发到service,再由service把请求转发到每一个pod ingress只要一个或者少量的公网ip或者LB,可以把多个http请求暴露到外网,七层反向代理 理解为service的service,是一组基于域名和URL路径,把一个或者多个请求转发到service 先是七层代

    2024年01月19日
    浏览(49)
  • k8s自定义Endpoint实现内部pod访问外部应用

    endpoint除了可以暴露pod的IP和端口还可以代理到外部的ip和端口 使用场景 公司业务还还没有完成上云, 一部分云原生的,一部分是实体的 业务上云期间逐步实现上云,保证各个模块之间的解耦性 比如使用云数据库或者实体数据库服务器啥的,因为像数据库实现容器化的话在

    2024年01月25日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包