Kubernetes的endpoint

news2025/1/17 5:51:35

简介

Kubernetes的endpoint(终结点)是用于将服务绑定到集群中其他组件的网络地址。Endpoint为服务提供了一个稳定的虚拟IP地址,它会负责将流量从Service路由到后端Pod。

下面是使用Kubernetes的endpoint的详细步骤:

  1. 创建一个Service资源定义,该Service将绑定到一组Pod:
apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: backend
  ports:
    - protocol: TCP
      port: 8080
      targetPort: 80

该示例创建了一个名为my-service的Service,它将选择带有"app=backend"标签的Pod,并将流量路由到Pod的80端口。

  1. Kubernetes将在集群中的每个节点上创建一个虚拟IP(ClusterIP),用于表示Service。

  2. 创建一个Endpoint资源定义,将Service绑定到后端Pod的IP地址和端口:

apiVersion: v1
kind: Endpoints
metadata:
  name: my-service
subsets:
  - addresses:
      - ip: 10.0.0.1
      - ip: 10.0.0.2
    ports:
      - port: 80

该示例创建了一个名为my-service的Endpoint,该Endpoint将流量路由到两个IP地址为10.0.0.1和10.0.0.2的Pod的80端口。

  1. Kubernetes会自动将创建的Endpoint与Service进行关联,使得Service可以通过Endpoint来发现后端Pod,并进行负载均衡。

当使用该Service进行通信时,Kubernetes会将流量路由到该Service的虚拟IP地址,然后通过Endpoint将流量转发到后端Pod的实际IP地址和端口。

举个例子,假设我们有一个运行两个Pod的应用程序,并且这些Pod具有"app=backend"的标签。我们创建了一个Service来暴露这两个Pod,并使用Endpoint将它们绑定到Service。现在,我们可以使用Service的虚拟IP地址来与后端Pod进行通信,而不必关心具体的后端Pod IP地址。

请注意,Endpoint是由Kubernetes自动管理的,并且通常不需要直接进行手动操作。它主要用于内部流量路由和服务发现。

注意的地方

Endpoint是可被访问的服务端点,即一个状态为running的pod,它是service的访问的落点,只有service关联的pod才可能成为endpoint。

Endpoint、service和pod的关系:
在这里插入图片描述
Endpoints表示一个Service对应的所有pod副本的访问地址。

Node上的Kube-proxy进程获取每个Service的Endpoints,实现service的负载均衡功能。

在这里插入图片描述

Endpoints Controller

Endpoints Controller就是负责生成和维护所有Endpoints对象的控制器,它负责监听Service和对应的Pod副本的变化。

如果检测到Service被删除,则删除和该Service同名的Endpoints对象。

如果检测到新的Service被创建或者修改则根据该Service信息获得相关的Pod列表,然后创建或者更新Service对应的Endpoints对象。

外部服务与endpoints

手动创建endpoints,添加外部服务的endpoint,可以将外部服务作为kubernetes的service使用。
etcd有3节点部署在外部,为其创建service: etcd-k8s,不指定podSelector:

apiVersion: v1
kind: Service
metadata:
  name: etcd-k8s
  namespace: kube-system
spec:
  type: ClusterIP
  ports:
  - name: port
    port: 2379
    protocol: TCP

创建同名的endpoints资源: etcd-k8s,将etcd节点的ip+port填进去:

apiVersion: v1
kind: Endpoints
metadata:
  name: etcd-k8s
  namespace: kube-system
subsets:
- addresses:
  - ip: 178.104.163.38
    nodeName: etc-master1
  - ip: 178.104.163.187
    nodeName: etc-master2
  - ip: 178.104.163.243
    nodeName: etc-master3
  ports:
  - name: port
    port: 2379
    protocol: TCP

这样,通过serviceName.namespace:port就可以在kubernetes集群内访问外部的etcd服务:

etcd-k8s.kube-system:2379

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/896466.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

超声波传感器(HC-SR04)按时序图手撕驱动

目录 1、简介 2、传感器介绍 2.1 引脚介绍 2.2 时序图介绍 3、 需求与接线 3.1 任务需求 3.2 接线 4、Cubemax配置 4.1 SYS配置 4.2 RCC配置 4.3 时钟树配置 4.4 GPIO初始化 4.5 定时器配置 4.6 生成代码 5、 keil端代码编写 5.1 微妙函数封装 5.2 超声波驱动封装…

机器学习---线性判别分析

1. 基本思想 线性判别分析(Linear Discriminant Analysis, LDA),也叫做 Fisher 线性判别(Fisher Linear Discriminant ,FLD),是模式识别的经典算法,1936年由Ronald Fisher⾸次提出,并在1996年由 Belhumeur引⼊模式识别和⼈⼯智能…

【探索C++】用实例教你理解面向对象编程(看不懂打我版)

(꒪ꇴ꒪ ),Hello我是祐言QAQ我的博客主页:C/C语言,Linux基础,ARM开发板,软件配置等领域博主🌍快上🚘,一起学习,让我们成为一个强大的攻城狮!送给自己和读者的…

软件系统工具-架构师真题(六)

_____不属于可修改性考虑的内容。(2016) 可维护性可扩展性结构重构可变性 答案:D 解析: 可修改性指快速较高的性能价格进行系统优化,包括可维护性、可扩展性、结构重组和可移植性四个方面。 软件系统工具中,软件评…

Docker 常规软件安装

1. 总体安装步骤 1. 搜索镜像 search 2. 拉取镜像 pull 3. 查看镜像 images 4. 启动镜像 - 端口映射 run 5. 停止容器 stop 6. 移除容器 rm 2. 安装tomcat 1. 搜索 docker search tomcat 2. 拉取 docker pull tomcat 3. 查看本地镜像 docker images tomcat 4. 创建容器实…

两个List合并、去重、排序

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

打通应用“壁垒”,数据分类分级结果与安全策略自动匹配

《网络安全法》、《数据安全法》等法律法规,以及各行业各领域与数据安全相关的标准规范,几乎都涉及对数据进行分类分级保护的要求。数据安全始于分类分级,已成为毫无疑问的行业共识。 但现实中不少用户却止步在分类分级工作,“如…

linux虚拟机中各服务端口及配置文件路径

查询端口状况命令: netstat -an| grep 端口号 查询服务状态(服务是否开启)命令:systemctl status 服务名 开启服务命令:systemctl start 服务名 21端口:FTP 文件传输服务 22端口:SSH协议、…

无涯教程-Perl - wait函数

描述 该函数等待子进程终止,返回已故进程的进程ID。进程的退出状态包含在$?中。 语法 以下是此函数的简单语法- wait返回值 如果没有子进程,则此函数返回-1,否则将显示已故进程的进程ID Perl 中的 wait函数 - 无涯教程网无涯教程网提供描述该函数等待子进程终止,返回已故…

怎么把pdf压缩到5m以内?压缩办法非常多

怎么把pdf压缩到5m以内?PDF文件是我们办公过程中较为常用的文件格式,PDF文件所包含的内容通常较多,比如文本、图像以及音视频等等。这样的话,PDF文件占用内存也较大。如果需要对PDF文件进行使用、传输、分享等的话,可能…

中路对线发现正在攻防演练中投毒的红队大佬

背景 2023年8月14日晚,墨菲安全实验室发布《首起针对国内金融企业的开源组件投毒攻击事件》NPM投毒事件分析文章,紧接着我们在8月17日监控到一个新的npm投毒组件包 hreport-preview,该投毒组件用来下载木马文件的域名地址竟然是 img.murphys…

【TypeScript】任意类型

前置准备 在 powershell 安装 ts-node 包,可以先借助 xmzs 包切换淘宝镜像,加快安装速度。 在 vscode 终端执行 npm init -y 生成 package.json 文件 然后在 vscode 终端执行 npm i types/node -D 最后就可以在 vscode 终端执行ts-node,直接…

Typora 相对路径保存图片以及 Gitee 无法显示图片

目录 Typora 相对路径保存图片 Gitee 无法显示图片 Typora 相对路径保存图片 Step1:修改 Typora 的偏好设置 自动在当前目录创建名为 "./${filename}.assets" 的文件夹粘贴图片到 md 中时,图片会自动另存到 "./${filename}.assets&qu…

macOS Ventura 13.5.1(22G90)发布(附黑/白苹果系统镜像地址)

系统镜像下载:百度:黑果魏叔 系统介绍 黑果魏叔 8 月 18 日消息,苹果今日向 Mac 电脑用户推送了 macOS 13.5.1 更新(内部版本号:22G90),本次更新距离上次发布隔了 24 天。 本次更新重点修复了…

ip2region(1):java通过Ip2region实现IP定位

1 Ip2region简介 Ip2region是一个开源工具库,是一种用于IP地址定位的工具。 它是基于B树数据结构的数据库,可用于将IP地址转换为国家、省、市、区县等信息。 使用Ip2region工具,您可以轻松地查找某个IP地址所在的区域信息,从而帮助您进行定位…

页面加载慢问题排查结论

遇到一个很奇怪的现象,已知A和B两个页面,都有调用同一个弹框,但是A页面很快,一切正常,B页面需要加载很久,就很奇怪。 后面又发现,B页面里面不同tab C和D,调用上面的弹框&#xff0c…

专业高度契合|中国文学对接伦敦大学亚非学院访学申请成功

G老师的研究方向以中国文学为主,重点是现当代文学,优先申请英国高校访学,而英国高校从事该领域研究的学者屈指可数,经过努力,我们先后得到伦敦国王学院、斯特林大学及伦敦大学亚非学院的接受意向,用伦敦国王…

【目标检测中对IoU的改进】GIoU,DIoU,CIoU的详细介绍

文章目录 1、IoU2、GIoU(Generalized Intersection over Union)3、DIoU4、CIoU 1、IoU IoU为交并比,即对于pred和Ground Truth:交集/并集 1、IoU可以作为评价指标使用,也可以用于构建IoU loss 1 - IoU 缺点: 2、对于pred和GT相…

学渣的愤怒!自考本科能不能不考英语和数学?

英语和高数哪个更难? 这是自考生们最头大的两个科目。 自考高数有多难? 高数主要有微积分、线性代数和概率论三个部分。 其中微积分是基础、也是重要的一部分,不仅涉及到很多抽象概念和符号运算,还需要具备良好的计算能力和逻…

Nginx的介绍

本资料转载于传智教育-解锁你的IT职业薪未来,仅用于学习和讨论,如有侵权请联系 视频地址:04-Nginx的优点_哔哩哔哩_bilibili 资源文档:链接:https://pan.baidu.com/s/1RlFl92FdxRUqc858JSxPSQ 提取码:12…