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.mzph.cn/news/129556.shtml

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

相关文章

【C语言初学者周冲刺计划】5.1C语言知识点小总结

目录 1知识点一: 2知识点二: 3知识点三: 4代码: 5总结: 1知识点一: 1 C语言中要求对变量作强制定义的主要理由是( )。 便于确定类型和分配空间 2 【单选题】若有定义:int m7; float x…

ssh 免密连接远程服务器并使用Python执行scp传输文件

找到自己Mac的ssh公钥,如果没有ssh密钥的话,需要生成一下 cat ~/.ssh/id_rsa.pub# 在~/.ssh路径下面执行命令生成ssh密钥 ssh-keygen -t rsa然后找到要免密登陆的远程服务器 ~/.ssh/authorized_keys 把自己Mac上面的公钥拷贝到这里面即可 Python脚本 …

云安全-云原生k8s攻击点(8080,6443,10250未授权攻击点)

0x00 k8s简介 k8s(Kubernetes) 是容器管理平台,用来管理容器化的应用,提供快速的容器调度、弹性伸缩等诸多功能,可以理解为容器云,不涉及到业务层面的开发。只要你的应用可以实现容器化,就可以部…

Webpack搭建本地服务器

一、搭建webpack本地服务 1.为什么要搭建本地服务器? 目前我们开发的代码,为了运行需要有两个操作: 操作一:npm run build,编译相关的代码;操作二:通过live server或者直接通过浏览器&#x…

Docker 查看Image镜像的Dockerfile方法

1、创建测试镜像 Dockerfile: FROM centos LABEL maintainer"NGINX Docker Maintainers docker-maintnginx.com" RUN yum install -y nginx RUN echo "Nginx Web: CMD defining default arguments for an ENTRYPOINT" > /usr/share/nginx/html/index.…

设计模式——迭代器模式(Iterator Pattern)+ Spring相关源码

文章目录 一、迭代器模式二、例子2.1 菜鸟例子2.1.1 定义迭代器接口2.1.2 定义迭代对象接口——用于返回一个迭代器2.1.3 实现 迭代对象 和 迭代器2.1.4 使用 2.2 JDK源码——ArrayList2.3 Spring源码——DefaultListableBeanFactory 三、其他设计模式 一、迭代器模式 类型&am…

Leetcode刷题详解——反转链表

1. 题目链接:206. 反转链表 2. 题目描述: 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1]示例 2: 输入&#xff1…

炫云客户端信用额度如何修改?

现在炫云新注册用户信用额度是100元,但是有人觉得信用额度太高了,想修改信用额度,不知道炫云的信用额度如何修改,今天就教大家如何修改炫云的信用额度。炫云的信用额度在炫云官网和客户端都可以修改。 我们先来看炫云官网如何修改…

蓝桥杯官网填空题(递增序列)

题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 对于一个字母矩阵,我们称矩阵中的一个递增序列是指在矩阵中找到两个字母,它们在同一行,同一列,或者在同一 45 度的斜…

微服务设计模式-架构真题(六十八)

UNIX的源代码控制工具(Source Code control System,SCCS)是项目开发中常用的()。 源代码静态分析工具文档分析工具版本控制工具再工程工具 答案:C 解析: SCCS是版本控制工具 网闸的描述错误的是()。 双…

【数据结构】归并排序 的递归实现与非递归实现

归并排序 前言一、归并排序递归实现(1)归并排序的核心思路(2)归并排序实现的核心步骤(3)归并排序码源详解(4)归并排序效率分析1)时间复杂度 O(N*logN&#xf…

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

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

ffmpeg的基本功能介绍

之前对ffmpeg有一个模糊的印象,后来经过一些项目对ffmpeg有了深入的认识,这里总结下。 最开始对ffmpeg的印象是可以对视频进行一些处理操作,但是做哪些操作又不是很清楚,知其然不知其所以然。下面对于ffmpeg的功能进行一个总结&a…

FPGA 如何 固化程序到 FLASH中

1、导出Hardware 2、导出bit文件 3、打开SDK 4、 点击Ok 5、创建工程 6、 输入工程名称:guhua 7、选择 Zynq FSBL 8、单击 guhua、然后点击 build 点击:build all 9、 右键之后,点击:Creat Boot Image 10、点击 Cr…

水库大坝可视化智能远程监管方案,助力安全监测智能巡检

一、背景需求 水库大坝作为防洪度汛的重要设施,其安全问题直接关系到人民群众的生命财产安全。因此,必须加强对大坝水库的安全管理,对水库除险加固和运行管护要消除存量隐患,实现常态化管理,同时要配套完善重点小型水…

Leetcode—485.最大连续1的个数【简单】

2023每日刷题&#xff08;十五&#xff09; Leetcode—485.最大连续1的个数 实现代码 int findMaxConsecutiveOnes(int* nums, int numsSize){int max 0;int i;int flag 0;int cnt 0;for(i 0; i < numsSize; i) {if(nums[i] 1) {if(flag 0) {flag 1;cnt 1;} else {…

【C++学习笔记】C++20的jthread

jthread基于std::thread主要增加了以下两个功能&#xff1a; jthread 对象被析构时&#xff0c;会自动调用join&#xff0c;等待其所表示的执行流结束。jthread支持外部请求中止&#xff08;通过 get_stop_source、get_stop_token 和 request_stop &#xff09;。 std::jthrea…

AIOPS学习资源

时间序列分析-B站-选看 时间序列分析的基础、原理、算法和应用-知乎 时间序列数据分析101 - (1) 一份全面详尽的时间序列入门教程-知乎-推荐 图解 72 个机器学习基础知识点-推荐 机器学习算法-推荐 机器学习入门与核心概念-B站 机器学习&#xff1a;盘点最常见的7种数据预…

ARM 版 OpenEuler 22.03 部署 KubeSphere v3.4.0 不完全指南续篇

作者&#xff1a;运维有术 前言 知识点 定级&#xff1a;入门级KubeKey 安装部署 ARM 版 KubeSphere 和 KubernetesARM 版 KubeSphere 和 Kubernetes 常见问题 实战服务器配置 (个人云上测试服务器) 主机名IPCPU内存系统盘数据盘用途ks-master-1172.16.33.1661650200KubeSp…

3D人像手办定制业务再掀热潮,这一次有怎样的革新?(方法篇)

最近&#xff0c;3D真人手办热潮再起&#xff0c;最出圈的一次当属亚运会的3D打印元宇宙体验舱里面各国运动员带火的真人手办定制项目。作为3D技术推广者&#xff0c;博雅仔也在后台接受了很多朋友的询问—— ◆ 技术已经成熟了吗&#xff1f; ◆ 个人定做3D真人手办市场价格…