大家好,

趁打开流量主的东风,特此贡献一篇长文,分析一下目前国内国外几大著名云厂商的kubernetes服务,以飨诸君。

文起之前,先聊态度。 我本人是十分看好k8s的发展的,为何? 理因古往今来,能给资本家省钱,能给企业省资源,能把人全栈化,能把业务自动化的玩意,肯定是会受追捧的。君不见docker兴起之时,mesos启势之际,到k8s一统天下。国内企业,技术人员已经有能力消化和适用K8S这类理念和框架了,其带来的好处和收益或许不亚于pc时代的linux服务器,故而有人称之为云时代的linux系统,鄙人确也深以为然。他有啥好处?看起来其实十分简单:

  • scaling: k8s直接按需扩展pods

  • recovery:k8s帮你监管pods,出问题了自动修复

  • monitoring:k8s包含了很多监控能力 

  • free: k8s是免费的

  • easy&fast:部署应用贼快贼方便,ci/cd集成容易

然而,K8S是银弹(silver bullet)吗? 显然不是。

我一直强调其是一种理念,开发架构部署时的理念,原则上,你需要具备应用现代化,云原生化,DDD的能力,才能更好结合K8s帮助企业应用数字化转型。通过将业务模型和软件架构改造,配合k8s来做,这才是正确的使用方式。

你问我一个简单的CMS或者企业内部应用sap的,Oracle,需要K8S么? 我只能说可能不适合。语言,框架,开源软件,都是工具, 择适之而行,方是正道。

言归正传,先抛出一个鄙人客观修改过的横向比对图给各位看一下总览,主要从国外的几大K8S比较表里截取并结合国内情况略加修改。

Google GKE

Microsoft AKS

Amazon EKS

Ali ACK

Tencent TKE

服务时间

2014

2017

2018

2017

2018

K8S版本

1.13

1.13

1.12

1.11

1.10.5

地域支持

全球

几乎全部

几乎全部

几乎全部

几乎全部

国内支持

托管控制面板

控制面板SLA

无SLA 内部支持99.5&99.95%regional

无SLA 内部支持99.5%

有 99.9%

有 99.95%

集群创建时间‍

3分钟

7分钟

20分钟

8分钟

3分钟

权限控制

偏弱

多节点池

工作节点HA

gpu 支持

每节点pod数

100

110

limited by ENI 

100

未声明

每集群节点数

5000

100

500+

40

未声明

worker创建时间

<3mim

<10min

<5min

<10min

<3min

裸金属支持

自动扩展功能

有(cluster scaler)

有(手动启用)

有(ESS)

有(cluster scaler)

k8s升级

自动或者手动

手动(自动在roadmap)

手动

手动

手动

控制面板收费

不收费

不收费

20 cents每小时每个master节点

不收费

不收费

控制面板日志集成

没有

认证情况

PCI DSS, ISO, SOC, HIPAA

PCI DSS, ISO, SOC, HIPAA

HIPAA, PCI

没有

没有

全局负载均衡

没有(roadmap)

没有

没有

没有

全局网络互联

有 vpc互联

有 vpc互联

有 vpc互联

有 vpc互联

网络策略支撑

Calico 

Calico

Calico

Terway

未声明,无

container as a service 集成

cloud run

Virtual Kubelet with ACI

Virtual Kubelet with Fargate

使用界面

很好

复杂

AD集成

federation

native ad

federation

文档情况

很好

很好

很好

简陋

开源支持

开源支持良好

开源支持良好

未参与开源

支持一般

支持一般

devops体系

google全套devops体系,优秀

MS全套devops体系,优秀

AWS全套devops体系,良好

ali devops体系,一般,缺少部分组件

Tencent devops体系,一般,缺少部分组件

Windows容器支持

支持

支持

支持

不支持

不支持

看完以后大家应该已经有了一个简单的认知,我再从几个方面跟大家聊聊。

技术层面来看,首先,毫无疑问,K8S的王者还是谷歌。毕竟是始作俑者和生态先锋,其技术始发优势和体系建设还是很好的。但是从某些方面来看,azure也从一些地方进行了弯道超车。比如aci的集成和serverless这一侧。而Azure本身,也结合了其自带的企业属性,在ad, rbac,备份等方面完善了开源软件在企业环境中使用痛点,并反馈给了社区。相信随着K8s创始人的加入,中长期AKS是有能力追赶上GKE的。

而AWS的EKS,则可能是其对于自身ECS未能战胜k8s的一种妥协,所以看起来aws的EKS并没有太放心思,至少没到all-in的程度,AWS作为云玩家里唯一对control plane收费的厂商,其本身并未对K8S的一些feature做到极致,而其本身也一直贯彻对开源界取之卖之的态度,没有给K8S社区做任何贡献,以AWS在云计算界的地位,确实颇值得玩味。

国内玩家里,阿里在一些方面赶上了国际厂商的脚步,对于先进技术的投入和跟进步伐是值得称赞的,然而在很多企业级feature和生态体系,易用性,文档方面还需努力跟上,比如这个Terway,大家都在用calico做network policy,你硬生生憋出个不一样的,又犯了当年maxcompute之错。还有阿里云的容器兼容性有待提高,我身边的一些使用.NET Core的同学反馈,微软为.NET Core的打包镜像多为Debain/Ubuntu,出现各种奇怪问题,还说是你的代码问题,要求使用Centos镜像,这个问题在腾讯云不存在。

腾讯云作为后起之秀,其启动时间,性能等能力是值得肯定的,但同样在feature跟进,版本,生态,甚至易用性文档方面欠缺良多。特别是文档,和gke aks暂且不比,比之阿里也是苍白许多,让人体会不到产品的优势和使用方法,亟待丰富。

从国内情况来看,国内目前真正能用得上的K8S主要还是集中在 微软Azure AKS, 阿里容器服务和腾讯容器服务。从IT选型来看,成熟易用,生态完整,可能还是要考虑Azure AKS,当然,从孤云不长的角度,分应用的tier,利用多家云的优势,也是可行之策。

希望本文能帮助到各位正在考虑 k8s服务的老大们。

 

Logo

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

更多推荐