kubernetes概述
1.kubernetes介绍
- Google10多年来大规模容器管理技术Borg的开源版本
2.k8s是做什么的?
-
如果想要将docker应用于具体的业务实现,是存在困难的–编排、管理和调度各个方面。不容易。于是需要一套管理系统,对docker容器进行更高级更灵活的管理,这个时候k8s出现。
-
k8s是容器集群管理系统,开源平台,可以实现容器集群的自动化部署、自动化缩容、维护等功能
3.k8s适用场景
- 有大量跨主机的容器需要管理
- 快速部署应用
- 快速扩展应用
- 无缝对接新的应用功能
- 节省资源,优化硬件资源的使用
4.k8s架构
-
核心角色
- master(管理节点)
- node(计算节点)(在这里启动容器,不在master上启动)
- image(镜像仓库)
4.1 master节点
-
master节点服务
-
Api server 整个系统的对外接口,共客户端和其他组件调用,相当于“营业厅”
-
scheduler 负责对集群内部的资源进行调度,想当于“调度室”
-
controller 负责管理控制器,相当于“大总管”
-
etcd 是一个键值存储仓库,存储集群的状态
-
4.2 node节点
-
docker 容器管理
-
kubelet 主要负责监视指派到它所在的Pod,包括创建,修改,监控,删除等
-
kube-proxy 主要负责为Pod对象提供代理
-
其他附加服务(说的就是Pod)
master发来指令给kubelet,kubelet收到后要运行容器,kubelet并不会像正常一样启动容器,比如docker run之类的,他先在机器上启动pod的东西,pod是管理的最小单元,组,启动pod后,pod里再启动容器,最少1个,最多n个。把相同的容器归纳到一个组里,针对组进行管理,pod就可以理解成组,pod也是个服务,也要运行的,不用手工配置,在kubelet启动时,我们先正常先启动kubelet,然后kubelet再调用pod
pod在node节点的体现就是一个容器