大家好,


趁打开流量主的东风,特此贡献一篇长文,分析一下目前国内国外几大著名云厂商的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 GKEMicrosoft AKSAmazon EKSAli ACKTencent TKE
服务时间20142017201820172018
K8S版本1.131.131.121.111.10.5
地域支持全球几乎全部几乎全部几乎全部几乎全部
国内支持
托管控制面板
控制面板SLA无SLA 内部支持99.5&99.95%regional无SLA 内部支持99.5%有 99.9%有 99.95%
集群创建时间3分钟7分钟20分钟8分钟3分钟
权限控制偏弱
多节点池
工作节点HA
gpu 支持
每节点pod数100110limited by ENI 100未声明
每集群节点数5000100500+40未声明
worker创建时间<3mim<10min<5min<10min<3min
裸金属支持
自动扩展功能有(cluster scaler)有(手动启用)有(ESS)有(cluster scaler)
k8s升级自动或者手动手动(自动在roadmap)手动手动手动
控制面板收费不收费不收费20 cents每小时每个master节点不收费不收费
控制面板日志集成没有
认证情况PCI DSS, ISO, SOC, HIPAAPCI DSS, ISO, SOC, HIPAAHIPAA, PCI没有没有
全局负载均衡没有(roadmap)没有没有没有
全局网络互联有 vpc互联有 vpc互联有 vpc互联有 vpc互联
网络策略支撑Calico CalicoCalicoTerway未声明,无
container as a service 集成cloud runVirtual Kubelet with ACIVirtual Kubelet with Fargate
使用界面很好复杂
AD集成federationnative adfederation
文档情况很好很好很好简陋
开源支持开源支持良好开源支持良好未参与开源支持一般支持一般
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服务的老大们。


 
 

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com 
640?wx_fmt=jpeg

Logo

开源、云原生的融合云平台

更多推荐