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

news2024/9/23 9:35:01

我笔记来源的图片以及共享至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/1487478.html

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

相关文章

二、TensorFlow结构分析(1)

目录 1、TF数据流图 1.1 TensorFlow结构分析 1.2 案例 2、图与TensorBoard 2.1 图结构 2.2 图相关操作 2.2.1 默认图 2.2.2 创建图 2.3 TensorBoard:可视化学习 2.3.1 数据序列化 - events文件 2.3.2 启动TensorBoard 2.4 OP 2.4.1 常见OP 2.4.2 指令…

呵护宝贝的肌肤当然要从小做起啦~

亲子系列~来个防晒衣 防晒还真的挺重要的 尤其是女生,防晒要从小做起哈 这款做的防晒面料,有抗紫外线吊牌 可以放心去穿,质地柔软轻盈又透气 防晒护肤双合一,四个颜色每个都很好看 很适合春夏季,很干净清爽 泳衣…

LeetCode.232. 用栈实现队列

题目 232. 用栈实现队列 分析 先了解一下栈和队列的特点: 栈:先进后出队列:先进先出 想用栈实现队列的特点,就需要使用两个栈。因为两个栈就可以将列表倒序。 假设第一个栈 s1 [1,2,3],第二个栈 s2 [] 。若循环…

外卖点餐多门店商家积分商城小程序开发

开源版的点餐外卖多门店多商家积分商城小程序是一款集合了多种功能于一身的移动应用。以下是该小程序的核心功能概述: 点餐与外卖服务:用户能够轻松浏览不同门店的菜单,根据个人口味和需求挑选菜品、口味和规格,并将其加入购物车…

高通QNX基线编译原理

下面代码以高通智驾平台为例。 1 QNX应用程序编译原理 在高通提供的qnx开发包中,qnx的内核已经由qnx所提供,所以qnx的编译,其实就是大量应用程序的编译,以及最后利用buildfile文件,把内核,库文件以及应用程序打包在一起的过程。 1.1 qnx的工程目录 应用程序的编译,可…

AirPods Pro 2 耳机推送新固件,苹果Find My功能助力产品成长

苹果公司面向 AirPods Pro 2(包括 USB-C 和 Lightning 版本),推出了全新的测试版固件更新,版本号为 6E188,高于 12 月份发布的 6B34 固件。 苹果和往常一样,并没有提供详细的更新日志或者说明&#xff0c…

mirthConnect忽略HTTPS SSL验证

mirthConnect SSL忽略验证 1、下载https网站证书 点击不安全---->证书无效 2、查看mirth 秘钥库口令 在mirthConnect 的conf目录下面keystore.storepass 3、导入证书到本地 在jdk的bin目录下面执行 keytool -importcert -file "下载的网站证书路径" -keysto…

MyBatisPlus(SpringBoot版)的分页插件

目录 一、前置工作: 1.整体项目目录结构 2.创建普通javamaven项目。 3.导入依赖,改造成springboot项目 4.配置启动类 5.创建service接口及其实现类 6.创建接口Mapper 7.配置数据源 8.创建数据库表 二、使用MP(mybatisplus)的分页插件 二、使…

高维中介数据: 联合显着性(JS)检验法

摘要 中介分析在流行病学和临床试验中越来越受到关注。在现有的中介分析方法中,流行的联合显着性(JS)检验会产生过于保守的 I 类错误率,因此功效较低。但是,如果在使用 JS 测试高维中介假设时,可以准确控制…

一站式电商数据采集API接口-支持多平台采集-全面提升数据采集效率!

电商数据采集API接口包含:淘宝采集,天猫采集,拼多多采集,同行店采集,蓝海店铺采集,批量整店采集,蓝海监控上新,首销尾销,潜力款选品,上新品采集,高…

RNA-Seq 笔记 [4]

***********************该笔记为初学者笔记,仅供个人参考谨慎搬运代码****************************** samtools 排序压缩和 featureCounts 生成基因计数表 SAM文件和BAM文件 1.SAM格式:是一种通用的比对格式,用来存储reads到参考序列的比…

【蓝牙协议栈】【BR/EDR】【AVDTP】音视频分布传输协议

1. AVDTP概念 AVDTP即 AUDIO/VIDEO DISTRIBUTION TRANSPORT PROTOCOL(音视频分配传输协议),主要负责 A/V stream的协商、建立及传输程序,还指定了设备之前传输A/V stream的消息格式. AVDTP的传输机制和消息格式是以 RTP为基础的。…

Redis 之三:Redis 的发布订阅(pub/sub)

概念介绍 Redis 发布订阅 (pub/sub) 是一种消息通信模式,它允许客户端之间进行异步的消息传递 Redis 客户端可以订阅任意数量的频道。 模型中的角色 在该模型中,有三种角色: 发布者(Publisher):负责发送信…

vue2 element 实现表格点击详情,返回时保留查询参数

先直观一点,上图 列表共5条数据,准备输入Author过滤条件进行查询 进入查看详情页,就随便搞了个按钮 啥都没调啦 点击返回后 一开始准备用vuex做这个功能,后来放弃了,想到直接用路由去做可能也不错。有时间再整一套…

【VTKExamples::PolyData】第四十四期 ProcurstesAlignmentFilter

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享VTK样例ProcurstesAlignmentFilter,并解析接口vtkProcurstesAlignmentFilter,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^…

jupyter 一键快捷启动方法研究

1.效果 首先打开dat 文件,同意赋予管理员 输入序号1 成功启动 2.Bat代码 %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&e…

mac使用sequl的报错说明

出现下图错误,则到此地址下载test-builds版本 Test Builds 使用 sequel pro 的时候出现了 SequelPro encountered an unexpected error 表现为:测试通过,链接就卡住报错的问题。 解决办法 这是软件的问题,下载使用这个 TEST…

大模型理论基础(so-large-lm)课程笔记!

Datawhale干货 作者:辣条,Datawhale优秀学习者 前 言 在当前信息时代,大型语言模型(Large Language Models,LLMs)的发展速度和影响力日益显著。随着技术进步,我们见证了从基本的Transformer架构…

计算机视觉基础知识(二)---数字图像

像素 像素是分辨率的单位;构成位图图像的最基本单元;每个像素都有自己的颜色; 图像分辨率 单位英寸内的像素点数;单位为PPI(Pixels Per Inch),为像素每英寸;PPI表示每英寸对角线上所拥有的像素数目:,x:长度像素数目,y:宽度像素数目,Z:屏幕大小;屏幕尺寸(大小)指的是对角线长…

程序媛的mac修炼手册-- Node.js入门篇

最近因为参与一个微信小程序的开发,开始摸索JavaScript。期间,需要基于Node.js安装微信开发工具的依赖项,所以又顺带学习了Node.js的包管理工具npm(Node Package Manager)。不过,之前看到国外的全栈大佬​​…