Linux:Kubernetes(k8s)——基础理论笔记(1)

news2024/10/6 18:25:56

我笔记来源的图片以及共享至GitHub,本章纯理论。这是k8s中部分的基础理论

👇

KALItarro/k8spdf: 这个里面只有一个pdf文件 (github.com)icon-default.png?t=N7T8https://github.com/KALItarro/k8spdf👆


 什么是kubernetes

kubernetes 是一个开源的,用于管理云平台中多个主机上的容器化的应用,k8s的目标是让部署容器化的应用简单并且高效,k8s提供应用部署,规划,更新,维护的一种机制。就是用于管理容器化平台的一个应用


kubernetes为什么还叫k8s

kubernetes这个名字起源于希腊语,意为“舵手”或者“飞行员”。k8s这个缩写是以为开头字母  ”k“   到最后一个字母   ”s“  中间包含了8个字母,所以简称为k8s了


他的来自哪里

他是Google的一个开源项目,结合了社区中最优秀的想法和实践


为什么需要k8s

更加方便的对容器进行管理更加快捷


k8s的特点

自我修复,弹性伸缩,自动部署和回滚,服务发现和负载均衡,机密和配置管理,存储编排,批处理


api接口

在k8s中所有操作都是进入到api中,再由api接口进行分配


相关组件

(官方并没有明确的规定,这个是来自网络上以及大家日常进行的归类)

控制面板组件

节点组件

附加组件


控制面板组件(核心)(master)

操作客户端的两大途径:kuberctl , dashboard

api-server:接口服务,基于rest风格开发的k8s的接口服务

kubecontroller-manager:控制器管理器,管理各个类型的控制器针对k8s中的各种资源进行管理

cloud-controller-manager:云控制管理,第三方云平台提供的控制器api对接管理功能

kuber-scheduler:调度器,负责将pod 基于一定算法,将其调用到更合适的节点服务器上

etcd :理解为k8s的数据库,键值类型存储的分布式数据库提供了基于rast算法实现自主的集群高可用   (老版本:基于内存,新版:持久化储存)


节点组件(node)

kubelet:负责pod的生命周期,存储,网络 

kube-proxy:网络代理,负责service的服务发现负载均衡(4层负载) 

container-runtime:容器运行时环境:docker,containerd   CRI-O 

pod:pod里面至少有一个容器,可以有多个pod 


附加组件 

kube-dns:为整个集群提供dns服务

ingree controller :为服务提供外网入口

heapster:提供GUI

federation:提供跨可用区的集群

fiuentd-elasticsearch:提供集群日志采集,存储与查询


分层架构

生态系统
接口层
管理层
应用层
核心层

服务的分类

 如何区分有状态和无状态,如再部署个同样的如再部署个同样的节点,同样访问会不会因为数据等本地原因引起无法访问,超时,数据丢失等

无状态应用 

无状态应用的特点:不会对本地环境产生任何依赖,不会存储数据到本地磁盘,例如nginx代理 , apche等

优点:对客户端透明,无需依赖关系,可以高效的实现扩容迁移 

缺点:不能存储数据,需要额外的数据服务支撑 

有状态应用

有状态的特点:会对本地环境产生依赖,储存数据到本地磁盘,例如:mysql,redis,mongodb等

优点:可以独立存储数据,实现数据管理 

缺点:集群环境下需要实现主从,数据同步,备份,水平扩容复杂 

总之一句话

存储数据的是有状态

不存储数据的是无状态 


资源和对象

k8s中所有内容都被抽象为”资源“ ,如 pod  service   node  等都是资源,对象就是资源的实例,是持久化的实体,如某个具体的pod,某个具体的node ,k8s使用这些,实体去表示整个集群的状态


对象规约和状态

 规约——规格,希望对象所具有的特征,通过spec ,他是必须的,当创建对象时,必须提供对象的规约

状态——表示对象的实际状态,该属性为k8s自己维护,k8s会通过一系列的控制器对对应对象进行管理,让对象尽可能的让实际与期望状态重合 


资源分类

元空间,集群,命名空间 (三大类,但是不止这三个)

元空间:对于资源的元数据描述,每一个资源都可以使用元空间的数据 

集群: 作用与集群之上,集群下的所有资源都可以共享使用

命名空间:作用于命名空间之上,通常只能在该命名空间范围内使用 


什么是pod

pod是一个容器组,里面至少一个容器,pod的底层有一个pause容器,其他的容器都是通过这个底层容器之上创建

pod理解为容器组,最小的部署单元 

一般情况下一个pod里面只包含一个应用程序容器 

pod里面是容器,但是里面可以各种品牌的容器,但建议是一个pod里面放一个容器 


副本 

基于一个对象创建出来的对象就是副本,一个pod可以被复制多份,每一份都是副本


控制器

通常包含一个名为 ”replicas“ 的属性 ,repclica则指定了特定的pod的副本数量

 控制器里定义了很多描述对象的参数,可以理解为pod之上的pod

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

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

相关文章

spring boot学习第十三篇:使用spring security控制权限

该文章同时也讲到了如何使用swagger。 1、pom.xml文件内容如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instanc…

【亚马逊云科技】通过Amazon CloudFront(CDN)快速访问资源

文章目录 前言一、应用场景二、【亚马逊云科技】CloudFront&#xff08;CDN&#xff09;的优势三、入门使用总结 前言 前面有篇文章我们介绍了亚马逊云科技的云存储服务。云存储服务主要用于托管资源&#xff0c;而本篇文章要介绍的CDN则是一种对托管资源的快速访问服务&#…

Android studio (一) 新建一个Android项目 编程语言为Java

一、下载Android studio 下载 Android Studio 和应用工具 - Android 开发者 | Android Developers 这里我下载的是2023年的 二、新建项目 选择如下模板。 填写项目名、项目保存位置、编程语言、最低支持Android API的版本、打包编译模式 三、报错Connection refused: no …

Python实现向量自回归移动平均与外生变量模型(VARMAX算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 向量自回归移动平均与外生变量模型&#xff08;Vector Autoregression Moving Average with Exogenous…

2023年09月CCF-GESP编程能力等级认证Scratch图形化编程二级真题解析

一、单选题(共10题,共30分) 第1题 我国第一台大型通用电子计算机使用的逻辑部件是( )。 A:集成电路 B:大规模集成电路 C:晶体管 D:电子管 答案:D 第2题 默认小猫角色,运行以下程序,小猫会说?( ) A:45 B:50 C:55 D:60 答案:C 第3题 列流程图的输出结…

【AUCell打分】:评估一个基因集在单细胞转录组的每个细胞中特定的活性程度

AUCell介绍 AUCell是什么&#xff1a;AUCell使用曲线下面积来计算输入基因集的一个有意义的基因子集是否在每个细胞的表达基因中富集。AUC 分数在所有细胞中的分布允许探索特征的相对表达。由于评分方法是基于排名的&#xff0c;因此 AUCell 与基因表达单位和归一化程序无关。…

如何正确的万无一失的学习python?

W...Y的主页 代码仓库分享 在当今数据驱动的时代&#xff0c;Python已经成为最受欢迎的编程语言之一&#xff0c;无论是在数据科学、机器学习、Web开发还是自动化任务中&#xff0c;Python都扮演着关键的角色。其简洁的语法、强大的库支持以及庞大的社区&#xff0c;使其成为…

Python进阶学习:Pandas--将一种的数据类型转换为另一种类型(astype())

Python进阶学习&#xff1a;Pandas–将一种的数据类型转换为另一种类型(astype()) &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&…

【达梦数据库】如何使用idea antrl4插件方式dm sql

使用idea中的antrl插件进行分析 1.打开IDEA&#xff0c;在File—Settings—Plugins中&#xff0c;安装ANTLR v4 grammar plugin插件。 2.加载达梦的语法文件 3.配置生成路径和目录&#xff08;可采用默认&#xff09; 4.编译DmSqlParser.g4 DmSqlLexer.g4 5.输入SQL/输入文件 …

【Vue的单选按钮不选中已解决亲测】

伙计&#xff0c;你是否因为后台给vue前端已经传入了对应的单选按钮的数据&#xff0c;为啥还是不选中呢&#xff01;&#xff1f; 这个问题实话我百度乐很多都不能解决我的问题&#xff0c;最后机智如我的发现乐vue的自身的问题&#xff0c;后端返回的数据类型如果是数字int类…

K8S部署postgresql

&#xff08;作者&#xff1a;陈玓玏&#xff09; 一、前置条件 已部署k8s&#xff0c;服务端版本为1.21.14 二、部署postgresql 拉取镜像&#xff0c;docker pull postgres&#xff0c;不指定版本&#xff0c;自动从docker hub拉取最新版本&#xff1b;配置configmap&…

NLP - 共现矩阵、Glove、评估词向量、词义

Word2vec算法优化 J(θ): 损失函数 问题&#xff1a;进行每个梯度更新时&#xff0c;都必须遍历整个语料库&#xff0c;需要等待很长的时间&#xff0c;优化将非常缓慢。 解决&#xff1a;不用梯度下降法&#xff0c;用随机梯度下降法 &#xff08;SGD&#xff09;。 减少噪音&…

11.网络游戏逆向分析与漏洞攻防-游戏网络架构逆向分析-接管游戏接收网络数据包的操作

内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;接管游戏发送数据的操作 码云地址&#xff08;master 分支&#xff09;&#xff1a;https://gitee.com/dye_your_fingers/titan 码云版本号&#xff1a;8256eb53e8c16281bc1a29cb8d26d352bb5bbf4c 代…

Media Encoder 2024 for Mac v24.2.1中文激活版

Adobe Media Encoder 2024 for Mac 是一款专业的视频和音频编码工具&#xff0c;专为 Mac 用户打造。它可以将原始素材转换为各种流行格式&#xff0c;以满足不同的播放和发布需求。借助其先进的编码技术和预设设置&#xff0c;用户可以轻松优化输出质量&#xff0c;同时保持文…

实用工具:实时监控服务器CPU负载状态并邮件通知并启用开机自启

作用&#xff1a;在服务器CPU高负载时发送邮件通知 目录 一、功能代码 二、配置开机自启动该监控脚本 1&#xff0c;配置自启脚本 2&#xff0c;启动 三、功能测试 一、功能代码 功能&#xff1a;在CPU负载超过预设置的90%阈值时就发送邮件通知&#xff01;邮件内容显示…

多特征变量序列预测(九)基于麻雀优化算法的CEEMDAN-SSA-BiGRU-Attention预测模型

目录 往期精彩内容&#xff1a; 前言 1 多特征变量数据集制作与预处理 1.1 导入数据 1.2 CEEMDAN分解 1.3 数据集制作与预处理 2 麻雀优化算法 2.1 麻雀优化算法介绍 2.2 基于Python的麻雀优化算法实现 2.3 麻雀优化算法-超参数寻优过程 3 基于Pytorch的CEEMDAN SSA…

【问题解决】| conda不显示指示前面的(base)无法在终端激活虚拟环境

1 遇到的问题 就是在安装好conda&#xff0c;配置好环境变量后 可以正常用conda的指令&#xff0c;如创建环境等等 但是不能激活新建的环境&#xff0c;我们知道同时也没有前面的小括号指示当前环境&#xff0c;也没有这个前面的(base) 2 解决方式 有一些方法如&#xff0c…

单片机烧录方式 -- IAP、ISP和ICP

目录 背景 1 什么是ICP 2 什么是ISP 3 什么是IAP 4 总结 背景 对于51单片机&#xff0c;我们使用STC-ISP上位机软件通过串口进行程序的烧写&#xff1b;对于STM32系列单片机&#xff0c;我们既可以通过串口烧写程序&#xff0c;也能通过JLink或是STLink进行程序的烧写&am…

Android Duplicate class 排除重复类

一、起因&#xff1a; 在迭代开发的时候&#xff0c;发现2个ijk很多类重复。但又2个库实现的功能是不一样&#xff0c;目前不能合并。但又想保留2个功能。需要排除其中一个库。 二、报错如何下图&#xff1a; 三、解决方法&#xff1a; 3.1 在terminal 也就是命令行处输入 …

fastAdmin表格列表的功能

更多文章&#xff0c;请关注&#xff1a;fastAdmin后台功能详解 | 夜空中最亮的星 FastAdmin是一款基于ThinkPHP5Bootstrap的极速后台开发框架。优点见开发文档 介绍 - FastAdmin框架文档 - FastAdmin开发文档 在这里上传几张优秀的快速入门图: 一张图解析FastAdmin中的表格列…