Kubernetes总览
-
Kubernetes集群中被称为Node节点。并且在Kubernetes中能够存在一个或者多个Master节点控制多个宿主机实现集群,使得整个Kubernetes的核心调度功能基本都在Master节点上。
Kubernetes拥有五个主要功能组件:kubelet:是一个安装在Node节点上,用以控制Node节点中的容器完成Kubernetes的调度逻辑。
ControllerManager:是控制器模式的核心管理组件,管理了所有Kubernetes集群中的控制器逻辑。
API Server:在服务处理集群中的api请求,一直写的kubectl,其实就等同于发送给API Server的请求,请求会在其内部进行处理和转发。
Scheduler:是一个负责Kubernetes的服务调度,例如控制器只是控制Pod的编排,最后的调度逻辑是由Scheduler所完成并且发送请求给kubelet执行的。
Etcd数据库存储项目:这是一个分布式的数据库存储项目,基于CoreOS开发,最终被RedHat(红帽)收购成为Kubernetes的一部分,它里面保存了Kubernetes集群中的所有配置信息,同时这也是Kubernetes和心中的核心组件。
定制化功能:此功能除了各种强大的组件功能之外,Kubernetes也给用户提供了极高的自由度。并且为了实现这种高度的自由,Kubernetes给用户提供了三个公开的接口,分别是:Container Networking Interface,容器网络接口、Container Storage Interface,容器存储接口、Container Runtime Interface,容器运行时接口。
Kubernetes的默认容器是Docker,但是由于外界因素,导致Docker并不满足Kubernetes所定义的CRI规范,为了解决这个问题,Kubernetes专门为Docker编写了一个叫DockerShim的组件,命名为Docker垫片,用来把CRI请求规范,转换成为Docker操作Linux模拟机的OCI规范。但是这个功能需要一直由Kubernetes项目维护的,只要Docker发布了新的功能Kubernetes就要维护这个DockerShim组件。
西南地区IT社群(QQ)
- 云南
- 【昆明网页设计交流吧】243627302
- 【昆明nodejs交流吧】 243626749
- 【VUE】838405306
- 【云南程序员总群】343606807
- 【昆明UI设计】104031254
- 【云南软件外包】15547313
- 贵州
- 【PHP/java源码/站长交流群】55692114
- 四川
- 【成都Java/JavaWeb交流】86669225
- 【vaScript+PHP+MySql】116270060
- 【UI设计/设计交流学习群】135794928
- 重庆
- 【诺基亚 JAVA游戏博物馆】 559479780
- 【PHP,Java,Python,C++接单】 442103442
- 西藏