【k8s连载系列】k8s介绍( 二 )

  • 资源隔离:可预测的应用程序性能 。
  • 资源利用:高效率、高密度 。
  • Docker 由镜像、镜像仓库、容器三个部分组成:镜像: 跨平台、可移植的程序+环境包镜像仓库: 镜像的存储位置,有云端仓库和本地仓库之分,官方镜像仓库地址容器: 进行了资源隔离的镜像运行时环境
    2 、从Docker到Kubernetes随着容器的火爆,越来越多的业务系统利用容器来搭建部署,像 Docker 之类的容器引擎,部署少量还可以,但随着业务的增多,服务越来越多,动辄就要使用成百上千的容器,要管理这么多容器,Docker 们就力不从心了 。随着容器技术越来越多的使用,出现了很多问题
    • 百上千的容器管理问题
    • 分布式环境下容器如何通信?
    • 如何协调和调度这些容器?
    • 如何在升级应用程序时不会中断服务?
    • 如何监视应用程序的运行状况?
    • 如何批量重新启动容器里的程序?
    有需求就有改变,于是乎,市场上就出现了一批容器编排工具,典型的是 Swarm、Mesos 和 K8S 。最后,K8S“击败”Swarm 和 Mesos,几乎成了当前容器编排的事实标准 。
    Kubernetes(简称 K8s,其中8代指中间的8个字符),是一个全新的基于容器技术的分布式架构方案 。K8S 最初是由 Google 开发的,后来捐赠给了 CNCF(云原生计算基金会,隶属 Linux 基金会) 。K8S是 Google 十几年来大规模应用容器技术的经验积累和升华的重要成果,确切的说是 Google 一个久负盛名的内部使用的大规模集群管理系统——Borg的开源版本,其目的是实现资源管理的自动化以及跨数据中心的资源利用率最大化 。
    Kubernetes具有完备的集群管理能力,包括多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和服务发现机制、内建的智能负载均衡器、强大的故障发现和自我修复能力、服务滚动升级和在线扩容能力、可扩展的资源自动调度机制,以及多力度的资源配额管理能力 。
    同时,Kubernetes 提供了完善的管理工具,这些工具涵盖了包括开发、部署测试、运维监控在内的各个环节,不仅是一个全新的基于容器技术的分布式架构解决方案,还是一个一站式的完备分布式系统开发和支撑平台 。
    K8S 是个杂技高手,最擅长的就是“搬箱子”,盘各种容器玩 。
    【k8s连载系列】k8s介绍

    文章插图
    K8S 的大致架构,就像上面 。Master 节点,用来放“脑子”,“腿脚”搭在工作节点上“搬砖”,工作节点就是实际业务容器的存放地 。
    单个容器或多个关系密切的容器,被编成一组,称为 pod 。K8S 就是以 pod 为单位进行编排操作 。
    同时,K8S 还要和其它相关软件配合,来完成联网、存储、安全等功能 。
    Kubernetes 由 Master 节点、 Node 节点以及外部的 ETCD 集群组成,集群的状态、资源对象、网络等信息存储在 ETCD 中,Mater 节点管控整个集群,包括通信、调度等,Node 节点为工作真正执行的节点,并向主节点报告 。
    3、容器和k8s的关系
    【k8s连载系列】k8s介绍

    文章插图
    K8S 和 Docker 们不是替代关系,而是配合关系 。K8S 仍然会使用 Docker 之类的容器引擎(Docker、Containerd、RKT、CRI-O 等),来对容器进行生命周期管理 。
    二、K8S的特性1.高可用,不宕机,自动灾难恢复
    2.灰度更新,不影响业务正常运转
    3.一键回滚到历史版本
    【【k8s连载系列】k8s介绍】4.方便的伸缩管理(包括应用伸缩,机器增减),提供负载均衡
    5.有一个完善的生态体系
    6.轻量级

    经验总结扩展阅读