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

我笔记来源的图片以及共享至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.mzph.cn/news/708727.shtml

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

相关文章

Unity(第十一部)场景

游戏有多个场景组成(新手村,某某副本,主城) 场景是有多个物体组成(怪物,地形,玩家等) 物体是有多个组件组成(刚体组件,自定义脚本) 创建场景 编辑…

Intel SGX 概述 --潦草笔记

文章目录 前言一、SGX介绍1.1 指令介绍1.2 数据结构 二、内存保护过程2.1 enclave页面缓存(EPC)2.2 Enclave页面缓存映射(EPCM) 三、部署SGX参考资料 前言 SGX是Intel开发的新的处理器技术,可以在计算平台上提供一个可…

华为s5720s-28p-power-li-ac堆叠配置

叠物理约束: • 连线推荐示意图选用产品子系列中固定的一款设备做示例,与选择产品时指定型号的外观可能不同。示意图主要用于让用户了解相同子系列设备可以用作堆叠的端口的位置,以及使用不同的连线方式时如何连接设备上的端口。因此&#xf…

Spring 类型转换、数值绑定与验证(三)— Formatting 与 Validation

1 Formatting 在Spring中用于格式化数据及根据地域展示不同格式的数据。 图 Formatting接口 UML 1.1 注解驱动Formatting 自定义像“DateTimeFormat”注解来对相关字段格式化的步骤为: 自定义注解。定义一个实现AnnotationFormatterFactory接口的工厂类。往容器…

使用Playwright的selector方法快速定位网页元素(CSS选择器)

pytest-playwright 是一个用于在 Python 中使用 Playwright 进行自动化测试的工具。它结合了 Pytest 测试框架和 Playwright 浏览器自动化工具,为您提供了在编写和执行自动化测试时的便利性和灵活性。 通过 pytest-playwright,您可以编写基于 Pytest 的…

向日葵、Todesk、teamviewer等工具远程连接电脑时第三方应用显示白屏

问题描述:用向日葵远程等桌面时,当把显示器断电或者就没有显示器时或者笔记本盖子合住时,第三方软件显示白屏或显示不出来的问题。 原因:某些显卡在断开屏幕时自动降为低功耗模式。 解决 1、下载工具 https://www.amyuni.com/d…

NoSQL--虚拟机网络配置

目录 1.初识NoSQL 1.1 NoSQL之虚拟机网络配置 1.1.1 首先,导入预先配置好的NoSQL版本到VMware Workstation中 1.1.2 开启虚拟机操作: 1.1.2.1 点击开启虚拟机: 1.1.2.2 默认选择回车CentOS Linux(3.10.0-1127.e17.x86_64) 7 …

企业品牌宣传活动或发布会如何做官方媒体直播

传媒如春雨,润物细无声,大家好,我是51媒体胡老师. 企业活动进行媒体直播可以扩大活动的影响力,增强品牌的曝光度,并实时与目标观众互动。以下是一些步骤和建议来帮助您有效地实施企业活动的媒体直播: 明确…

Kotlin中的安全导航操作符?.、空合并运算符?:以及let函数的实践与理解

在Kotlin编程语言中,为了更好地处理可能为null的对象引用,引入了一系列优雅且实用的操作符和函数。本文将深入探讨其中三个关键工具:安全导航操作符?.、空合并运算符?:以及let函数,并通过示例代码展示其应用场景。 安全导航操作…

动态规划之使用最小花费爬楼梯【LeetCode】

动态规划之使用最小花费爬楼梯 LCR 088. 使用最小花费爬楼梯解法1解法2 LCR 088. 使用最小花费爬楼梯 LCR 088. 使用最小花费爬楼梯 解法1 状态表示(这是最重要的):dp[i]表示以第i级台阶为楼层顶部,到达第i层台阶的最低花费。 状…

【VSCode】解决VSCode远程连接问题:远程主机可能不符合 glibc 和 libstdc++

今天用VSCode进行ssh连接时,提示“远程主机可能不符合 glibc 和 libstdc VSCode 服务器的先决条件”。查了一下发现这个问题主要是由于VSCode在一月份发布的最新版本v1.86中要求远程主机 glibc>2.28导致的,所以ssh连接Ubuntu 18.04的时候就会提示这个…

详解 Rope (Opal-03a) 的变化

文章目录 (一)特点(二)使用流程(三)界面(四)详解(4.1)目录区域⭐Start Rope⭐Video Folder⭐Output Folder⭐Faces Folder (4.2)预览控…

Python爬虫项目实战案例-批量下载网易云榜单音乐保存至本地

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua,在这里我会分享我的知识和经验。&#x…

汽车后视镜反射率检测仪厂家

随着汽车工业的快速发展,汽车后视镜作为驾驶员观察车辆周围环境的重要工具,其性能和质量对于交通安全至关重要。汽车后视镜的反射率检测仪是一种用于检测汽车后视镜反射性能的专业设备,其重要性不言而喻。本文将重点介绍汽车后视镜反射率检测…

射频识别RFID

射频识别(RFID)是 Radio Frequency Identification 的缩写。 射频识别技术是自动识别技术的,通过无线射频方式进行非接触双向数据通信,利用无线射频方式对记录媒体(电子标签或射频卡)进行读写,…

【jest使用】

Quick Start 安装: npm install --save-dev jest让我们开始为一个假设函数编写测试,该函数将两个数字相加。 首先,创建一个 sum.js 文件: function sum(a, b) {return a b; } module.exports sum;然后,创建一个名…

Mallox勒索病毒的最新威胁:如何恢复您的数据?

引言: 在当今数字化时代,网络安全威胁层出不穷,而勒索软件(Ransomware)是其中最为恶劣的一种形式之一。而.Mallox勒索病毒则是近期备受关注的一种勒索软件,其深受全球各地用户的困扰。那么,让我…

VMWare ESXi安装留档

缘起 由于手边的一台Dell R730是三块硬盘raid0 ,把我惊出一身冷汗,准备把它们改组成raid1 或者raid5 。 但是舍不得里面的ESXi 8 ,在寻找能否把raid0改成raid1 还不掉WSXi的方法,很遗憾没有找到。 ESXi软件下载 这样就要重装E…

畅心付推出二维码收款分账,开启简单分账新篇章!

随着商业环境和消费需求的变化,新的商业模式不断涌现,加速产业转型和数字化进程,传统商业模式也在进行变革,比如以往的收租模式就是其中很典型场景之一,如今传统租金也将迎来全面革新。畅心付推出二维码收款分账&#…

『大模型笔记』检索增强生成(RAG):从理论到LangChain实践

检索增强生成(RAG):从理论到LangChain实践 文章目录 一. 什么是检索增强生成(Retrieval-Augmented Generation, RAG)1.1. 问题背景1.2. 解决方案二. 基于LangChain实现的检索增强生成方法2.1. 准备工作2.2. 准备步骤2.3. 第一步:检索2.4. 第二步:增强2.5. 第三步:生成三. 总…