目录
Kubernetes 是由中心节点的架构 Master(最少三个)
Kubernetes是什么?
Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展。如果你曾经用过Docker容器技术部署容器,那么可以将Docker看成Kubernetes内部使用的低级别组件。Kubernetes不仅仅支持Docker,还支持Rocket,这是另一种容器技术。
主要特性:
1、自动装箱 【基于资源依赖,最大约束能够自动完成容器的部署,而且不影响其可用性】
2、自我修复 【容器崩了,可以在短时间内启动(容器kill掉,用重启来代修复)】
3、自动水平扩展 【只要物理资源可以支撑,一个容器不能够满足服务,就会水平启动多个】
4、服务发现和负载 【微服务化以后,服务之间的依赖,通过服务发现的功能会自动发现依赖到的服务,每一种的服务启了一个容器的话,会自动做负载均衡 】
5、自动发布和回滚
6、支持密钥和配置管理
比如:以前我们修改Nginx配置文件,修改完成后需要使用Ansible推向Nginx物理机,重新读取生效;现在是应用的程序的配置西信息,不在本地加载,而是通过读取配置中心的配置,就可以实现
7、存储编排 【存储卷实现动态供给】
8、任务批量执行
Kubernetes架构
Kubernetes简单理解可以是一个集群,组合多台主机的资源,组合资源统一向外提供,计算,存储
【集群的常用的模型是:1、P2P:没有中心节点,每个节点都可以接受用户的请求(Redies Buff)2、有中心节点,从节点从主节点同步(Mysql,主从复制)】
Kubernetes 是由中心节点的架构 Master(最少三个)
简单的请求过程:用户请求发送到Master,Master中调度器去分析各个Node中可用资源,从中找一个最佳适配的,在本地把这个容器启动起来【没有镜像的话,去吧镜像拉取下来再启动】Master是主机点,其他节点是从节点(高可用);各个Node节点,每个节点都是贡献一部分计算能力,存储能力等(也就是运行容器的节点);
APIServer: APIServer负责对外提供RESTful的Kubernetes API服务,它是系统管理指令的统一入口,任何对资源进行增删改查的操作都要交给APIServer处理后再提交给etcd。如架构图中所示,kubectl(Kubernetes提供的客户端工具,该工具内部就是对Kubernetes API的调用)是直接和APIServer交互的
Scheduler: 主要负责挑选出一个最佳node节点来运行pod