加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

Kubernetes 怎样打赢容器之战?

发布时间:2019-11-05 16:04:53 所属栏目:移动互联 来源:阿里云云栖社区
导读:配景 PaaS PaaS 技能,一句话归纳综合就是:它提供了应用托管的手段。 早期的主流做法根基上是租 AWS 可能 OpenStack 的假造机,然后把这些假造机看成物理机一样,用剧本可妙手工的方法在上面陈设应用。这个进程中怎样担保当地情形和云端情形的同等性是一个很
副问题[/!--empirenews.page--]

Kubernetes 怎样打赢容器之战?

配景

PaaS

PaaS 技能,一句话归纳综合就是:它提供了“应用托管”的手段。

早期的主流做法根基上是租 AWS 可能 OpenStack 的假造机,然后把这些假造机看成物理机一样,用剧本可妙手工的方法在上面陈设应用。这个进程中怎样担保当地情形和云端情形的同等性是一个很大的课题,而提供云计较处事的公司的焦点竞争力就是比拼谁做的更好。从某种意义上来说 PaaS 的呈现,算是一个较量好的办理方案。

以 Cloud Foundry 为例,在假造机上陈设上 Cloud Foundry 项目后,用户可以很利便地把本身的应用上云。以天主视角来看这个进程:Cloud Foundry 最焦点的是提供了一套应用的打包和分发机制,它为差异的编程说话界说了差异的打包名目,它能把可执行文件、启动参数等等一路打包成压缩包然后上传至 Cloud Foundry 存储中心,最后由调治器选择假造机,由假造机上的 Agent 下载并启动应用。

漫衍式体系

跟着软件的局限越来越大,营业模式越来越伟大,用户量的上升、地域的漫衍、体系机能的苛刻要求都促成处事架构从最初的单体酿成 SOA 再到现在的微处事,将来还也许演变为 Service Mesh ,Serverless 等等。

Kubernetes 怎样打赢容器之战?

现在,一个完备的后端体系不再是单体应用架构了,多年前的 DDD 观念从头回到各人的视线中。此刻的体系被差异的职责和成果拆成多个处事,处事之间伟大的相关以及单机的单点机能瓶颈让陈设和运维变得很伟大,以是陈设和运维大型漫衍式体系的需求迫切待办理。

容器技能

前面提到诸如 Cloud Foundry 的 PaaS,用户必需为差异说话、差异框架区分差异的打包方法,这个打包进程长短常具有劫难性的。而实际每每更糟糕,当在当地跑的好好的应用,因为和远端情形的纷歧致,在打包后却必要在云端各类调试,最终才气让应用“安稳”运行。

而 Docker 的呈现改变了统统,它依附镜像办理了这个题目。Docker 一不做二不休,爽性把完备的操纵体系目次也打包进去,云云高的集成度,担保了云端和当地情形的高度同等,而且随时随地等闲地移植。

谁也不知道就由于“镜像”这个简朴的成果,Docker 完成了对 PaaS 的降维冲击,占据了市场。此时,一些智慧的技能公司纷纷跟进 Docker,推出了自家的容器集群打点项目,而且称之为 CaaS。

容器技能操作 Namespace 实现断绝,操作 Cgroups 实现限定;在 Docker 实现上,通过镜像,为容器提供完备的体系执行情形,而且通过 UnionFS 实现 Layer 的计划。

Docker 容器是完全行使沙箱机制,彼此之间不会有任何接口。通过 Docker,实现历程、收集、挂载点和文件断绝,更好地操作宿主机资源。Docker 强盛到不必要体谅宿主机的依靠,全部的统统都可以在镜像构建时完成,这也是 Docker 今朝成为容器技能尺度的缘故起因。以是我们能看到在 Kubernetes 中默认行使 Docker 作为容器(也支持 rkt)。

Kubernetes

铺垫了这么多,终于说到本文的主角了。说 Kubernetes 之前,不得不提 Compose、Swarm、Machine 三剑客,着实在 Kubernetes 还未一统江湖之前,它们已经能实现大部门容器编排的手段了。可是在真正的大型体系上,它们却远远不如 Mesosphere 公司出品的大型集群打点体系,更别说之后的 Kubernetes 了。

在容器化和微处事期间,处事越来越多,容器个数也越来越多。Docker 如它 Logo 所示一样,一只只鲸鱼在大海里自由地游荡,而 Kubernetes 就像一个掌舵的船长,带着它们,有序的打点它们,这个进程着实就是容器编排。

Kubernetes 发源于 Google,许多计划都是源自于 Borg,是一个开源的,用于打点云平台中多个主机上的容器化的应用,Kubernetes 的方针是让陈设容器化的应用简朴而且高效,而且提供了应用陈设,筹划,更新,维护的一种机制。

小结

至此,读者相识了 Kubernetes 的宿世此生,由 PaaS 的火热,引爆了容器技能的战役,而赢得这场战役中最要害的等于拥有强盛的容器编排的手段,而 Kubernetes 无疑是这场战役的胜利者。

计划理念

这一部门,我们会环绕 Kubernetes 的四个计划理念看看这些做法能给我们带来什么。

声明式 VS 呼吁式

声明式和呼吁式是截然差异的两种编程方法,在呼吁式 API 中,我们可以直接发出处事器要执行的呼吁,譬喻: “运行容器”、“遏制容器”等;在声明式 API 中,我们声明体系要执行的操纵,体系将不绝向该状态驱动。

Kubernetes 怎样打赢容器之战?

我们常用的 SQL 就是一种声明式说话,汇报数据库想要的功效集,数据库会帮我们计划获取这个功效集的执行路径,并返回功效集。众所周知,行使 SQL 说话获取数据,要比自行编写处理赏罚进程去获取数据轻易的多。

  1. apiVersion: extensions/v1beta1 
  2. kind: Deployment 
  3. metadata: 
  4.  name: etcd-operator 
  5. spec: 
  6.  replicas: 1 
  7.  template: 
  8.  metadata: 
  9.  labels: 
  10.  name: etcd-operator 
  11.  spec: 
  12.  containers: 
  13.  - name: etcd-operator 
  14.  image: quay.io/coreos/etcd-operator:v0.2.1 
  15.  env: 
  16.  - name: MY_POD_NAMESPACE 
  17.  valueFrom: 
  18.  fieldRef: 
  19.  fieldPath: metadata.namespace 
  20.  - name: MY_POD_NAME 
  21.  valueFrom: 
  22.  fieldRef: 
  23.  fieldPath: metadata.name 

我们来看看沟通计划的 YAML,操作它,我们可以汇报 Kubernetes 最终想要的是什么,然后 Kubernetes 会完成方针。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读