当前位置:网站首页>【云原生 · Kubernetes】Kubernetes简介及基本组件
【云原生 · Kubernetes】Kubernetes简介及基本组件
2022-08-03 05:28:00 【念舒_C.ying】
1.Kubernetes简介
Kubernetes是Google开源的容器集群管理系统,其提供应用部署、维护、 扩展机制等功能,如图1.3所示。利用Kubernetes能方便地管理跨机器运行容器化的应用,其主要功能总结如下:
- 使用Docker对应用程序包装(package)、实例化(instantiate)、运行(run)。
- 以集群的方式运行、管理跨机器的容器。
- 解决Docker跨机器容器之间的通讯问题。
- Kubernetes的自我修复机制使得容器集群总是运行在用户期望的状态。
图1.3 Kubernetes的功能结构
2.Kubernetes集群平台组成结构
Kubernetes总体包含两种角色,一个是Master节点,负责集群调度、对外接口、访问控制、对象的生命周期维护等工作;另一个是Node节点,负责维护容器的生命周期,例如创建、删除、停止Docker容器,负责容器的服务抽象和负载均衡等工作。
其中Master节点上,运行着三个核心组件:API Server, Scheduler, Controller Mananger。
Node节点上运行两个核心组件: Kubelet, Kube-Proxy。API Server提供Kubernetes集群访问的统一接口,Scheduler, Controller Manager, Kubelet, Kube-Proxy等组件都通过API Server进行通信,API Server将Pod, Service, Replication Controller, Daemonset等对象存储在ETCD集群中。
ETCD是CoreOS开发的高效、稳定的强一致性Key-Value数据库,ETCD本身可以搭建成集群对外服务,它负责存储Kubernetes所有对象的生命周期,是Kubernetes的最核心的组件。各个组件之间的关系详情如图1-4所示。
下面先大概介绍一下Kubernetes的核心组件的功能:
API Server: 提供了资源对象的唯一操作入口,其他所有的组件都必须通过它提供的API来操作资源对象。它以RESTful风格的API对外提供接口。所有Kubernetes资源对象的生命周期维护都是通过调用API Server的接口来完成,例如,用户通过kubectl创建一个Pod,即是通过调用API Server的接口创建一个Pod对象,并储存在ETCD集群中。
Controller Manager: 集群内部的管理控制中心,主要目的是实现Kubernetes集群的故障检测和自动恢复等工作。它包含两个核心组件:Node Controller和Replication Controller。其中Node Controller负责计算节点的加入和退出,可以通过Node Controller实现计算节点的扩容和缩容。Replication Controller用于Kubernetes资源对象RC的管理,应用的扩容、缩容以及滚动升级都是有Replication Controller来实现。
Scheduler: 集群中的调度器,负责Pod在集群的中的调度和分配。
Kubelet: 负责本Node节点上的Pod的创建、修改、监控、删除等Pod的全生命周期管理,Kubelet实时向API Server发送所在计算节点(Node)的信息。
Kube-Proxy: 实现Service的抽象,为一组Pod抽象的服务(Service)提供统一接口并提供负载均衡功能。
图1.4 kubernetes集群服务各组件关系
期待下次的分享,别忘了三连支持博主呀~
我是 念舒_C.ying ,期待你的关注~
边栏推荐
猜你喜欢
随机推荐
你真的了解volatile关键字吗?
什么是次世代建模,为什么这么多建模人在学习次世代建模流程
Servlet详解含实例
高密度 PCB 线路板设计中的过孔知识
Makefile.am:24: error: Libtool library used but ‘LIBTOOL‘ is undefined
IDEA连接mysql又报错!Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezone‘ prope
【DIoU CIoU】DIoU和CIoU损失函数理解及代码实现
在OracleLinux8.6的Zabbix6.0中监控Oracle11gR2
大学毕业后,零基础想转行成为一名3D建模师,现在该做什么?
contos install php-ffmpeg and tp5.1 using plugin
看了都收藏的3D游戏建模全流程解析,角色模型就该这么做!
mysql事务与多版本并发控制
PHP二维数组保留键值去重
【面筋1】一些没什么标准答案的问题
二层交换机,三层交换机,路由器内容总结记录
次世代建模到底需要哪些美术基础
宝塔负载均衡配置及nfs共享
contos安装php-ffmpeg和tp5.1使用插件
【随笔】小马过河
WinServer2012r2破解多用户同时远程登录,并取消用户控制