Kubernetes(K8S)介绍

K8S是谷歌在2014年开源的容器化集群管理系统,使用K8S的目标是让部署容器化应用更加简洁和高效。

Kubernetes(简称K8S)是2014年10月由Google开源的生产级容器编排系统(容器管理系统),是Google多年大规模容器管理技术Borg的开源版本

功能

1.自动装箱
基于容器对应用运行环境的资源配置要求自动部署应用容器
2.自我修复(自愈能力)
当容器失败时,会对容器进行重启
当所有部署的Node节点有问题时,会对容器进行重新部署和重新调度
当容器未通过监控检查时,会关闭此容器直到容器正常运行时,才会对外提供服务
3.水平扩展
通过简单的命令、用户UI界面或基于CPU资源使用情况,对应用容器进行规模扩大或规模裁剪(高峰期增加副本数,高峰期过了减少副本数)
4.服务发现
用户不需要使用额外的服务发现机制,就能基于Kubernetes自身能力实现服务发现和负载均衡(节点不直接对外提供服务,对外有个统一的入口叫ApiServer,平均分担请求-负载均衡)
5.滚动更新
可以根据应用的变化,对应用容器运行的应用进行一次性或批量更新
(加应用时,k8s先检测应用有没有问题,没有问题的时候才对外提供服务)
6.版本回退
可以根据应用部署情况,对应用容器运行的应用,进行历史版本及时回退
7.密钥和配置管理
在不需要重新构建镜像的情况下,可以部署和更新密钥和应用配置,类似热部署(不需要重启集群,自动加配置直接运行)
8存储编排
自动实现存储系统挂载及应用,特别对有状态应用实现数据持久化非常重要。存储系统可以来自本地目录、网络存储(NFS、Cluster、Ceph等)、公共存储服务(支持访问外部的挂载应用)
9批处理
提供一次性任务,定时任务,满足批量数据处理和分析的场景
(每天某个时段进行操作)
【这些单纯用docker做不到,使用K8S更加方便、简洁、高效】

  • 基于容器的应用部署、维护和滚动升级
  • 负载均衡和服务发现
  • 跨机器和跨地区的集群调度
  • 自动伸缩
  • 无状态服务和有状态服务
  • 广泛的Volume支持
  • 插件机制保证扩展性


Kurbernets的本质是一组服务器集群,它可以在集群的每个节点上运行特定的程序,来对节点中的容器进行管理。它的目的就是实现资源管理的自动化,主要提供了如下的主要功能:

  • 自我修复:一旦某一个容器崩溃,能够在1秒钟左右迅速启动新的容器
  • 弹性伸缩:可以根据需要,自动对集群中正在运行的容器数量进行调整
  • 服务发现:服务可以通过自动发现的形式找到它所依赖的服务
  • 负载均衡: 如果一个服务启动了多个容器,能够自动实现请求的负载均衡
  • 版本回退:如果发现新发布的程序版本有问题,可以立即回退到原来的版本
  • 容器编排:可以根据容器自身的需求自动创建存储卷

产生背景

微服务和容器的流行。微服务是把原来一体化的应用转换为一个个相互独立(高内聚低耦合)的小应用,这些小应用就叫微服务。一个应用如果有成千上万的微服务,那么微服务的部署会很麻烦。一台机器可能部署多个微服务。对微服务进行隔离和资源控制(微服务的支持调度计划)就需要用到容器。

容器

容器是一系列隔离运行的进程,提供了一种轻量操作系统层面的虚拟化技术。

  • 每个容器都有自己的PID(进程号),User,UTS,Network栈命名空间等
  • 与传统虚拟机比具有启动快,性能损耗小,更轻量化的特点

K8S默认使用Docker引擎

  • Docker最创新的地方:引入了镜像分层的机制,可以让镜像比较小,使隔离技术在操作系统层面也可以用,docker提供命令行的方式对容器进行增删改查,提供了镜像机制把环境打包到镜像中,使得使用容器技术变得非常简单
  • 也可使用Rkt(coreos),或其他遵循CRI(container runtime interface)标准的容器引擎,如Containerd等

容器化系统面临的挑战

容器虽然解决了应用打包、部署、运行的问题(一次构建、随处运行Build,Ship and Run Any App,Anywhere),但是也面临了跨机器的部署、资源调度、负载均衡、自动伸缩、容错处理、服务发现的挑战。

容器编排(Container Orchestration)

  • 以容器为基本对象进行管理
  • 协同容器共同实现应用功能
    容器编排的主要功能:1容器调度(Placement容器放到哪个机器上,health checking..)【docker-compose需要起哪几个容器、容器之间有什么依赖、先启动哪个后启动哪个,只是在本机伸缩不能跨机器调度】2资源管理(CPU、GPU、Memory...)3服务管理(Service Discovery服务发现、Load Balance...)

容器编排系统
Mesos:Apache的一个资源统一管控的工具,需要和Marathon结合使用(Spark最初依赖的资源集群管理系统,并不特定于容器,在应用的层面来看几百台机器是一台大的机器由Mesos分配)
Docker Swarm:Docker自己的容器编排工具
Kubernetes:谷歌开源的容器编排工具

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,198评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,663评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,985评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,673评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,994评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,399评论 1 211
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,717评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,407评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,112评论 1 239
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,371评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,891评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,255评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,881评论 3 233
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,010评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,764评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,412评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,299评论 2 260

推荐阅读更多精彩内容