在k8s中,客户端访问服务的链路流程,ingress--->service--->deployment--->pod--->container

ingress是一个API资源。

其核心作用是nginx网页服务器。

当客户端访问服务器不同的url时,

用不同的location提供服务。

在k8s之外,nginx的配置一般如下:

http {server {listen       80;server_name  localhost;location / {root   html;             # 网页文件根目录index  index.html index.htm;    #默认首页
#设置默认首页为index.html,当用户在浏览器地址栏中只写域名或IP,不说访问什么页面时,服务器会把默认首页index.html返回给用户}location ~ \.php$ {          # "~"匹配正则表达式,# 当用户访问以.php结尾的网页文件时,服务器按照此模块的定义,提供动态网页服务root           html;                 fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;include        fastcgi.conf;}}

在k8s平台,ingress调用nginx的服务,来实现不同的url对应不同的location.

用命令行创建ingress资源文件模版时,需要指定两个参数,

一个是--class=

另一个是--rule=

--class是控制器的类,表明ingress要调用哪个控制器的类作为ingress资源的控制器,

可选nginx和haproxy,一般用nginx

--rule是控制器提供服务的规则,

相当于平常写的location,

在k8s,用命令行创建ingress资源文件的模版时,

一般用--rule="/path=svc:port"来实现"location"的功能。

比如--rule="/hello=hello:3579"

当用户访问/hello路径时,ingress提供名为"hello"的服务,hello服务使3579端口

资源文件如下:

 

spec:ingressClassName: nginxrules:- http:paths:- pathType: Prefixpath: /hellobackend:service:name: helloport:number: 3579

path对应backend:

backend是service,也就是服务

服务名为hello,端口号为3579

定义一个服务名为hello,端口号为3579的后端服务。ingress就能连接到这个服务了。

资源文件如下,是一个nodeport类型的服务(service):

---
kind: Service
apiVersion: v1
metadata:name: hello
spec:type: NodePortselector:app: websiteports:- name: webprotocol: TCPport: 3579targetPort: http

nodeport是个端口转发类型的服务,

当服务请求到达一个计算节点时,

这个服务将被转发到一个后端端口,

图中的例子,后端端口是http.

而这个http实际上,

就是deployment管理的pod中的容器,所监听的端口名。

在deployment的资源文件中,

定义了一组以http为监听端口名的pod

资源文件如下:

---
kind: Deployment          
apiVersion: apps/v1       
metadata:                 name: deployabc          
spec:                     replicas: 3             selector:               matchLabels:          app: deploy-web     # deployment通过这个标签来确定哪个Pod由它来管理template:               # 定义用来创建 Pod 的模板,以下为 Pod 定义metadata:labels:app: deploy-webspec:containers:- name: apacheimage: myos:httpd       ports:       - name: http            # pod中,容器监听的端口名protocol: TCP         # pod中,容器监听的端口的协议containerPort: 80     # pod中,容器监听的端口号

那么服务请求就会到达pod中的容器。

其实步骤也可以概括为,

客户端---> ingress---> service---->depolyment

因为deployment的具体运作,前面的步骤是可以不用关心的。

deployment定义好其管理的pod的模版的详细情况,包括pod中的容器的信息。

根据这个pod的模版,deployment就可以实时的调整pod的数量

按照需求,来进行弹性管理。

来提供一个自动化管理的pod的集群。

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

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

相关文章

HarmonyOS开发之(下拉刷新,上拉加载)控件pulltorefresh组件的使用

效果图: 一:下载安装(地址:OpenHarmony-SIG/PullToRefresh) ohpm install ohos/pulltorefresh 二:使用lazyForEarch的数据作为数据源 export class BasicDataSource implements IDataSource{private l…

外卖会员卡是不是一个骗局?

大家好,我是鲸天科技千千,大家都知道我是做小程序开发的,平时会给大家分享一些互联网相关的创业项目,感兴趣的可以跟我关注一下。 首先就是要搭建一个自己的外卖会员卡系统小程序,我们自己的工作就是把这个小程序推广…

海外云手机——跨国业务的高效工具

海外云手机是一种基于云计算的虚拟手机服务,依托海外服务器实现跨国网络访问。这项服务不仅具备传统智能手机的所有功能,还突破了地域限制,为跨国业务提供更加便捷、高效、安全的解决方案。 随着全球化的加速和互联网的快速普及,跨…

LabVIEW减速机加载控制系统

为了保障减速机的产品质量,开发了一套基于LabVIEW的减速机加载控制系统。该系统利用先进的传感技术与自动化控制理念,实现了减速机性能的全面测试与分析,有效提升了生产线的自动化水平与检测效率。 项目背景 随着工业自动化水平的不断提高&a…

002 JavaClent操作RabbitMQ

Java Client操作RabbitMQ 文章目录 Java Client操作RabbitMQ1.pom依赖2.连接工具类3.简单模式4.工作队列模式(work)公平调度示例 5.发布/订阅模式(fanout)交换机绑定示例代码 6.路由模式(direct)7.Topic匹配…

基于yolov8的无人机检测系统python源码+onnx模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv8的无人机检测系统是一项前沿技术,结合了YOLOv8深度学习模型的强大目标检测能力与无人机的灵活性。YOLOv8作为YOLO系列的最新版本,在检测精度和速度上均有显著提升,特别适用于复杂和高动态的场景。 该系统通过捕获实…

quartz 搭配SQL Server时出现deadlock的解决方案

背景: 最近在折腾换OA系统,遇到了一个很诡异的事情。在测试阶段,OA系统经常莫名地宕机,停止响应。查下来,发现是数据库出现大量死锁,耗尽了连接池。出现问题的语句是一样的,问题锁定在QRTZ_TRI…

学习使用在windows系统上安装vue前端框架以及环境配置图文教程

学习使用在windows系统上安装vue前端框架以及环境配置图文教程 1、安装nodejs2、安装vue3、安装Vue-cli脚手架4、安装高版本5、创建vue项目6、启动项目7、配置开发环境8、发布项目 1、安装nodejs 点我查看教程 2、安装vue winR,打开cmd cnpm install vue -g表示安…

COMDEL电源维修CLX2500康戴尔射频电源维修

美国COMDEL射频电源维修常见型号包括:CLX2750;CLX2500;CLX-600H;CX600AS;CX-5000S;CX-3500S;CX-2500S;CV500;CDX2000等。 Comdel成立于1966年,总部设在马萨诸…

pdf转jpg工具分享,4款搞定90%的PDF转格式

PDF转换真的是要学会的技能,我最近遇到了一个难题:我需要将一些PDF文件转换成JPG格式,以便在不同的设备上查看和编辑。我尝试了几个不同的工具,今天,我就来和大家分享一下我的使用体验,希望能帮到和我一样在…

企业社会信任数据,信任指数(2004-2022年)

企业社会信任是指公众对企业及其行为的信任程度,这种信任度是基于企业的商业行为、产品质量、服务态度、信息披露透明度和社会责任履行等多方面因素的综合评估。 2004年-2022年 企业社会信任数据(大数据)https://download.csdn.n…

Netty笔记06-组件ByteBuf

文章目录 概述ByteBuf 的特点ByteBuf的组成ByteBuf 的生命周期 ByteBuf 相关api1. ByteBuf 的创建2. 直接内存 vs 堆内存3. 池化 vs 非池化4. ByteBuf写入代码示例 5. ByteBuffer扩容6. ByteBuf 读取7. retain() & release()TailContext 释放未处理消息逻辑HeadContext 8. …

电脑与电脑之间怎么快速传输文件?

若两台电脑在同一局域网,可以使用Windows远程桌面传输文件,或者使用远程看看这款免费的远程桌面软件,它支持在不同的网络之间传输文件,而且速度快、安全性高。 步骤1. 在两台电脑上下载、安装并运行远程看看。 步骤2. 注册一个远…

CGAL 从DSM到DTM filtering

CGAL 从DSM到DTM filtering 上一节通过连通区域计算并将连通信息保存到三角面片中,获取了多个连通区域,本节将设置阈值将建筑物区域移除,生成一个最初的DTM。 建筑物区域去除 设置阈值为min_size,遍历三角面片,对连…

macOS系统Homebrew工具安装及使用

1.打开Homebrew — The Missing Package Manager for macOS (or Linux) 2.复制安装命令到终端执行 复制 执行 3. 开始自动安装过程 4.安装成功 5.使用brew安装wget工具

基于SSM的在线家教管理系统(含源码+sql+视频导入教程+文档+PPT)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于SSM的在线家教管理系统拥有三个角色 管理员:用户管理、教师管理、简历管理、申请管理、课程管理、招聘教师管理、应聘管理、评价管理等 教师:课程管理、应聘…

掌握ZooKeeper的业务使用场景,ZooKeeper如何实现分布式锁

1. ZooKeeper分布式锁 1.1 排他锁实现分布式锁 面试官:知道Zookeeper有什么应用场景吗? 目前地球村里大型公司部署的分布式技术,绝大部分都是由Zookeeper提供底层的技术支持,所以Zookeeper多么重要就不用我多说了吧。 我们可以利用Zookeep…

STM32使用 :串口的接收与发送

一、串口 在 STM32 中,串口(UART,通用异步收发传输器)是用于串行通信的外设。它在嵌入式系统中的作用非常广泛,主要包括几个方面 数据通信 串口用于微控制器与其他设备之间的数据传输。这些设备可以是其他微控制器、…

mysql的zip解压缩版安装

文章目录 一、MySQL下载二、mysql解压缩版安装1、解压缩2、设置环境变量3、mysql初始化4、安装mysql服务5、启动mysql服务6、连接mysql7、修改初始密码8、安装完成 一、MySQL下载 下载网址:MySQL下载 本文以mysql8.4.2版本为例下载解压缩版。 二、mysql解压缩版安…

MS SQL Server 实战 排查多列之间的值是否重复

目录 需求 范例运行环境 数据样本设计 功能实现 上传EXCEL文件到数据库 SQL语句 小结 需求 在日常的应用中,排查列重复记录是经常遇到的一个问题,但某些需求下,需要我们排查一组列之间是否有重复值的情况。比如我们有一组题库数据&…