作家
登录

后Kubernetes时代,带你系统梳理K8S 12大关键特性

作者: 来源: 2018-03-16 08:40:27 阅读 我要评论


“Action without orchestration is burn out; orchestration w/o action is management.”

没有编排的行动是垮台的,没有行动的编排是治理,行动加上编排是引导。― Orrin Woodward”

  • Kubernetes是一种优化资本应用率的抽象概念,它许可跨节点集群高效地进行应用法度榜样分发。
  • Kubernetes,梢公 !
  • Kubernetes是一个希腊语悼?船意思是“梢公”。

它是一个由谷歌开端的开源项目,大年夜Borg衍生而来,在谷歌内部应用了好几年,如今用于容器治理。今朝由CNCF托管。

Kubernetes(缩写为K8S)是一种抽象,它经由过程容器来竽暌古化CPU和内存等资本的应用率,大年夜而可以跨多个节点高效地进行应用法度榜样分发。K8S可以在裸金属或任何云基本举措措施供给商的任何处所运行。这个新对象是云无关的,聚焦于在基本举措措施内部安排和调剂容器,而不是直接应用节点/主机。

K8S供给的一些平台特点是:

  • 应用pod进行容器分组
  • 自愈
  • 主动伸缩
  • DNS治理
  • 负载均衡
  • 滚动更新或回滚
  • 资本监控和日记记录

Kubernetes关键特点

Kubernetes 架构

Kubernetes集群由主节点和一组worker/从属节点构成。

Kubernetes的主节点构成部分是:

  1. API办事器(API Server):用户经由过程Rest操作或kubectl cli与manifestyaml交互。它用于所有与API对象相干的操作,如pod创建,它是在etcd中存储所需状况的独一组件。
  2. 调剂器(Scheduler):用户应用kubectl cli向API办事器发出一个敕令来创建pod。在履行此操作之后,调剂法度榜样根据资本需求将pods分派给可用节点。
  3. 控制器治理器(Controller Manager):控制器治理器基于集群状况对资本进行操作,并根据清单yaml进行更改,将当缁ご态应用法度榜样达到所需状况。换句话说,控制器治理器可以将实际状况与所需的状况进行调和。在控制器治理器中有多个专用的┞菲握器,以便简化集群治理。例如,节点控制器检查是否有当前正在运行的节点停机,并采取改┞俘办法,而复制控制器确保在节点中实际运行所需的pod数量。
  4. etcd:所有关于集群状况的设备信息都以key/value对的情势存储在etcd中,这个组件由CoreOS实现。这些状况显示了集群中包含的节点和须要在个中运行的pods。
  5. 插件(Addons):为了将办事器DNS记录添加到Kubernetes,我们须要一个集群DNS 插件。该插件有助于扩大与Kubernetes集群或节点相干的功能。还有很多其他的插件,比如用于日记记录的fluntd、基于角色拜访的rbac等等。

安装在Kubernetes节点中的组件是:

  • Docker: Docker守护过程在每个节点中运行。如不雅容器镜像不存在,那么它将大年夜docker注册中提取并运行。
  • Kubelet: Kubelet节点代劳按期检查容器内容器的健康状况。此外,它还确保按manifest安装卷,并下载运行容器所需的敏感信息。它还将节点链接到API办事器。
  • Kube-proxy: Kube-proxy在每个节点上运行,以便在pod中进行负载分派,并为外部主机供给可用的办事。它应用iptable规矩或轮询调剂来将请求转发到精确的容器。

对于高可用和容错的Kubernetes临盆和安排,须要多个主节点和一个零丁的etcd集群。如不雅运行了三个API办事器,则须要一个收集负载均衡器来精确地将负载分派到办事器。独一剩下的问题是须要三个角色来治理控制器治理器和调剂器以保护集群状况和分派节点。为了更高效、更靠得住地履行它,只有一个介入者应当履行实际的更改,然则在机械宕机的情况下仍然须要其他实例。为懂得决这个问题,我们可以在API中应用lease-lock 来履行主选,而应用它的标记是leader- elect。

Kubernetes经由过程以下任一种方法实现大年夜Pod到Pod的联网:

  • 第2层(切换解决筹划)
  • 第3层(桥接解决筹划)
  • overlay解决筹划(weave andflannel)

它们许可在集群中进行Pod和Pod之间的通信,并为每个Pod供给独一的IP地址。

Pod: Collection of Containers容器集

pod是K8S中的一个安排单位,它有一个零丁的IP地址。在它内部,Pause容器经由过程持有一个收集的名称空间、端口和ip地址来处理收集,而这个地址又被pod中的所有容器应用。

导读:

ReplicationController

有奖调研 | 人脸辨认功能在互联网行业认知度情况

ReplicationController确保在给定的时光内启动和运行所需的容器数量。Pod模板用于定义容器镜像标识符、端口和标签。应用liveness probes,它可以主动治愈pods,并按照期望的状况保持pods数量。也可以经由过程应用kubectl来手动控制副本计数。

Pods本质是短暂的——任何储存在pod或容器中的信息都邑损掉。为了存储数据,一个持久的体系是必须的,即使在一个pod被杀逝世或从新调剂之后,如Amazon Elastic Block Storage (EBS),谷歌GCE PD,或一个分布式文件体系,如收集文件体系(NFS)或Gluster文件体系(GFS)。

监控是成功运行基本举措措施的关键之一,它是靠得住性等级的基本。Heapster是一个大年夜kubelet收集指标的插件,与cAdvisor集成。cAdvisor用于收集与运行容器的CPU、内存、I/O和收集统计数据相干的指标。由Heapster收集的数据存储在influx DB中,并应用Grafana在UI中显示。还有其他可应用的接收器,如Kafka或Elastic Search,可以用于存储数据并显示在用户界面中。


  推荐阅读

  315黑名单之夜,谁能逃过此劫?(信息安全篇)

有奖调研 | 人脸辨认功能在互联网行业认知度情况【编辑推荐】如安在2018年的收集世界里保护本身和家人的信息安然八成收集讹诈来自移动端:指纹、刷脸信息泄漏后不雅更严重医疗行业信息安然最佳实践25个>>>详细阅读


本文标题:后Kubernetes时代,带你系统梳理K8S 12大关键特性

地址:http://www.17bianji.com/lsqh/40740.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)