前言

K8s是一个轻便的和可扩展的开源平台,用于管理容器化应用和服务。通过K8s能够进行应用的自动化部署和扩缩容。在K8s中,会将组成应用的容器组合成一个逻辑单元以更易管理和发现。K8s积累了作为Google生产环境运行工作负载15年的经验,并吸收了来自于社区的最佳想法和实践。
image.png

功能点

  • 自动装箱

基于容器对应用运行环境的资源配置要求自动部署应用容器。

  • 自我修复(自愈能力)
    • 当容器失败时,会对容器进行重启。
    • 当所部署的Node节点有问题时,会对容器进行重新部署和重新调度。
    • 当容器未通过监控检查时,会关闭此容器。
    • 直到容器正常运行时,才会对外提供服务。
  • 水平扩展

通过简单的命令、用户UI界面或基于CPU等资源使用情况,对应用容器进行规模扩大或规模剪裁。

  • 服务发现

用户不需要使用额外的服务发现机制,就能够基于Kubernetes自身能力实现服务发现和负载均衡。

  • 滚动更新
    可以根据应用的变化,对应用容器运行的应用,进行一次性或批量式更新。
  • 版本回退
    可以根据应用部署情况,对应用容器运行的应用,进行历史版本即时回退。
  • 密钥和配置管理
    在不需要重新构建镜像的情况下,可以部署和更新密钥和应用配置,类似热部署。
  • 存储编排

    • 自动实现存储系统挂载及应用,特别对有状态应用实现数据持久化非常重要。
    • 存储系统可以来自于本地目录、网络存储(NFS、Gluster、Ceph、Cinder等)、公共云存储服务等。

      节点支持度

  • Node节点数支持

    • 早期版本支持管理100个节点。
    • 新版本支持管理2000个节点。
  • Pod节点数支持
    • 早期版本支持管理1000个节点。
    • 新版本支持管理150000个节点 。