趁開啟流量主的東風,特此貢獻一篇長文,分析一下目前國內國外幾大著名雲廠商的kubernetes服務,以饗諸君。
文起之前,先聊態度。 我本人是十分看好k8s的發展的,為何? 理因古往今來,能給資本家省錢,能給企業省資源,能把人全棧化,能把業務自動化的玩意,肯定是會受追捧的。君不見docker興起之時,mesos啟勢之際,到k8s一統天下。國內企業,技術人員已經有能力消化和適用k8s這類理念和框架了,其帶來的好處和收益或許不亞於pc時代的linux伺服器,故而有人稱之為雲時代的linux系統,鄙人確也深以為然。他有啥好處?看起來其實十分簡單:
然而,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數
100110
limited by eni
100未宣告
每集群節點數
5000
100500+
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在雲計算界的地位,確實頗值得玩味。
希望本文能幫助到各位正在考慮 k8s服務的老大們。
K8S部署DNS服務
root hdss7 11 yum install y bind root hdss7 11 rpm qa bind bind 9.11.4 16.p2.el7 8.6.x86 64 13 listen on port 53 監聽本機ip 14 listen on v6 port 53 刪除,不監聽...
K8S 服務編排YAML
yaml 是一種簡潔的非標記語言。語法格式 在k8s部署乙個應用的yaml內容大致分為兩部分 控制器定義 定義控制器屬性 被控制物件 pod模板,定義容器屬性 具體字段意義 apiversion api版本 kind 資源型別 metadata 資源元資料 spec 資源規格 replicas 副本...
k8s 離線安裝 阿里開源 k8s 事件通知服務
在 kubernetes 開源生態中,資源監控有metrics server prometheus等,但這些監控並不能實時推送 kubernetes 事件,監控準確性也不足。當 kubernetes 集群中發生 pod因為 oom 拉取不到映象 健康檢查不通過等錯誤導致重啟,集群管理員其實是不知道的...