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

2023-12-20 06:33:29

名词
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/ 



在这里插入图片描述

在这里插入图片描述

参考资料:马哥,杰哥

文章来源:https://blog.csdn.net/startfefesfe/article/details/135056737
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。