Kubernetes 核心概念

一、什么是 Kubernetes

1、含义:

Kubernetes 是一个自动化的容器编排平台,它负责应用的部署、应用的弹性以及应用的管理。

2、核心功能:

(1) 调度:

Kubernetes 的调度器可以把用户提交的容器放到 Kubernetes 管理的集群的某一台节点上去。它会观察正在被调度的这个容器的大小、规格,然后在集群中找一台相对比较空闲的机器来进行放置。

(2) 自动修复:

Kubernetes 有一个节点健康检查的功能,它会监测这个集群中所有的宿主机,当宿主机本身出现故障,或者软件出现故障的时候,Kubernetes 会把运行在这些失败节点上的容器迁移到一个正在健康运行的宿主机上,来完成集群内容器的一个自动恢复。

(3)水平伸缩

Kubernetes 有业务负载检查的能力,它会监测业务上所承担的负载,如果这个业务本身的 CPU 利用率过高,或者响应时间过长,它可以对这个业务进行一次扩容。

二、Kubernetes 的架构

Kubernetes 架构是一个比较典型的二层架构和 server-client 架构。Master 作为中央的管控节点,会去与 Node 进行一个连接。

1、Master:

Master 包含四个主要的组件:API Server、Controller、Scheduler 以及 etcd。

① API Server:是用来处理 API 操作的,Kubernetes 中所有的组件都会和 API Server 进行连接,依赖于 API Server 进行消息的传送;

② Controller:是控制器,它用来完成对集群状态的一些管理。对容器进行修复、水平扩张,都是由 Kubernetes 中的 Controller 来进行完成的;

③ Scheduler:是调度器,就是完成调度的操作,把一个用户提交的 Container,依据它对 CPU、对 memory 请求大小,找一台合适的节点,进行放置;

④ etcd:是一个分布式的一个存储系统,API Server 中所需要的这些原信息都被放置在 etcd 中。

2、Node:

Kubernetes 的 Node 是真正运行业务负载的,每个业务负载会以 Pod 的形式运行,一个 Pod 中运行着一个或者多个容器。真正去运行这些 Pod 的组件的是叫做 kubelet,也就是 Node 上最为关键的组件。它通过 API Server 接收到所需要 Pod 运行的状态,然后提交到 Container Runtime 组件中。

3Kubernetes 架构中的组件如何通信:

用户可以通过 UI 或者 CLI 提交一个 Pod 给 Kubernetes 进行部署,这个 Pod 请求首先会通过 CLI 或者 UI 提交给 Kubernetes API Server,下一步 API Server 会把这个信息写入到它的存储系统 etcd,之后 Scheduler 会通过 API Server 的 watch 得到信息:有一个 Pod 需要被调度。

Scheduler 会根据它的内存状态进行一次调度决策,API Server 接收到这次操作之后,会把这次的结果再次写到 etcd 中,然后 API Server 会通知相应的节点进行这次 Pod 真正的执行启动。

相应节点的 kubelet 会得到这个通知,kubelet 就会去调 Container runtime 来真正去启动配置这个容器和这个容器的运行环境,去调度 Storage Plugin 来去配置存储,network Plugin 去配置网络。

三、Kubernetes 的核心概念

1、Pod

Pod 是 Kubernetes 的一个最小调度以及资源单元。用户可以通过 Kubernetes 的 Pod API 生产一个 Pod,让 Kubernetes 对这个 Pod 进行调度,放在某一个 Kubernetes 管理的节点上运行起来。

简单来说一个 Pod 是对一组容器的抽象,里面会包含一个或多个容器。在 Pod 里面,可以去定义容器所需要运行的方式,比如说运行容器的 Command,以及运行容器的环境变量等。Pod 也给容器提供了一个共享的运行环境。

2Volume

Volume 就是卷的概念,它是用来管理 Kubernetes 存储的,声明在 Pod 中的容器可以访问的文件目录,一个卷可以被挂载在 Pod 中一个或者多个容器的指定路径下面。

3、Deployment

Deployment 是在 Pod 这个抽象上更为上层的一个抽象,它可以定义一组 Pod 的副本数目、以及这个 Pod 的版本。通常用 Deployment 这个抽象来做应用的真正的管理,而 Pod 是组成 Deployment 最小的单元。

Kubernetes 通过 Controller 控制器去维护 Deployment 中 Pod 的数目,帮助 Deployment 自动恢复失败的 Pod。

4、Service

Service 提供了一个或者多个 Pod 实例的稳定访问地址。一个 Deployment 可能有两个甚至更多个完全相同的 Pod,Service 把所有 Pod 的访问能力抽象成一个第三方的一个 IP 地址。

5、Namespace

Namespace 是用来做一个集群内部的逻辑隔离的,它包括鉴权、资源管理等。Kubernetes 的每个资源,如 Pod、Deployment、Service 都属于一个 Namespace,同一个 Namespace 中的资源需要命名的唯一性,不同的 Namespace 中的资源可以重名。

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

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

相关文章

Android Studio 实现图书借阅(管理)系统

🍅文章末尾有获取完整项目源码方式🍅 目录 前言 一、任务介绍 1.1 背景 1.2目的和意义 二、 实现介绍 视频演示 2.1 启动页实现 2.2 注册页面实现 2.3 登陆页面实现 2.4 图书列表的实现 2.5 当前借阅页面实现 2.6 我的页面实现…

京东购物拉新保姆级教程

您好,我是码农飞哥(wei158556),感谢您阅读本文,欢迎一键三连哦。💪🏻 1. Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。 Python从入门到精通…

Java线程与进程

线程 概念 Java中,线程是程序执行的最小单位,它是进程的一个执行流,也是CPU调度和分配的基本单位。每个进程都可以运行多个线程,这些线程共享进程的内存块,但每个线程都有自己的堆栈和局部变量。 Java中的线程有两种…

Jmeter接口测试实战篇:10分钟学会Jmeter的用法

一提到接口测试,通常大家会有这样的疑问:前端测试不是已经覆盖到各种业务逻辑了吗?为什么还要做接口测试,接口测试和前端测试是不是重复了?对于这个问题,可以从下面几个方面来解释: 什么是接口…

JS中常用占位符使用方法详解_ |%s|%d|%f|%o|%O|%c|

在 JavaScript 中,%s 是一种字符串格式化占位符,用于将字符串插入到另一个字符串中的指定位置。这种方法基于 C 语言的 printf() 函数,但在 JavaScript 中有一些变化。 在 JavaScript 中,%s 可以接受任何类型的值,并将…

Python四级考试笔记

Python四级考试笔记【源源老师】 四级标准 一、 理解函数及过程、函数的参数、函数的返回值、变量作用域等概念。 二、 能够创建简单的自定义函数。 三、 理解算法以及算法性能、效率的概念,初步认识算法优化 效率的方法。 四、 理解基本算法中递归的概念。 五、 掌…

2024龙年特别篇 -- 魔法指针 之 指针开篇

你是否为 指针,指针变量,const修饰指针,野指针而感到困惑和不理解,接下来就让白子寰同学为你详细讲解!!! 注:该文章图片引用了小hong书博主:IT局内人 目录 指针 概念 计算机常见单位转换 指…

分享72个Html前端模板,总有一款适合您

分享72个Html前端模板,总有一款适合您 72个Html前端模板下载链接:https://pan.baidu.com/s/1ZVhDy6aMGc9fBl447d69yg?pwd8888 提取码:8888 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集…

【HTML】过年不能放烟花,那就放电子烟花

闲谈 大家回家过年可能都多多少少放过些🧨,但是有些在城市上过年的小伙伴可能就没有机会放鞭炮了。不过没关系,我们懂技术,我们用技术自娱自乐,放电子烟花,总不可能被警长叔叔敲门问候吧。 开干 首先&…

数据类型与变量

目录 作业回顾 有关JDK, JRE, JVM三者: 判断题 新课学习 字面常量 数据类型 变量 整型变量 长整型变量 短整型变量 字节型变量 浮点型变量 字符型变量 布尔型变量 类型转换 自动类型转换(隐式) 强制类型转换(显式…

透光力之珠——光耦固态继电器的独特特点解析

光耦固态继电器作为现代电子控制领域中的重要组件,以其独特的特点在工业、通信、医疗等多个领域得到广泛应用。本文将深入剖析光耦固态继电器的特点,揭示其在电子控制中的卓越性能。 光耦固态继电器的光电隔离技术 光耦固态继电器以其光电隔离技术而脱颖…

IIC--集成电路总线

目录 一、IIC基础知识 1、设计IIC电路的原因: 2、上拉电阻阻值怎么确定 3、IIC分类 4、IIC协议 二、单片机使用IIC读写数据 1、 IIC发送一个字节数据: 2、IIC读取一个字节数据: 一、IIC基础知识 1、设计IIC电路的原因: (…