Kubernetes為什么會逐漸成為云計算的標準?
談及容器技術,毫不夸張地說,2017年是“Kubernetes的元年”。Kubernetes自2014年推出以來,一直保持穩(wěn)步增長。
這要歸功于云原生應用的興起。準確來說,云原生更像是一種文化,更是一種潮流,它是云計算的一個必然導向。它的意義在于讓云成為云化戰(zhàn)略成功的基石,而不是阻礙,如果業(yè)務應用上云之后開發(fā)和運維人員比原先還痛苦,成本高企的話,這樣的云我們寧愿不不上。
其實在 Kubernetes 出現(xiàn)之前,就已經(jīng)有人提出了云原生的概念,如 2010 年 Paul Fremantle 就在他的博客中提出了云原生的核心理念,但是還沒有切實的技術解決方案。而那時候 PaaS 才剛剛出現(xiàn),PaaS 平臺提供商 Heroku 提出了 12 因素(基準代碼、依賴、配置、后端服務、發(fā)布、進程、端口綁定、并發(fā)、易處理、開發(fā)環(huán)境與線上環(huán)境等價、日志、管理進程)應用的理念,為構建 SaaS 應用提供了方法論,該理念在云原生時代依然適用。
Kubernetes 是一個相對較新的運行容器化負載的平臺,它解決了這些問題。它原本是 Google 內部的一個項目,Kubernetes 在 2015 年被捐贈給了云原生計算基金會,并吸引了來自世界各地開源社區(qū)的開發(fā)人員。 Kubernetes 的設計基于 Google 15 年的在生產(chǎn)和開發(fā)環(huán)境運維的經(jīng)驗。由于它是開源的,任何人都可以下載并使用它,并實現(xiàn)其帶來的優(yōu)勢。
云原生應用理念要求將環(huán)境配置存在應用運行的環(huán)境中,在K8s集群中,所有的環(huán)境配置都存在分布式共享存儲Etcd中。Kubernetes還有一些操作對象是用來專門存儲環(huán)境配置的。例如ConfigMap是存儲通用的配置變量的。ConfigMap有點兒像一個統(tǒng)一的配置文件,使用戶可以將分布式系統(tǒng)中用于不同模塊的環(huán)境變量統(tǒng)一到一個對象中管理;而它與配置文件的區(qū)別在于它是存在集群的“環(huán)境”中的,并且支持Kubernetes集群中所有通用的操作調用方式。
再比如Secret是專門用來存儲密鑰對象的,它使得在Kubernetes集群中用到密碼等私密信息時不必用明文環(huán)境變量來表示,從而加強密鑰傳遞和保存的安全性。
更重要的是,云原生應用理念要求盡量保證開發(fā)、測試和生產(chǎn)環(huán)境的配置一致,但是同時這幾個不同的環(huán)境又應該是彼此隔離。在Kubernetes集群中,不同的環(huán)境可以通過namespace進行隔離,保證彼此不互相干擾。
可以說,Kubernetes在像 OpenStack 這樣的基礎架構即服務(IaaS)和完整的平臺即服務 (PaaS)的資源之間達到了最佳平衡,它的底層運行時實現(xiàn)完全由供應商控制。Kubernetes 提供了兩個優(yōu)勢:對管理基礎設施的抽象,以及深入裸機進行故障排除的工具和功能。
- 相關閱讀
- 熱門技術
- 電力通信
- 智能電網(wǎng)
- 云計算
- 大數(shù)據(jù)
-
云計算成朝陽產(chǎn)業(yè),未來發(fā)展已成趨勢
-
2018關于云計算的五個預測:容器、AI、定制云
2018-01-18容器 -
你的云計算方法正確嗎?
2018-01-18方法
-
Kubernetes為什么會逐漸成為云計算的標準?
2018-01-18標準 -
云計算成朝陽產(chǎn)業(yè),未來發(fā)展已成趨勢
-
2018關于云計算的五個預測:容器、AI、定制云
2018-01-18容器