飞天使-k8s-知识点1-kubernetes架构简述

news2024/11/17 9:52:44

文章目录

        • 名词
          • 功能要点
        • k8s核心要素
          • CNCF 云原生框架简介
          • k8s组建介绍

名词
CI 持续集成,
自动化构建和测试:通过使用自动化构建工具和自动化测试套件,持续集成可以帮助开发人员自动构建和测试他们的代码。这样可以快速检测到潜在的问题,并及早修复。

频繁集成:开发人员的代码变更通常会频繁地集成到主干中,这有助于减少代码之间的冲突,并更早地发现和解决集成问题。

快速反馈:持续集成通过自动构建和测试过程,为开发人员提供了快速的反馈。如果构建或测试失败,开发人员可以立即得知,并及时修复。

自动化部署:持续集成不仅关注代码集成,还包括自动化部署到目标环境的过程。这有助于更快地将软件交付给最终用户。


CD 持续交付 Delivery
CD 持续部署 Deployment 

自动化构建和测试:通过使用自动化构建工具和自动化测试套件,持续交付可以帮助开发人员自动构建和测试他们的代码。这样可以快速检测到潜在的问题,并及早修复。

自动化部署:持续交付通过自动化部署工具和流程,帮助开发人员自动将软件部署到目标环境中。这有助于加快软件交付的速度,并减少由于手动部署而引入的错误。

可靠性和可重复性:持续交付通过自动化整个交付过程,提高了软件部署的可靠性和可重复性。这有助于降低发布新版本的风险,并提高整个软件交付过程的质量。


kubernetes 是站在 borg的基础上进行改进

kubernetes 更多的关注的是群体,而不是个体,因为其自我修复速度很快

功能要点
自动装箱,自我修复,水平扩张,服务发现和负载均衡,自动发布和回滚
密钥和配置管理,存储编排,任务批量执行


kubernetes 是什么? 
多个主机当一个主机使用,完成一些功能提供给服务使用

不同主机不同角色

k8s核心要素
基于yaml⽂文件实现容器器的⾃自动创建、删除 更更快速实现业务的弹性横向扩容 动态发现新扩容的容器器并对⾃自动⽤用户提供访问 更更简单、更更快速的实现业务代码升级和回滚

在这里插入图片描述

CNCF 云原生框架简介

https://www.kubernetes.org.cn/5482.html

k8s组建介绍
 kube-apiserver:Kubernetes API server 为 api 对象验证并配置数据,包括 pods、 services、
replicationcontrollers和其它 api 对象,API Server 提供 REST 操作,并为集群的共享状态提供前端访
问⼊⼝,kubernetes中的所有其他组件都通过该前端进⾏交互。

kube-scheduler是Kubernetes的pod调度器,负责将Pods指派到合法的节点上,kube-scheduler调度
器基于约束和可⽤资源为调度队列中每个Pod确定其可合法放置的节点,kube-scheduler⼀个拥有丰富
策略、能够感知拓扑变化、⽀持特定负载的功能组件,kube-scheduler需要考虑独⽴的和集体的资源需
求、服务质量需求、硬件/软件/策略限制、亲和与反亲和规范等需求。

kube-controller-manager:Controller Manager作为集群内部的管理控制中⼼,负责集群内的Node、
Pod副本、服务端点(Endpoint)、命名空间(Namespace)、服务账号(ServiceAccount)、资源定
额(ResourceQuota)的管理,当某个Node意外宕机时,Controller Manager会及时发现并执⾏⾃动
化修复流程,确保集群中的pod副本始终处于预期的⼯作状态。

kube-proxy:Kubernetes ⽹络代理运⾏在 node 上,它反映了 node 上 Kubernetes API 中定义的服
务,并可以通过⼀组后端进⾏简单的 TCP、UDP 和 SCTP 流转发或者在⼀组后端进⾏循环 TCP、UDP 和
SCTP 转发,⽤户必须使⽤ apiserver API 创建⼀个服务来配置代理,其实就是kube-proxy通过在主机上
维护⽹络规则并执⾏连接转发来实现Kubernetes服务访问。

kubelet:是运⾏在每个worker节点的代理组件,它会监视已分配给节点的pod,具体功能如下:
向master汇报node节点的状态信息
接受指令并在Pod中创建 docker容器
准备Pod所需的数据卷
返回pod的运⾏状态
在node节点执⾏容器健康检查

etcd:
etcd 是CoreOS公司开发⽬前是Kubernetes默认使⽤的key-value数据存储系统,⽤于保存所有集群数
据,⽀持分布式集群功能,⽣产环境使⽤时需要为etcd数据提供定期备份机制。

#核⼼组件:
 apiserver:提供了资源操作的唯⼀⼊⼝,并提供认证、授权、访问控制、API注册和发现等机制
 controller manager:负责维护集群的状态,⽐如故障检测、⾃动扩展、滚动更新等
 scheduler:负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上
 kubelet:负责维护容器的⽣命周期,同时也负责Volume(CVI)和⽹络(CNI)的管理;
 Container runtime:负责镜像管理以及Pod和容器的真正运⾏(CRI);
 kube-proxy:负责为Service提供cluster内部的服务发现和负载均衡;
 etcd:保存了整个集群的状态

#可选组件:
 kube-dns:负责为整个集群提供DNS服务
 Ingress Controller:为服务提供外⽹⼊⼝
 Heapster:提供资源监控
 Dashboard:提供GUI
 Federation:提供跨可⽤区的集群
 Fluentd-elasticsearch:提供集群⽇志采集、存储与查询


https://kubernetes.io/zh/docs/reference/command-line-tools-reference/kube-apiserver/
https://kubernetes.io/zh/docs/reference/command-line-tools-reference/kube-scheduler/
https://kubernetes.io/zh/docs/reference/command-line-tools-reference/kube-controller-manager/
https://kubernetes.io/zh/docs/reference/command-line-tools-reference/kube-proxy/
https://kubernetes.io/zh/docs/reference/command-line-tools-reference/kubelet/
https://kubernetes.io/zh/docs/tasks/administer-cluster/configure-upgrade-etcd/
https://kubernetes.io/zh/docs/concepts/overview/components/ 



在这里插入图片描述

在这里插入图片描述

参考资料:马哥,杰哥

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

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

相关文章

C/C++编程中的算法实现技巧与案例分析

C/C编程语言因其高效、灵活和底层的特性,被广大开发者用于实现各种复杂算法。本文将通过10个具体的算法案例,详细探讨C/C在算法实现中的技巧和应用。 一、冒泡排序(Bubble Sort) 冒泡排序(Bubble Sort)是一…

单片机应用实例:LED显示电脑电子钟

本例介绍一种用LED制作的电脑电子钟(电脑万年历)。其制作完成装潢后的照片如下图: 上图中,年、月、日及时间选用的是1.2寸共阳数码管,星期选用的是2.3寸数码管,温度选用的是0.5寸数码管,也可根据…

人工智能中不可预测的潜在错误可能是灾难性的——数学解释

一、说明 有没有人研究评估AI的错误产生的后果有多么严重,是否存在AI分险评估机制?更高维度上,人工智能的未来是反乌托邦还是乌托邦?这个问题一直是争论的话题,各大阵营都支持。我相信我们无法准确预测这两种结果。这是…

画图之C4架构图idea和vscode环境搭建篇

VS Code 下C4-PlantUML安装 安装VS Code 直接官网下载安装即可,过程略去。 安装PlantUML插件 在VS Code的Extensions窗口中搜索PlantUML,安装PlantUML插件。 配置VS Code代码片段 安装完PlantUML之后,为了提高效率,我们最好安装PlantUML相关的代码片段。 打开VS Cod…

React心理健康测试网站系统源码

帮助需要的人更好地了解自己的心理健康状态和人格特征。本模板提供了一个最小的配置,使得React可以在Vite中启用HMR,并且包含了几个ESLint规则。只需要使用react antd-mobile即可轻松部署完成。 源码下载:https://download.csdn.net/downlo…

操作系统系列:Unix进程系统调用fork,wait,exec

操作系统系列:Unix进程系统调用 fork系统调用fork()运用的小练习 wait系统调用Zombiesexec 系列系统调用 开发者可以查看创建新进程的系统调用,这个模块会讨论与进程相关的Unix系统调用,下一个模块会讨论Win32 APIs相关的进程。 fork系统调用…

智能优化算法应用:基于学生心理学算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于学生心理学算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于学生心理学算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.学生心理学算法4.实验参数设定5.算法…

VS+Qt 打包Python程序

书接上回,调用C调用python,下面来谈谈随exe文件打包。 先说下环境vs2019Qt5.12.11python3.8,这里需要注意如果你要适配Win7的系统,python最好是9以下,以上不兼容,也没时间找方法,找到评论说下 如…

实现个人日志命令行工具(C语言)

〇、前言 中午上课的时候,打开 github 看了一下个人主页,虽然最近很忙,但是这个活动记录有点过于冷清: 于是我就想着写一个日志命令行工具,输入以下命令就能将我的日志立即同步到 github 上: mylog toda…

Jenkins+Docker+Gitee搭建自动化部署平台

目录 服务器准备 Docker安装 yum 包更新到最新 设置yum源 安装docker 启动和开机启动 验证安装是否成功 Jenkins安装 拉取镜像 创建映射目录 运行镜像 运行出错 修正权限 重新运行镜像 新建安全组,放通8080端口 激活Jenkins Jenkins插件 Jenkins全…

el-form与el-upload结合上传带附件的表单数据(前端篇)

1.写在之前 本文前端采用Vue element-plus技术栈,前端项目参考yudao-ui-admin-vue3项目与Geeker-Admin项目。 这篇文章是el-form与el-upload结合上传带附件的表单数据(后端篇)-CSDN博客姐妹篇,后端篇文章主要讲的是后端的实现逻…

限流原理与实践:固定窗口、滑动窗口、漏桶与令牌桶解析

方案一、固定窗口限流算法 这里我们通过一个 demo 来介绍固定窗口限流算法。 创建一个 FixWindowRateLimiterService 类。 Service public class FixWindowRateLimiterService {Resourceprivate StringRedisTemplate stringRedisTemplate;private static final DefaultRedisSc…

新手上路:自动驾驶行业快速上手指南

文章目录 1.自动驾驶技术的发展1.1 工业革命驱动自动驾驶技术发展1.2 想象中的未来:科幻作品中的自动驾驶汽车1.3 自动驾驶技术萌芽与尝试1.4 百花争鸣:自动驾驶科技巨头与创业公司并进 2.个人开发者,如何玩转自动驾驶?2.1 灵活易…

Opencv实验合集——实验六:模板匹配

1.概念 模板匹配旨在在图像中找到与给定模板最相似的部分。其核心思想是通过滑动模板,计算每个位置与模板的相似性,然后找到最匹配的位置。这一过程常涉及选择匹配度量方法,如平方差匹配、归一化平方差匹配、相关性匹配等。模板匹配在目标检…

git缓存区、本地仓库、远程仓库的同步问题(初始化库无法pull和push)

git新建库与本地库同步 gitee使用教程,git的下载与安装接不在叙述了。 新建远程仓库 新建远程仓库必须要使用仓库提供的api,也就是仓库门户网站,例如gitee,github,gitlab等。在上图中使用gitee网址中新建了一个test仓…

【无语】Microsoft Edge 浏览器不显示后台返回的数值数据

Microsoft Edge 禁用 JSON 视图 写在前面禁用 JSON 视图 写在前面 遇到一个有意思的事情,在用 Microsoft Edge 浏览器发送请求测试时发现,后端返回的数值数据没有正常展示,而是类似查看源码的结果,只显示了一个行号1,…

SpringMVC01

SpringMVC 1. 学习⽬标2. 什么叫MVC?3. SpringMVC 框架概念与特点4. SpringMVC 请求流程5. Spring MVC 环境搭建6. URL 地址映射配置7. 参数绑定8. JSON 数据开发JSON普通数组步骤1:pom.xml添加依赖步骤2: 修改配置⽂件步骤3. 注解使⽤ 1. 学习⽬标 2. 什…

Android Studio: 解决Gradle sync failed 错误

文章目录 1. 前言2. 错误情况3. 解决办法3.1 获取gradle下载地址3.2 获取gradle存放目录3.3 替换并删除临时文件3.4 触发Try Again 4. 执行成功 1. 前言 今天调试项目,发现新装的AS,在下载gradle的过程中,一直显示连接失败,Gradl…

Zookeeper-快速开始

Zookeeper介绍 简介:ZooKeeper 是一个开源的分布式协调框架,是Apache Hadoop 的一个子项目,主要用来解决分布式集群中应用系统的一致性问题。 设计目标:将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效…

数据可视化---饼图、环形图、雷达图

类别内容导航机器学习机器学习算法应用场景与评价指标机器学习算法—分类机器学习算法—回归机器学习算法—聚类机器学习算法—异常检测机器学习算法—时间序列数据可视化数据可视化—折线图数据可视化—箱线图数据可视化—柱状图数据可视化—饼图、环形图、雷达图统计学检验箱…