UKnow | Kubernetes:道听途说,此刻终于读懂!
在Docker技术的基础上,为容器化的应用提供部署运行、扩展应用、资源调度、服务发现、动态伸缩、维护自愈的一系列完整功能。
K8s是完备的可移植、可扩展的开源平台,提供完善的管理工具,涵盖技术开发、部署测试、运维监控在内各个环节。
可用于管理容器化的工作负载和服务,实现声明式配置与自动化部署,提高大规模容器集群管理的便捷性。

① Master:集群控制节点,每个集群至少一个Master节点。
② Node:工作节点,由Master分配容器到这些工作节点上,然后由工作节点上的Docker负责容器的运行。
③ Pod:K8s的最小控制单元,容器运行在Pod中,一个Pod包含多个容器。
④ Controller:控制器,实现对Pod的管理,比如Pod的启动、停止、销毁等。
⑤ Service:Pod对外提供服务的入口,Service下面可以维护同一类Pod,一般是同一类标签。
⑥ Label:标签,用于对Pod进行分类,同一类的Pod拥有同样的标签。
⑦ NameSpace:命名空间,用来隔离Pod的运行环境。

① Apiserver:资源操作的唯一入口,接收用户输入的命令。
② Scheduler:负责集群的资源调度,按照预定的调度策略将pod调度到相应的node节点上。
③ ControllerManger:负责维护集群的状态,比如程序部署安排、故障检测、自动扩展、滚动更新等。
④ Etcd:负责存储集群中各个资源对象的信息。
⑤ Kubelet:负责维护容器的生命周期,通过Docker实现容器的创建、更新、销毁等。
⑥ KubeProxy:为集群内部的运行容器提供服务发现和负载均衡。
⑦ Docker:负责各节点上的容器的操作。
① 自我修复: 一旦某个容器崩溃,能在1秒钟内重启一个新的容器替代旧容器。
② 弹性伸缩:根据需要对集群中的容器数量进行调整。
③ 服务发现:自动发现需要依赖的服务。
④ 负载均衡:如果一个服务启动多个容器,能自动实现负载均衡。
⑤ 版本回退:如果发现新版本程序有问题,可以回退至原来的版本。
⑥ 存储编排:根据容器自身对存储的要求按需自动创建存储卷。
① 构建自动化运维平台:适用于创业型公司、中小型企业,使用K8s搭建运维平台,自动维护服务数量,保持服务输出与预期数据一致性,让服务永远提供服务,实现降本增效。
② 充分利用服务器资源:适用于互联网企业,拥有很多服务器资源(物理机),为了提升资源利用质量,使用K8s构建私有云环境,云上项目运行,增强项目运作的灵活性与扩展性。
③ 服务无缝迁移:在项目开发中,需求不停迭代,产品不断更新,项目持续发布新版本,使用K8s可以做到项目从开发到生产无缝迁移,推进敏捷团队建设。K8s基于容器技术