kubernetes专题:k8s概述与特性
k8s是谷歌在2014年开源的容器化集群管理系统,它的前身是Borg系统;使用k8s进行容器化应用部署;使用k8s有利于应用扩展;k8s的目标实施让部署容器化应用更加简洁和高效。k8s最核心的功能就是容器调度,也就是根据整体资源的使用情况,将应用的实例部署到任何地方。注意任何这两个字,预示着你并不能够通过常规的IP、端口方式访问部署的实例。复杂性由此而生。我们学k8s,就要看它要调度哪些资源。以传
目录
一、概述
- k8s是谷歌在2014年开源的容器化集群管理系统,它的前身是Borg系统;
- 使用k8s进行容器化应用部署;
- 使用k8s有利于应用扩展;
- 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. 批处理
提供一次性任务、定时任务;满足批量数据处理和分析的场景。
更多推荐
所有评论(0)