【课程笔记】华为 HCIE-Cloud Computing 云计算06:容器编排
容器编排
Kubernetes介绍
(1)Kubernetes框架结构
①Kuber API Server:负责接收所有的用户和节点请求的,也就是k8s的对外连接和信息获取都是需要通过API去实现的,API接收请求也满足了基于容器的云原生框架的设计理念
②Kuber Etcd:K8s的核心数据库,所有关于k8s的相关信息和配置等内容,都会被存储在etcd中
③Kuber Scheduler:K8s资源调度器,负责分配相关的资源使用的,在用户下发请求,需要创建相关的容器的时候,在Scheduler中,分配资源有以下几种比较常见的类型和形式
-
按资源利用率进行分配:资源分配的时候中,哪个节点的资源使用率最低,就选择其进行新容器的创建
-
按队列深度做分配:资源分配的过程中,哪个节点当前排队执行的任务数最少,就选择其进行新容器的分配
-
轮询:按顺序一个节点执行一次
④Kuber Controll Manager(CM)
-
Node控制器:节点管理器,负责管理所有Kubernetes中相关的设备节点,一个节点就对应了一台服务器
-
Replication控制器:容灾控制器,主要负责的是容器出现故障之后的故障切换、容器重建、容器恢复等相关安全性操作的监控和管理器
-
Endpoint控制器:终端节点控制器,一般是管理某些边缘计算设备使用的
-
Service Account & Token控制器:服务器类型和令牌管理器,主要是负责服务发现以及安全令牌机制的管理器系统
⑤Kuber Cloud Controller Manager(CCM)
-
Node控制器:节点管理器,主要是管理云上节点的相关组件,在云上,一个节点就可以对应的是一个BMS或ECS
-
Route控制器:路由控制器,主要负责的是云上网络通信使用的框架,也涉及到跨云网络的通信
-
Service控制器:主要负责的是云上的服务发现和服务管理使用
-
Volumn控制器:卷控制器,主要是负责云上存储空间的管理和分配使用的
⑥Node节点框架
-
Kubelet:代理,负责接收Master的命令,然后将具体的命令进行执行。代理还会周期性的上报Node节点的资源管理情况以及资源使用情况
-
Kube Proxy:负载均衡组件,负责实际上集群的流量转发和负载均衡功能
-
Container Runtime:容器运行器,即负责容器的执行和运行功能
(2)Kubernetes执行流程

①用户下发请求达到Kubernetes,由对外接口AIP接收请求
②API会将用户请求进行记录,交给Etcd写入数据库,记录操作日志
③在执行任务之前,k8s首先会检查scheduler进程,找到当前集群中符合条件的node节点,然后将请求解析并转发给Node进行操作
④发送任务的进程还是API,由API发送到Node节点的Kubelet进程
⑤Kubelet进程收到命令之后,首先会联系Volumn控制器,创建相关的存储空间,或者是相关的软链接。之后联系到Networking控制器,创建相关的网络环境(虚拟网卡、暴露端口、网络映射),提供一个对外的访问方法
⑥创建好相关的辅助资源之后,最后Kubelet会联系Container Runtime进程创建对应的容器。容器生成之后,就会以pod节点的形式在Node节点上运行
⑦创建好的pod会在Device控制器,设备控制器上进行注册,同时设备控制器会持续性的对pod进行监控,用于后期做负载均衡、弹性伸缩、故障切换等操作
⑧当用户需求访问的时候,不会直接访问容器pod的网络资源,而是会访问proxy接口,由proxy接口转发请求到达对应的pod进行业务的提供
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)