目录

一、概述

二、k8s特性

2.1. 自动装箱

2.2. 自我修复(自愈能力)

2.3. 水平扩展

2.4. 服务发现(负载均衡)

2.5. 滚动更新

2.6. 版本回退

2.7. 密钥和配置管理

2.8. 存储编排

2.9. 批处理


一、概述

  1. k8s是谷歌在2014年开源的容器化集群管理系统,它的前身是Borg系统;
  2. 使用k8s进行容器化应用部署;
  3. 使用k8s有利于应用扩展;
  4. k8s的目标实施让部署容器化应用更加简洁和高效。

k8s最核心的功能就是容器调度,也就是根据整体资源的使用情况,将应用的实例部署到任何地方。注意任何这两个字,预示着你并不能够通过常规的IP、端口方式访问部署的实例。复杂性由此而生。

我们学k8s,就要看它要调度哪些资源。以传统的感觉来看,无非就是cpu内存网络io等。在了解怎么对这些资源调度之前,先要搞懂什么叫Pod,这可是k8s的核心概念之一。

搞不懂Pod,就没法玩k8s。

二、k8s特性

2.1. 自动装箱

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

说人话就是,不需要我们过多干预就可以根据服务器的CPU、内存等情况自动部署应用。

2.2. 自我修复(自愈能力)

当容器失败时,会对容器进行重启;

当所部署的Node节点有问题时,会对容器进行重新部署和重新调度;

当容器未通过监控检查时,会关闭此容器直到容器正常运行时,才会对外提供服务。

2.3. 水平扩展

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

2.4. 服务发现(负载均衡)

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

基于service这个统一入口对外提供服务、完成服务,实现服务发现和pod内部的负载均衡。

2.5. 滚动更新

可以根据应用的变化,对应用容器运行的应用进行一次性或批量式更新。

等应用更新的时候会先检测之前更新是否成功,成功则进行下一个应用的更新。

2.6. 版本回退

可以根据应用部署情况,对应用容器运行的应用,进行历史版本即时回退。

2.7. 密钥和配置管理

在不需要重新构建镜像的情况下,可以部署和更新密钥和应用配置,类似热部署

2.8. 存储编排

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

2.9. 批处理

提供一次性任务、定时任务;满足批量数据处理和分析的场景。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐