当前位置: 首页 > news >正文

k8s是什么

1、k8s出现的背景:

随着服务器上的应用增多,需求的千奇百怪,有的应用不希望被外网访问,有的部署的时候,要求内存要达到多少G,每次都需要登录各个服务器上执行操作更新,不仅容易出错,还很浪费时间。

2、k8s是什么?

介于应用服务和服务器之间,能够通过策略协调和管理多个应用服务,只需要一个yaml文件配置,定义应用的部署顺序等信息,就能自动部署应用到各个服务器上,能让它们自动阔缩容,而且做到挂了后在其他服务器上自动部署应用。

本质上是应用服务和服务器之间的中间层,通过暴露一系列API能力,让我们简化服务的部署运维流程。并且中大厂利用这些api能力,搭建自己的服务管理平台,程序员不需要再敲kubectl命令,直接在界面上点点就能完成服务的部署和扩容等操作。

3、k8s架构原理:

k8s分成两部分,一部分叫做控制平面(control plane),另一部分叫做工作节点(Node)。

控制平面负责控制和管理各个node,node负责运行各个应用服务。

(1)控制平面内部组件

API SERVER作用: 以前我们需要登录到每台服务器上手动执行各种命令,现在我们只需要调用k8s提供的api接口就能操作这些服务资源,这些接口都是由API SERVER组件提供的。

scheduler作用: 以前我们需要到处看哪台服务器CPU和内存资源充足,然后才能部署应用,现在可以通过控制平面中的scheduler调度器来完成。

controller Mgr 作用:以前我们需要手动创建和关闭服务,现在这部分功能由controller Mgr控制器管理器完成。

ETCD:由于API SERVER、scheduler、controller Mgr 会产生一些数据,这些数据需要保存到存储层ETCD中。

(2)NODE内部组件

node是实际的工作节点,它既可以是裸机服务器,也可以是虚拟机,它会负责实际运行各个应用服务。多个应用服务共享一台node上的内存和cpu等计算资源。以前我们需要将代码上传到服务器,如今用了k8s以后,我们只需要将服务代码打包成容器镜像(container image)就能一行命令将它部署。

容器镜像的含义:将应用代码和依赖的系统环境打了个压缩包,在任意一台机器上解压缩,就能正常运行服务。

容器镜像图:

为了下载和部署镜像,node中会有一个容器运行时组件(container runtime),每个服务都可以认为是一个container,并且大多数时候,我们还会给应用服务搭配一个日志收集器container,或监控采集器container,这几个container共同组成一个pod,pod运行在node上,k8s可以将pod从某个node调度到另一个node,还能以pod为单位,去做重启和动态扩缩容的操作,所以说pod时k8s中最小的调度单位。

pod的构成图:

node服务器节点图:

kubelet的作用: 控制平面会通过controller mgr控制node创建和关闭服务,node通过kubelet接受controller mgr的命令并执行。kubelet主要负责管理和监控pod。

kube proxy:负责node中的网络通信功能,外部请求通过它转发到pod中。

4、cluster是什么?

控制平面和node共同构成了一个cluster(集群),在单位里,我们一般会构建多个集群,如测试环境一个集群,正式环境用另外一个集群,同时为了将集群内部的服务,暴露给外部用户使用,我们一般会部署一个入口控制器,如ingress控制器,它可以提供一个入口,让外部用户访问集群内部服务。

4、kubectrl是什么?

通过kubectrl命令行工具执行命令,其内部就会调用k8s的API。

5、怎么部署服务?

首先先编写yaml文件,在里面定义,在里面定义pod里用到了哪些镜像,占用多少内存和cpu信息,然后使用kubectrl命令行工具执行kubectrl apply  yaml文件,此时kubectrl将读取和解析yaml文件,将解析后的对象,通过api请求发送给k8s控制平面的API SERVER,API SERVER会根据要求驱使scheduler通过etcd提供的数据寻找合适的node,再让controller manager控制node创建服务。

node的内部的kubelet收到命令后,会开始基于container runtime组件去拉取镜像,创建容器,最终pod创建。则服务完成创建。整个过程只需要写一次yaml文件和执行一次kubelet命令。

yaml文件内容图:

kubectl调用k8s图:

node的内部的kubelet收到命令后图:

6、部署完服务后,服务是怎么调用的?

在浏览器上发送http请求,到达k8s集群的ingress控制器,然后请求会转发到k8s中某个node的kube proxy上,再找到对应的pod后,然后转发到容器内部的服务中,处理结果原路返回,这就完成了一次服务调用。

相关文章:

k8s是什么

1、k8s出现的背景: 随着服务器上的应用增多,需求的千奇百怪,有的应用不希望被外网访问,有的部署的时候,要求内存要达到多少G,每次都需要登录各个服务器上执行操作更新,不仅容易出错&#xff0c…...

使用雪花算法(Snowflake Algorithm)在Python中生成唯一ID

使用雪花算法Snowflake Algorithm在Python中生成唯一ID 使用雪花算法(Snowflake Algorithm)在Python中生成唯一ID雪花算法简介Python实现代码解析使用示例优势注意事项适用场景结论 使用雪花算法(Snowflake Algorithm)在Python中生…...

Docker期末复习

云计算服务类型有: IaaS 基础设施及服务 PaaS 平台及服务 SaaS 软件及服务 服务类型辨析示例: IaaS 服务提供的云服务器软件到操作系统,具体应用软件自己安装,如腾讯云上申请的云服务器等;SaaS提供的服务就是具体的软件,例如微软的Office套件等。 云计算部署模式有: 私有云…...

DP:子数组问题

文章目录 引言子数组问题介绍动态规划的基本概念具体问题的解决方法动态规划解法:关于子数组问题的几个题1.最大子数组和2.环形子数组的最大和3.乘积最大子数组4.乘积为正数的最长子数组长度5.等差数列划分 总结 引言 介绍动态规划(DP)在解决…...

[Day 20] 區塊鏈與人工智能的聯動應用:理論、技術與實踐

AI在醫療領域的創新應用 隨著科技的快速發展,人工智能(AI)在各行各業的應用越來越廣泛,醫療領域也不例外。AI技術在醫療中的應用不僅提高了診斷的準確性,還改善了病患的治療效果,優化了醫療資源的配置。本…...

Handling `nil` Values in `NSDictionary` in Objective-C

Handling nil Values in NSDictionary in Objective-C When working with Objective-C, particularly when dealing with data returned from a server, it’s crucial (至关重要的) to handle nil values appropriately (适当地) to prevent unexpected crashes. Here, we ex…...

【深入浅出 】——【Python 字典】——【详解】

目录 1. 什么是 Python 字典? 1.1 字典的基本概念 1.2 字典的用途 1.3 字典的优势 2. 字典的基本特点 2.1 键的唯一性 2.2 可变性 2.3 无序性 3. 如何创建字典? 3.1 使用 {} 符号 3.2 使用 dict() 工厂方法 3.3 使用 fromkeys() 方法 4. 字…...

开发RpcProvider的发布服务(NotifyService)

1.发布服务过程 目前完成了mprpc框架项目中的以上的功能。 作为rpcprovider的使用者,也就是rpc方法的发布方 main函数如下: 首先我们init调用框架的init,然后启动一个provider,然后向provider上注册服务对象方法,即us…...

Suno: AI音乐创作的新时代

名人说:一点浩然气,千里快哉风。 ——苏轼 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、什么是Suno?1、Suno2、应用场景二、如何使用Suno制作音乐?步骤1:注册并登录Suno平台步骤2:创建音乐项目步骤3:生成音乐片段三、Suno的影响很高兴你打开了…...

六西格玛项目实战:数据驱动,手机PCM率直线下降

在当前智能手机市场日益竞争激烈的背景下,消费者对手机质量的要求达到了前所未有的高度。PCM(可能指生产过程中的某种不良率或缺陷率)作为影响手机质量的关键因素,直接关联到消费者满意度和品牌形象。为了应对这一挑战&#xff0c…...

数据结构递归(01)汉诺塔经典问题

说明:使用递归时,必须要遵守两个限制条件: 递归存在限制条件,满⾜这个限制条件时,递归不再继续; 每次递归调⽤之后越来越接近这个限制条件; 1 汉诺塔(Hanoi Tower)经典…...

计算机专业课面试常见问题-计算机网络篇

目录 1. 计算机网络分为哪 5 层? 2. TCP 协议简述? 3. TCP 和 UDP 的区别?->不同的应用场景? 4. 从浏览器输入网址到显示页…...

HarmonyOS ArkUi ArkWeb加载不出网页问题踩坑

使用 使用还是比较简单的,直接贴代码了 别忘了配置网络权限 Entry Component struct WebPage {State isAttachController: boolean falseState url: string State title: string Prop controller: web_webview.WebviewController new web_webview.WebviewCont…...

微信换手机号了怎么绑定新手机号?

微信换手机号了怎么绑定新手机号? 1、在手机上找到并打开微信; 2、打开微信后,点击底部我的,并进入微信设置; 3、在微信设置账号与安全内,找到手机号并点击进入; 4、选择更换手机号&#xff0c…...

64.WEB渗透测试-信息收集- WAF、框架组件识别(4)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:63.WEB渗透测试-信息收集- WAF、框架组件识别(3)-CSDN博客 我们在…...

java.lang.LinkageError: 链接错误的正确解决方法,亲测有效,嘿嘿,有效

文章目录 问题分析报错原因解决思路解决方法(含代码示例)1. 检查类加载器2. 避免在运行时修改类定义3. 更新或修复 JVM4. 检查应用程序的依赖使用 Maven 检查依赖项使用 Gradle 检查依赖项 java.lang.LinkageError 是 Java 虚拟机在尝试链接类定义时发生…...

python最基础

基本的类 python最基础、最常用的类主要有int整形,float浮点型,str字符串,list列表,dict字典,set集合,tuple元组等等。int整形、float浮点型一般用于给变量赋值,tuple元组属于不可变对象&#…...

Python学习路线图(2024最新版)

这是我最开始学Python时的一套学习路线,从入门到上手。(不敢说精通,哈哈~) 一、Python基础知识、变量、数据类型 二、Python条件结构、循环结构 三、Python函数 四、字符串 五、列表与元组 六、字典与集合 最后再送给大家一套免费…...

66、基于长短期记忆 (LSTM) 网络对序列数据进行分类

1、基于长短期记忆 (LSTM) 网络对序列数据进行分类的原理及流程 基于长短期记忆(LSTM)网络对序列数据进行分类是一种常见的深度学习任务,适用于处理具有时间或序列关系的数据。下面是在Matlab中使用LSTM网络对序列数据进行分类的基本原理和流…...

RabbitMQ消息可靠性等机制详解(精细版三)

目录 七 RabbitMQ的其他操作 7.1 消息的可靠性(发送可靠) 7.1.1 confim机制(保证发送可靠) 7.1.2 Return机制(保证发送可靠) 7.1.3 编写配置文件 7.1.4 开启Confirm和Return 7.2 手动Ack(保证接收可靠) 7.2.1 添加配置文件 7.2.2 手动ack 7.3 避免消息重复消费 7.3.…...

别再手动改Hosts了!用K8S Gateway API轻松搞定基于请求头的AB测试(OpenResty实战)

告别手动配置:基于K8S Gateway API的智能AB测试实战指南 每次功能迭代时,你是否还在反复修改本地Hosts文件来切换测试环境?或是为了验证某个接口在不同版本间的表现差异,不得不频繁重启服务或调整代理配置?这种低效的手…...

Mid-70激光雷达与相机无目标标定:从环境搭建到实战避坑

1. 为什么选择Ubuntu 16.04进行Mid-70标定 最近在给Livox Mid-70激光雷达做相机标定时,我踩了个大坑——在Ubuntu 22.04上折腾了整整两天都没搞定环境配置。后来才发现问题出在版本兼容性上:ROS Kinetic、Ceres 1.14.x和Eigen 3.2.92这几个关键组件在新系…...

5分钟精通Meld文件对比工具:效率倍增的3大场景实战指南

5分钟精通Meld文件对比工具:效率倍增的3大场景实战指南 【免费下载链接】meld Read-only mirror of https://gitlab.gnome.org/GNOME/meld 项目地址: https://gitcode.com/gh_mirrors/me/meld Meld是一款开源的可视化文件对比工具,能够帮助开发者…...

原创:行业空白:从约束崩塌到系统闭环的工程新论

行业空白:从约束崩塌到系统闭环的工程新论 作者:华夏之光永存 #工程约束 #底层架构 #系统稳定性 #软件开发 #高端制造 #工程方法论 #逻辑闭环 #零缺陷工程 #源头治理 #技术架构 摘要 本文直指当前工程领域普遍存在的核心问题:缺乏统一、刚性的…...

Pi0具身智能v1快速部署指南:一键启动交互测试页面

Pi0具身智能v1快速部署指南:一键启动交互测试页面 1. 环境准备与镜像部署 1.1 选择合适的基础环境 在开始部署Pi0具身智能v1之前,请确保您的平台满足以下基本要求: 硬件配置:建议至少16GB显存的GPU(如NVIDIA RTX 3…...

Z-Image-Turbo-辉夜巫女惊艳效果:神社鸟居背景+巫女舞动姿态动态构图

Z-Image-Turbo-辉夜巫女惊艳效果:神社鸟居背景巫女舞动姿态动态构图 想看看AI如何将“辉夜巫女”的古典神秘与神社鸟居的庄严宁静完美融合,并赋予其灵动的舞姿吗?今天,我们就来深度体验一个名为“Z-Image-Turbo-辉夜巫女”的专属…...

5个核心功能让网盘用户彻底解决下载速度慢的问题

5个核心功能让网盘用户彻底解决下载速度慢的问题 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 / 迅雷云盘 …...

光伏板缺陷检测实战:从数据集构建到YOLO模型训练全流程解析

1. 光伏板缺陷检测的现实意义 光伏发电作为清洁能源的重要组成部分,其运维效率直接影响发电量收益。我在实地考察中发现,一块被鸟粪覆盖的光伏板,发电效率可能下降30%以上;而热斑效应更会导致组件永久性损伤。传统人工巡检每天最多…...

告别天价桥接芯片!用高云GW5AT-LV15MG132 FPGA搞定MIPI C-PHY摄像头测试盒

国产FPGA革新摄像头测试方案:高云GW5AT-LV15MG132的MIPI C-PHY实战解析 在摄像头模组生产线上,测试环节的成本与效率直接关系到企业竞争力。传统测试方案依赖进口FPGA搭配昂贵桥接芯片,不仅物料清单(BOM)成本居高不下…...

InternLM2-Chat-1.8B助力在线教育:个性化作业批改与学习反馈生成

InternLM2-Chat-1.8B助力在线教育:个性化作业批改与学习反馈生成 1. 引言:当作业批改遇上AI 想象一下,一位老师深夜还在批改几十份、甚至上百份学生作业。面对相似的错误,需要一遍遍写下相同的评语;面对有潜力的答案…...