Kubernetes小记

Kubernetes 集群

架构

Kubernetes 集群架构

一个有效的 Kubernetes 部署称为集群,可以将 Kubernetes 集群分为两个部分:控制平面与计算设备(或称为节点)

控制组件

在这里插入图片描述

控制平面

K8s 集群的神经中枢,负责处理重要的工作,以确保容器以足够的数量和所需的资源运行。
  • kube-apiserver
是 Kubernetes 控制平面的前端,用于处理内部和外部请求。
  • kube-scheduler
K8s 调度程序,会考虑容器集的资源需求以及集群的运行状况。随后,它会将容器集安排到适当的计算节点。
  • kube-controller-manager
K8s 控制器,用于查询调度程序,并确保有正确数量的容器集在运行。
  • etcd
配置数据以及有关集群状态的信息位于 etcd。

节点(Node)

- Kubernetes 通过将容器放入在节点(Node)上运行的 Pod 中来执行你的工作负载。

- 节点可以是一个虚拟机或者物理机器,取决于所在的集群配置

- 每个节点都运行由若干容器组成的容器集
  • Pod
- 是K8s中创建和管理的、最小的可部署的计算单元。是一组(一个或多个)容器。

- 网络
	- 每一个Pod都会被指派一个唯一的Ip地址,在Pod中的每一个容器共享网络命名空间,包括Ip地址和网络端口
	- 在同一个Pod中的容器可以同locahost进行互相通信,当Pod中的容器需要与Pod外的实体进行通信时,则需要通过端口等共享的网络资源。

- 存储
	- Pod能够配置共享存储卷,在Pod中所有的容器能够访问共享存储卷,允许这些容器共享数据

	- 存储卷也允许在一个Pod持久化数据,以防止其中的容器需要被重启。

- 自主式Pod
	- 本身是不能自我修复的,当Pod被创建后,会被K8s调度到集群的Node上,直到Pod的进程终止
- 控制器管理的Pod
	- Controller可以创建和管理多个Pod,提供副本管理、滚动升级和集群级别的自愈能力
  • 容器运行时引擎
为了运行容器,每个计算节点都有一个容器运行时引擎。
  • kube-proxy
用于优化 Kubernetes 网络服务的网络代理
负责处理集群内部或外部的网络通信——靠操作系统的数据包过滤层,或者自行转发流量。
  • kubelet
一个与控制平面通信的微型应用。
可确保容器在容器集内运行,当控制平面需要在节点中执行某个操作时,kubelet 就会执行该操作。

存储组件

  • 持久化存储
k8s允许用户请求存储资源,而无需了解底层存储基础架构的详细信息。持久卷是集群(而非容器集)所特有的,因此其寿命可以超过容器集。
  • 容器镜像仓库
K8s 所依赖的容器镜像存储于容器镜像仓库中。可以自己配置,也可以由第三方提供。

工作负载管理

ReplicaSet

- 是维护一组在任何时候都处于运行状态的 Pod 副本的稳定集合
- 每个 ReplicaSet 都通过根据需要创建和删除 Pod 以使得副本个数达到期望值, 进而实现其存在价值

Deployment

为 Pod 和 ReplicaSet 提供声明式的更新能力。以受控速率更改实际状态, 使其变为期望状态。
  • 事件和状态查看:可以查看Deployment对象升级的详细进度和状态

  • 回滚:升级操作完成后发现问题时,支持使用回滚机制将应用返回到前一个或由用户指定的历史记录中的版本上

  • 版本记录:对Deployment对象的每一个操作都予以保存,以供后续可能执行的回滚操作使用

  • 暂停和启动:对于每一次升级,都能够随时暂停和启动

  • 多种自动更新方案:

    • Recreate:即重建更新机制,全面停止、删除旧有的Pod后用新版本替代
    • RollingUpdate:即滚动升级机制,逐步替换旧有的Pod至新的版本

StatefulSet

用来管理有状态应用的工作负载 API 对象。
用来管理某 Pod 集合的部署和扩缩, 并为这些 Pod 提供持久存储和持久标识符。
为它们的每个 Pod 维护了一个有粘性的 ID
  • 稳定的、唯一的网络标识符
  • 稳定的、持久的存储
  • 有序的、优雅的部署和扩缩
  • 有序的、自动的滚动更新

DaemonSet

确保全部(或者某些)节点上运行一个 Pod 的副本。
- 当有节点加入集群时, 也会为他们新增一个 Pod
- 当有节点从集群移除时,这些 Pod 也会被回收
- 删除 DaemonSet 将会删除它创建的所有 Pod
  • 在每个节点上运行集群守护进程

  • 在每个节点上运行日志收集守护进程

  • 在每个节点上运行监控守护进程

Job

会创建一个或者多个 Pod,并将继续重试 Pod 的执行,直到指定数量的 Pod 成功终止。

- 随着 Pod 成功结束,Job 跟踪记录成功完成的 Pod 个数
- 当数量达到指定的成功个数阈值时,任务(即 Job)结束
- 删除 Job 的操作会清除所创建的全部 Pod
- 挂起 Job 的操作会删除 Job 的所有活跃 Pod,直到 Job 被再次恢复执行

CronJob

创建基于时隔重复调度的 Job。
它用 Cron 格式进行编写, 并周期性地在给定的调度时间执行 Job。

ReplicationController

确保在任何时候都有特定数量的 Pod 副本处于运行状态。

- 当 Pod 数量过多时,ReplicationController 会终止多余的 Pod
- 当 Pod 数量太少时,ReplicationController 将会启动新的 Pod

Service

是将运行在一个或一组 Pod 上的网络应用程序公开为网络服务的方法。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ws2812 arduino

问题 乱闪 电源问题 gpio 系统问题 中断式发送 asrpro 上电初始化 引脚 输出 并 写入0 系统启动后 设置引脚复用 gpio (据说为电源问题,调低亮度可,但usb上还是出现 双循环闪 呼吸灯 计数 int s0[3] {0,11,10}; int s1[3] {1,0,11}; int *a[2] {…

Nginx作为下载站点

grep -Ev ^$|# /usr/local/nginx/conf/nginx.conf > /opt/nginx.txt cat /opt/nginx.txt > /usr/local/nginx/conf/nginx.conf用上面的指令提取最小化的配置文件 vim /usr/local/nginx/conf/nginx.conf [rootlocalhost ~]# cat /usr/local/nginx/conf/nginx.conf worker…

充电宝哪个牌子值得买?一文看懂充电宝哪个牌子更好用!

在这个快节奏的数字时代,智能手机、平板电脑等电子设备已成为我们日常生活中不可或缺的一部分。然而,这些智能设备的电池续航能力往往难以满足我们全天候的需求,尤其是在出行、旅行或紧急情况下,电量告急成了许多人的“电量焦虑”…

【C语言训练题库】扫雷->简单小游戏!

🔥博客主页🔥:【 坊钰_CSDN博客 】 欢迎各位点赞👍评论✍收藏⭐ 目录 1. 题目 2. 解析 3. 代码 4. 小结 1. 题目 小sun上课的时候非常喜欢玩扫雷。他现小sun有一个初始的雷矩阵,他希望你帮他生成一个扫雷矩阵。 扫雷…

【STREAMPARK】streampark构建运行git应用

1、新建项目 2、填写git 信息 包含地址 账号 密码 以及pom(默认读取项目根目录下的pom) 3、添加应用 4、填写 要部署的应用的信息 ,提交 5、然后构建运行 6、运行失败,查看日志详情;成功,查看应用…

DHCP、FTP

DHCP、FTP DHCP(动态主机配置协议) 服务器配置好了地址池 192.168.233.10 192.168.233.20 客户端从地址池当中随机获取一个ip地址,ip地址会发生变化,使用服务端提供的ip地址,时间限制,重启之后也会更换。…

对 SQL 说“不”~

开发人员注意! 您在当前的应用程序架构中是否面临这些问题? 对 SQL 数据库的高吞吐量。SQL 数据库中的瓶颈。 内存数据存储将是解决问题的方案。Redis 是市场上最受欢迎的内存数据存储和缓存选项。Redis 拥有广泛的生态系统,因为主要科技巨…

二,几何相交-5,BO算法分析--(1)正确性

也就是说,BO算法有没有可能误报或者漏报? 一,为什么不会误报? 因为两条线段从不相邻到相邻,或者其中一条线段不存在到相邻,都会进行一次相交测试。所以不会误报。 二,为什么不会漏报&#xff1…

文件夹如何加密码全攻略,5个文件夹加密方法新手也能学

文件夹如何加密码?在这个互联网时代,隐私保护越来越受到大家的重视。我们在日常工作中,有时候会接触一些比较重要的文件,为了不让这些文件信息被泄露,所以我们可以给文件夹设置密码保护。那要怎么给文件夹设置密码呢&a…

达人邀约软件工具,券小妹邀约软件,支持商家版团长版,一键邀约达人工具

达人邀约软件:抖音商家、团长及快手商家的高效助手! 券小妹邀约工具是一款专为抖音商家、团长和快手商家设计的达人邀约工具,主要是为了简化邀约、沟通和报名流程。 券小妹邀约工具的主要功能有: 1. 一键批量邀约达人 2. 批量发…

一个州凭什么引领美国量子技术革新?

不要低估一个州,它可能美国量子技术发展的中流砥柱。 科罗拉多州,产生了四位量子科学领域的诺贝尔奖得主,汇聚了3000多名量子科技精英,更拥有多家顶级量子初创公司,例如离子阱量子计算公司Quantinuum、原子技术公司At…

从零开始实现自己的串口调试助手(5) -实现HEX显示/发送/接收

实现HEX显示: HEX 显示 -- 其实就是 十六进制显示 --> a - 97(10) --> 61(16) 添加槽函数(bool): 实现槽函数: 注意: 注意QString 没有处理HEX显示的相关API 需要使用 toUtf-8 来 转换位QByteArry 类型, 利用其中的API 来处理HEX格式(toHex fromHex) vo…

Python 机器学习 基础 之 【实战案例】新闻内容分类实战

Python 机器学习 基础 之 【实战案例】新闻内容分类实战 目录 Python 机器学习 基础 之 【实战案例】新闻内容分类实战 一、简单介绍 二、新闻内容分类实战 三、数据准备 四、分词与清洗工作 1、读取数据 2、使用 jieba 分词器进行分词,使用 Pandas 创建Data…

【网络层】IP因特网协议解析

文章目录 IP报文结构分片TTL:time to live 生存时间 (生命值)Protocol 协议 网络层位于数据链路层与传输层之间。网络层中包含了许多协议,其中最为重要的协议是IP协议。网络层提供IP路由功能。 IP报文结构 版本version&#xff1…

20240604将OK3588-C的核心板刷机Buildroot之后强制横屏

20240604将OK3588-C的核心板刷机Buildroot之后强制横屏 2024/6/4 17:13 viewproviewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508/kernel/arch/arm64/boot/dts/rockchip$ grep dsi0 . -R ./Makefile:dtb-$(CONFIG_ARCH_ROCKCHIP) rk3568m-serdes-evb-display-dsi…

【玩转C语言】第一讲--->C语言概念

🔥博客主页🔥:【 坊钰_CSDN博客 】 欢迎各位点赞👍评论✍收藏⭐ 目录 引言: 1. C语言是什么 2. C语言的辉煌历史 3. 第一个C语言程序 4. main()函数 5. printf() 函数 6. 库函数 6.1 库函数概念 7. 关键字介绍 …

巨详细Linux安装MySQL

巨详细Linux安装MySQL 1、查看是否有自带数据库或残留数据库信息1.1检查残留mysql1.2检查并删除残留mysql依赖1.3检查是否自带mariadb库 2、下载所需MySQL版本,上传至系统指定位置2.1创建目录2.2下载MySQL压缩包 3、安装MySQL3.1创建目录3.2解压mysql压缩包3.3安装解…

Kubernetes——Ingress详解

目录 前言——Service策略的作用 1.外部访问方案 2.使用场景和限制 2.1NodePort 2.2LoadBalancer 2.3externalIPs 2.4Ingress 3.Ingress如何实现对外服务 4.LB和Ingress结合起来实现对外服务的过程 一、Ingress 1.定义 2.组成 3.工作原理 4.总结 二、部署Nginx-I…

clickhouse学习笔记(二)数据类型

目录 一、基础数据类型 1、整数类型 2、浮点数类型 3、布尔类型 4、字符串和固定字符串 5、日期和时间类型 6、创建基础数据类型的建表语句及插入语句 二、复合数据类型 1、数组 2、元组 3、枚举类型 4、嵌套数据结构 5、Map 三、特殊数据类型 1、低基数编码&…

SwiftUI 利用 Swizz 黑魔法为系统创建的默认对象插入新协议方法(一)

功能需求 在 SwiftUI 的开发中,我们往往需要借助底层 UIKit 的“上帝之手”来进一步实现额外的定制功能。比如,在可拖放(Dragable)SwiftUI 的实现中,会缺失一些关键的回调方法让我们这些秃头码农们“欲哭无泪” 如上图所示,我们在拖放取消时将界面中的一切改变都恢复如初…