云原生系列(十)

简介: 云原生系列(十)

K8S的架构图

首先,云原生的重要组件是K8S,K8S是一个围绕容器打造的分布式高并发系统:①、容器元数据的管理;②、容器的生命周期管理

早期的容器管理:称之为容器管理的原始时代:使用命令的形式进行容器的管理;包括容器的启动和停止,包括服务地址和端口的配置,在原始时代的后期使用yml文件进行容器编排,所有容器的元数据通过yml文件进行管理,很多个容器的话手都会敲断,所以k8s从原始时代带入工业时代。

二、Kubernetes的对象之间的组合关系

3d0ca71b150156d6ddb18b588b54784b.png

k8s的资源对象之间的组合关系:非常类似于springmvc的持久层的实体Bean

Deployment:滚动升级策略:副本数:PodTemplate

Replicaset:版本信息(templateHash) ,描述副本数:类似于微服务的实例对象

Node:整个k8s节点的计算节点的计算资源健康状况

Pod:核心的资源对象,镜像地址资源需求:内存,硬盘,cpu

Service:容器在外面访问的服务协议服务端口

Ingress:容器在外面访问的域名  访问http协议的 URL 目标服务

三、K8S的分布式子系统架构图,和业务架构图相呼应

b9262866b17899bdc6bec8e39e4eceef.png

K8S  Master:负责的是容器的元数据管理

Kubelet:工作节点:也可以说是Node  Worker:负责的是容器的生命周期管理

在整个K8S容器当中,我们的业务服务都是通过容器的方式部署的

所以k8s集群有很多个工作节点或者说是node节点/计算节点。

他们都是通过master组件的API Server组件进行 容器的元数据的查询和订阅

四、分布式容器管理流程架构图

f409c470e3aeb48bf8ffc1ad7dccc632.png

(1)、首先是用户拿了一份容器部署的描述文件:Deployment文件,提交给到控制平面的master节点的API Server核心组件。

(2)、API Server可以理解为k8s的数据总线:只负责容器元数据资源对象的crud,并不负责元数据的处理,元数据的处理是由一些控制器来完成的。

(3)、然后API Server把处理好的元数据对象给到注册中心etcd分布式协调组件进行元数据的持久化,第二种是通过发布订阅机制通知到工作节点里面的容器管理的角色kubelet,

(4)、然后kubelet监听到元数据的变化之后:一旦监听到是属于当前工作节点的容器,就是通过下面的接口来进行容器的创建,和网络资源的分配,存储资源的分配。

(5)、在整个容器管理的流程当中:核心的数据总线提供了HTTP Rest接口完成了K8S各类资源对象pod,RC,Service(元数据对象)的等的增删改查以及watch(元数据变化的监听操作)等,是整个系统的数据总线

五、K8S的内部数据传输架构图

a18de398ba94fa0964b83776121b96c1.png

(1)、K8S内部数据传输架构:通过长短连接实现性能最优化

(2)、工作节点的Kubelet组件和控制节点的api server组件之间有两种方式的数据传输一种是http接口的短连接传输:获取全量的元数据,一种是长连接的数据传输:获取增量元数据的变化;传输性能最优化;kubelet使用了缓存架构。

六、容器对外暴漏的架构图

7574ebea194c8cfe0799028fab93d2a3.png

当我们容器创建好之后:怎么对外进行暴漏,方便外面的访问

①、容器元数据对象创建的阶段:k8s会创建一个资源Service对象,根据选择器selector,和元数据的标签labels进行容器的挑选;另外Service会配置对外暴漏统一的端口port;分发阶段,会通过暴漏的,端口来访问;k8s有一个专门的组件kube-proxy:Service的负载均衡器来完成流量的分发和pod之间的负载均衡


七、k8s的总的架构:有两个核心的架构:

master:负责容器元数据的管理和监控,在Master上面有个数据总线API Server

node:负责容器生命周期管理和外部流量的代理和路由:有个Kubelet组件

e20a4c3ee0004b8e2cff5ef8203c6ef8.png

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
Kubernetes API 调度
k8s 到底是什么,架构是怎么样的?
Kubernetes(k8s)是Google开源的容器集群管理系统,它通过YAML文件自动化应用部署、扩展和管理。k8s架构包含控制平面(API Server、Scheduler、Controller Manager和etcd)和工作节点(Node,含kubelet、Container runtime、Kube Proxy等)。控制平面负责调度和管理,Node执行任务。kubectl是命令行工具,用于与k8s交互。k8s通过Ingress暴露服务,并通过Pod作为最小调度单位管理容器。Docker通常与k8s结合使用,提供容器化应用,但二者并非同一概念。
1467 4
k8s 到底是什么,架构是怎么样的?
|
2月前
|
Kubernetes API 开发工具
深入浅出K8S技术原理,搞懂K8S?这一篇就够了!
本文以“K8S帝国”为喻,系统解析Kubernetes核心技术原理。从声明式API、架构设计到网络、存储、安全、运维生态,深入浅出揭示其自动化编排本质,展现K8S如何成为云时代分布式操作系统的基石。(239字)
754 5
|
3月前
|
人工智能 Java API
Nacos 3.1.0 正式发布,支持 A2A 注册中心与 MCP 注册协议增强
3.1.0 发布核心全新功能-Agent 注册中心,助力构建基于 A2A 协议的多 Agent 协作的AI应用,同时 MCP 注册中心适配最新 MCP 官方注册中心协议及升级优化多项核心功能。
825 33
|
6月前
|
运维 算法 机器人
阿里云AnalyticDB具身智能方案:破解机器人仿真数据、算力与运维之困
本文将介绍阿里云瑶池旗下的云原生数据仓库AnalyticDB MySQL推出的全托管云上仿真解决方案,方案采用云原生架构,为开发者提供从开发环境、仿真计算到数据管理的全链路支持。
|
存储 Kubernetes 调度
|
存储 Kubernetes 监控
一文带你玩转全新采集配置 CRD:AliyunPipelineConfig
相较于 AliyunLogConfig,AliyunPipelineConfig 在配置格式、行为逻辑上做了很大改进,主打灵活、简单、稳定。点击本文,手把手教你如何配置 AliyunPipelineConfig,欢迎大家使用~
37158 109
|
存储 Kubernetes API
在K8S中,Kubernetes的组件有哪些?
在K8S中,Kubernetes的组件有哪些?
|
Kubernetes 容器
图解k8s
图解k8s
327 0
|
Kubernetes API 调度
在K8S中,简单陈述⼀下K8S架构?
在K8S中,简单陈述⼀下K8S架构?
|
Kubernetes Unix API
k8s报错
k8s报错
858 10

热门文章

最新文章