k8s:endpoint

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

每个 Endpoint 对象都会包含一组 Pod 的 IP 地址和端口,作为 Service 的后端。当 Service 被定义时,Kubernetes 控制器会监视匹配 Service 选择器的 Pod,并自动更新 Endpoint 对象。这样,当新的 Pod 被创建或现有的 Pod 被删除时,Endpoint 对象将会自动得到更新。

Endpoint 对象的定义形态如下:

kind: Endpoints
apiVersion: v1
metadata:name: my-service
subsets:- addresses:- ip: 192.0.2.42ports:- port: 9376

其中,metadata.name 是 Endpoint 的名称,subsets.addresses.ip 是后端 Pod 的 IP 地址,subsets.ports.port 是要暴露的端口。

然而,请注意,除非有特别的需求,否则通常不需要手动创建或管理 Endpoints 对象。当你使用 Service 来选择 Pod 时,Endpoints 对象会自动被创建和管理。也就是说,只要 Service 选择器能够匹配到 Pod,Kubernetes 就会自动将匹配的 Pod 的 IP 地址和端口添加到 Endpoints 对象中。

总的来说,Endpoint 是 Kubernetes Service 的一个重要组成部分,负责维护一组提供服务的 Pod 的 IP 地址和端口信息,使得 Service 能够通过网络将请求路由到正确的 Pod。

例如:

apiVersion: v1
kind: Service
metadata:name: nginx-svclabels:app: nginx-po
spec:ports:- port: 80targetPort: 80name: webselector: # 匹配哪些pod会被该service代理app: nginx-po  #所有匹配到这些标签的pod都可以通过该service进行访问type: NodePort---apiVersion: apps/v1
kind: StatefulSet
metadata:name: web
spec:serviceName:  "nginx"replicas: 2selector:matchLabels:app: nginx-potemplate:metadata:labels:app: nginx-pospec:containers:- name: nginximage: nginx:1.7.9ports:- containerPort: 80name: webupdateStrategy:rollingUpdate:partition: 0type: RollingUpdate

这个yaml会创建一个 service nginx-svc,它所对应的selector选择器是nginx-po,也就是说所有label为 nginx-po 的pod的端口就会被自动加入到endpoint中。
从下图可以看到所有label为nginx-po的pod的ip都被加入到和service同名的endpoint中。
在这里插入图片描述

将一个新创建的pod加入到已有的endpoint中去

需要将新创建的pod的labels设置成已有svc一样,port端口也要和已有endpoint一样
注意:如果只设置了相同的label,而没有设置port,这种情况下endpoint是识别不到的。

一个已有的svc关联的endpoint

newpod.yal

apiVersion: v1
kind: Pod
metadata:labels:app: gatename: toolbox-0namespace: default
spec:containers:- image: toolbox:v1.0.0imagePullPolicy: IfNotPresentname: toolboxports:- containerPort: 10000name: test_portprotocol: TCP

创建pod之后,可以看到endpoints新增了一个ip:port信息。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法:Java构建二叉树并迭代实现二叉树的前序、中序、后序遍历

先自定义一下二叉树的类: // Definition for a binary tree node. public class TreeNode {int val;TreeNode left;TreeNode right;TreeNode() {}TreeNode(int val) { this.val val; }TreeNode(int val, TreeNode left, TreeNode right) {this.val val;this.left…

Flutter 05 组件状态、生命周期、数据传递(共享)、Key

一、Android界面渲染流程UI树与FlutterUI树的设计思路对比 二、Widget组件生命周期详解 1、Widget组件生命周期 和其他的视图框架比如android的Activity一样,flutter中的视图Widget也存在生命周期,生命周期的回调函数体现在了State上面。组件State的生命…

IDEA创建Springboot多模块项目

一、创建父模块 File --> New --> Project ,选择 “ Spring Initalizr ” ,点击 Next Next Next --> Finish 二、创建子模块 右键根目录,New --> Module 选择 “ Spring Initializr ”,点击Next 此处注意T…

IDEA集成Docker插件打包服务镜像与运行【附Docker命令汇总】

Docker官网 Docker官网:https://www.docker.com/ Docker Hub官网:http://hub.docker.com/ 什么是Docker Docker 是一个开源的容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者和系统管理员在笔记本上编…

D-link未授权访问以及远程代码执行

随便输入一个错误密码,会跳转到页面: /page/login/login.html?errorfail继续访问有效页面漏洞url: /Admin.shtml然后访问管理页面去更改管理密码 直接构造payload访问漏洞url: /cgi-bin/execute_cmd.cgi?cmdid执行命令&#…

JAVA 实现PDF转图片(spire.pdf.free版)

1.引入jar包 导入方法1: 手动引入。将Free Spire.PDF for Java下载到本地,解压,找到lib文件夹下的Spire.PDF.jar文件。在IDEA中打开如下界面,将本地路径中的jar文件引入Java程序: 导入方法2:如果您想通过…

linux 创建git项目并提交到gitee(保姆式教程)

01、git安装与初始化设置 mhzzjmhzzj-virtual-machine:~/work/skynetStudy$ apt install mhzzjmhzzj-virtual-machine:~/work/skynetStudy$ git config --global user.name "用户名" mhzzjmhzzj-virtual-machine:~/work/skynetStudy$ git config --global user.ema…

python脚本监听域名证书过期时间,并将通知消息到钉钉

版本一: 执行脚本带上 --dingtalk-webhook和–domains后指定钉钉token和域名 python3 ssl_spirtime.py --dingtalk-webhook https://oapi.dingtalk.com/robot/send?access_tokenavd345324 --domains www.abc1.com www.abc2.com www.abc3.com脚本如下 #!/usr/bin…

Java配置47-Spring Eureka 未授权访问漏洞修复

文章目录 1. 背景2. 方法2.1 Eureka Server 添加安全组件2.2 Eureka Server 添加参数2.3 重启 Eureka Server2.4 Eureka Server 升级版本2.5 Eureka Client 配置2.6 Eureka Server 添加代码2.7 其他问题 1. 背景 项目组使用的 Spring Boot 比较老,是 1.5.4.RELEASE…

D-Link管理系统默认账号密码

默认口令为 admin:admin 登陆成功 文笔生疏,措辞浅薄,望各位大佬不吝赐教,万分感谢。 免责声明:由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失,均由使用者本人负责, 文章…

贝叶斯网络:利用变量消除(Variable Elimination)进行推理

贝叶斯网络简介 贝叶斯网络(Bayesian network)也叫贝氏网路、信念网络(belief network)或是有向无环图(DAG)模型,是一种概率图模型。它利用DAG的结构,得到一组随机变量{X1,X2,...,Xn}的条件概率分布&#…

matlab双目标定中基线物理长度获取

在MATLAB进行双目摄像机标定时,通常会获得相机的内参,其中包括像素单位的焦距(focal length)以及物理单位的基线长度(baseline)。对于应用中的深度估计和测量,基线长度的物理单位非常重要,因为它直接影响到深度信息的准确性。有时候,您可能只能获取像素单位的焦距和棋…