K8S学习之路
1.介绍
1.1单机部署
1.2.虚拟化部署
类似window上安装多个linux虚拟机,在虚拟机中部署程序,使得程序之间不会互相影响
1.3.容器化部署
共享了操作系统,保证每个系统拥有自己的文件系统,CPU,内存,进程空间;运行应用程序所需要的资源被容器包装,并和底层基础架构解耦;容器化的应用程序可以跨云服务商,跨linux操作系统发行版进行部署;
1.3.2.存在问题
一个容器故障停机了,怎样让另外一个容器立刻启动去替补停机的容器; 当并发访问量变大的时候,怎么样做到横向扩展容器数量 容器编排: Docker Swarm: Apache Mesos: Kubernets:
1.3.3.功能
一组服务器集群,实现资源管理的自动化 自我修复:一旦某个容器崩溃,能够在1s内迅速启动新的容器 弹性伸缩:自动对集群中正在运行的容器数量进行调整 服务发现:通过自动发现的形式找到它们所依赖的服务 负载均衡:如果一个服务启动了多个容器,能够自动实现请求的负载均衡 版本回退:如果发现新发布的程序版本有问题,可回退 存储编排:根据容器自身的需求自动创建存储卷
2.kubernetes组件
控制节点,工作节点 ApiServer:资源操作的唯一入口,接受用户输入的命令,提供认证,授权,API注册和发现机制 Scheduler:负载集群资源调度,按照预定的调度资源策略将Pod调度到相应的node节点上; ControllerManager:负责维护集群的状态,比如程序部署安排,故障检测,自动扩展,滚动更新; Etcd:负责存储集群中各种资源对象信息 node:集群的数据平面,负责为容器提供运行环境 Kubelet:负责维护容器生命周期; KubeProxy:负责提供集群内部服务发现和负载均衡 Docker:负责节点上容器的各种操作; P4
|