常见类型的yaml文件如何编写?--kind: Service

基本说明

在 Kubernetes 中,Service 是一种抽象的方式,用于定义一组 Pod 的访问方式和网络服务。Service 提供了一个稳定的网络端点(Endpoint),使得其他服务或外部用户可以通过 Service 来访问被管理的 Pod。

负载均衡:Service 可以将流量均匀地分发到一组后端 Pod。通过使用 Service,您无需直接暴露和管理单个 Pod,而是通过访问 Service 来获得 Pod 的负载均衡能力。

服务发现:Service 使用标签选择器(selector)来识别一组后端 Pod。Pod 上的标签指定了所属的 Service,Service 根据标签选择器找到相应的 Pod,以便进行流量路由和负载均衡。这样,无论 Pod 在何处创建和删除,Service 都能自动调整,以便始终将流量导向匹配的 Pod。

抽象网络:Service 为后端 Pod 提供一个抽象的网络地址和端口。通过 Service,您可以在不影响应用程序的情况下调整后端 Pod 的网络配置。Service 还可以隐藏 Pod 背后的实际 IP 地址和端口,提供更方便和安全的访问方式。

内部和外部访问:Service 在 Kubernetes 集群内提供内部访问,也可以通过外部负载均衡器实现外部访问。Service 的类型(Type)可以配置为 ClusterIPNodePortLoadBalancer 或 ExternalName,以定义不同的访问方式。

通过创建和管理 Service 对象,您可以使应用程序能够以灵活、可扩展且可靠的方式对外提供服务,并根据需要进行流量管理和请求转发。

基本样例

创建 kind: Service 对象需要至少定义以下字段:

apiVersion: v1   
kind: Service
metadata:name: my-service       # Service 的名称
spec:selector:app: my-app          # 用于选择要控制的 Service的标签ports:                 # 定义 Service 暴露的端口。可以指定名称、协议和端口号等信息。- name: http         # 端口的命名port: 80           # 对外的暴漏的端口号targetPort: 8080   # 监控的内部的端口

样例说明

在上面的示例中,列出了一些常用的关键字和其含义,如下所示:

  • apiVersion: Service 对象的 API 版本。在这个示例中,我们使用 v1 版本的 API。

  • kind: 定义对象类型为 Service。

  • metadata:此字段包含了 Service 对象的元数据,如名称、标签等。

  • spec: Service 的规范,用于定义 Service 的行为。

    • selector:此字段定义了后端 Pod 的选择器,即该 Service 所负责的 Pod 的标签选择器。后端 Pod 必须包含此标签才能被 Service 管理。在上述例子中,选择器指定了标签 app: my-app,这意味着该 Service 负责管理标签为 app: my-app 的 Pod。

    • ports:此字段定义了服务对外公开的端口及其对应的目标端口。例如,在上述例子中,Service 对外公开的端口是 80 端口,后端 Pod 监听的端口是 8080 端口。

扩展字段

除了上述字段之外,kind: Service 还有其他可用的选项,例如:

  • spec.type:定义 Service 的类型,如 ClusterIP、NodePort、LoadBalancer 、ExternalName等。在示例中使用的是 ClusterIP 类型,它会为 Service 分配一个集群内部 IP 地址,使其他 Pod 内部能够通过该 IP 地址和端口访问 Service。

  • spec.externalIPs:指定一个或多个外部 IP 地址,Service 将绑定到这些 IP。

  • spec.loadBalancerIP:指定一个公有云提供商 IP 负载均衡器的 IP 地址。

  • spec.clusterIP:手动指定 Service 的 IP 地址。

  • spec.ports.protocol:定义端口使用的协议,如 TCP、UDP 等。

  • spec.sessionAffinity:定义负载均衡算法,如 ClientIP、None 等。

  • spec.externalName:Service 的类型为 ExternalName 时,定义向外部服务的别名。

 

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

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

相关文章

连续整数相加C++

很多整数可以由一段连续的正整数序列(至少两个数)相加而成,比如 25345671213。 输入一个整数 N,输出 N 的全部正整数序列,如果没有则输出 NONE。 输入格式 一个整数 N。 输出格式 每行输出一个满足条件的整数序列。序…

2024.1.13 Kafka六大机制和Structured Streaming

目录 一 . Kafka中生产者数据分发策略 二. Kafka消费者的负载均衡机制 三 . 数据不丢失机制 生产者端是如何保证数据不丢失的呢? Broker端如何保证数据不丢失 消费端如何保证数据不丢失 Kafka中消费者如何对数据仅且只消费一次 四 . 启动Kafka eagle命令 数…

Python数据结构——列表

目录 一、认识Python数据结构 二、列表概述 三、列表切片 (一)概述 (二)常见形式 (三)特别说明 四、列表的基本操作 (一)创建列表 (二)列表元素增加…

全新加密叙事,以Solmash为代表的 LaunchPad 平台如何为用户赋能?

铭文市场的火爆带来“Fair Launch”这种全新的代币启动方式,Fair Launch 的特点在于其为所有人参与 Launch 带来了公平的机会,所有链上玩家们都需要通过先到先得的方式 Mint 资产,VC 在 Fair Launch 中几乎没有话语权,不同的投资者…

CSS伪类:为网页增添交互和样式

CSS伪类是一项强大的特性,它允许开发者根据不同的状态、位置和结构选择器来选择和样式化HTML元素。通过使用CSS伪类,我们可以为网页增添交互性、响应性和样式化效果。本文将深入探讨CSS伪类的概念、常见用法和一些实用示例。 CSS伪类是什么 CSS伪类是一…

qml 传递界面对象指针给c++,以及c++调用qml函数,并在c++中更新ChartView数据

由于QVariant在qml中构建解析大量数据时,效率较低,比如有60万个点时,C++用QVariant传到qml中时,界面就会很卡。所以逆向思维,把qml界面对象指针传给c++,在c++中渲染界面数据。 下面讲具体实现: 1.c++创建对象并暴露给qml,并定义槽函数给qml直接调用 global.h:class…

【AI的未来 - AI Agent系列】【MetaGPT】1. AI Agent如何重构世界

上篇文章我们跑起来了第一个MetaGPT程序。本文主要学习了一下理论,什么是智能体,以及智能体如何重构世界。 0. 什么是智能体 智能体 LLM观察思考行动记忆 多智能体 智能体环境SOP评审路由订阅经济 用人话说,我理解的Agent: 智…

C#MQTT编程01--MQTT介绍

1、前言 近年来物联网的发展如火如荼已经渗透到我们生活的方方面面。从智能家居到工业自动化从智慧城市到智慧农业物联网,正在以前所未有的速度改变着我们的生活。 大家现在可能已经习惯了通过手机控制家里的灯光、空调和电视,这就是物联网在智能家居领域…

完美解决报错Please verify that the package.json has a valid “main“ entry处理方法

出现下图中的错误 ,说明缺少main入口 解决方法: 1.删除 node_modules 和 package-lock.json这两个文件 2.命令行输入npm i 会重新下载包 3.重新执行检查没有报错

QT常见组件

Qt 提供了非常丰富的图形用户界面(GUI)组件,这些组件可以按照功能和用途进行分类。由于Qt库的组件众多且不断更新,以下是一份大致分类及其包含的部分组件示例,并非所有Qt版本或模块都包括以下全部控件,但涵…

01循环算法

1.求小数点的某一位&#xff0c;且超出float和double的精度问题 【题目描述】 分数a/b化为小数后&#xff0c;小数点后第n位的数字是多少&#xff1f; 【输入】 三个正整数a&#xff0c;b&#xff0c;n&#xff0c;相邻两个数之间用单个空格隔开。0<a<b<100&#…

组织管理开源项目邀请入伙

背景 企业数字化平台基础 企业数字化或者信息化&#xff08;这两者有一些区别&#xff09;实施过程中&#xff0c;基本上一个系统、产品的实施、上线都可能会碰到组织人员集成问题&#xff0c;组织机构一般组织机构部门&#xff0c;岗位&#xff0c;人员&#xff0c;可能会有…

【微信小程序独立开发2】授权登录 上

前言&#xff1a;这一节设想完成的功能为进入小程序后请求授权信息&#xff0c;用户授权登录后&#xff0c;弹出宠物登记页面&#xff0c;并根据宠物类型播放背景音乐 小程序昵称头像在之前的版本获取规则为触发后弹出用户授权弹窗&#xff0c;授权后可直接获取用户头像和昵称&…

使用 CMake 和 Ninja 构建 C/C++ 项目的教程

使用 CMake 和 Ninja 构建 C/C 项目的教程 CMake 是一个跨平台的开源构建工具&#xff0c;它简化了项目的构建过程。而 Ninja 是一个快速、轻量级的构建系统&#xff0c;与 CMake 配合使用可以提高项目的构建效率。本教程将向你介绍如何使用 CMake 和 Ninja 来构建你的 C/C 项…

设计模式:简单工厂、工厂方法、抽象工厂的区别

设计模式&#xff1a;简单工厂、工厂方法、抽象工厂的区别 简单工厂模式&#xff08;Simple Factory Pattern&#xff09; 描述&#xff1a; 简单工厂模式并不是严格意义上的设计模式&#xff0c;而更像是一种编程习惯或者说是一种创建对象的简单方式。它使用一个工厂类来创建…

SQL_DQL_执行顺序

SELECT 字段列表 4 1 FROM 表名列表 1 WHERE 条件列表 &#xff08;可以有多个条…

金融科技革命:数字化如何塑造未来经济_光点科技

当今世界&#xff0c;数字化不仅是一种趋势&#xff0c;更是深刻重塑经济和金融领域的关键力量。在这个过程中&#xff0c;金融科技&#xff08;FinTech&#xff09;崭露头角&#xff0c;成为革命性变化的代名词。以下是数字化技术在经济和金融领域的几个关键应用&#xff0c;它…

YOLOv5独家原创改进:多层次特征融合(SDI)结合PConv、DualConv、GSConv,实现二次创新 | UNet v2最新论文

💡💡💡本文独家改进:多层次特征融合(SDI)高效结合DualConv、PConv、GSConv等实现二次创新 1)替代原始的Concat; 收录 YOLOv5原创自研 https://blog.csdn.net/m0_63774211/category_12511931.html 💡💡💡全网独家首发创新(原创),适合paper !!! 💡�…

LC1049. 最后一块石头的重量 II

代码随想录 class Solution {public int lastStoneWeightII(int[] stones) {int sum 0;for(int i : stones){sum i;}int target sum >> 1;int []dp new int[target1];for(int i 0 ; i < stones.length; i ){for(int j target ; j > stones[i] ; j --){dp[j] …

高度自适应scroll-view,uniapp项目

中间粉红的区域高度自适应,不管换什么机型&#xff0c;高度都自适应 <template><!-- 合同-待确认 --><view class"viewport"><!-- 上 --><view class"top-box"><!-- tab --><view class"tabs"><te…