雲計算之Kubernetes核心概念,Kubernetes,簡稱K8s,是一個開源的,用于管理雲平台中多個主機上的容器化的應用。随着雲計算應用的增多,越來越多的企業要求雲計算人才要掌握Kubernetes,接下來就給大家分享kubernetes核心概念及發展趨勢。
Kubernetes核心概念:
叢集
叢集是一組節點,這些節點可以是實體伺服器或者虛拟機,之上安裝了Kubernetes平台。
Pod
Pod安排在節點上,包含一組容器和卷。同一個Pod裡的容器共享同一個網絡命名空間,可以使用localhost互相通信。Pod是短暫的,不是持續性實體。
Lable
一個Label是attach到Pod的一對鍵/值對,用來傳遞使用者定義的屬性。比如,你可能建立了一個"tier"和“app”标簽,通過Label(tier=frontend, app=myapp)來标記前端Pod容器,使用Label(tier=backend, app=myapp)标記背景Pod。然後可以使用Selectors選擇帶有特定Label的Pod,并且将Service或者Replication Controller應用到上面。
Service
Service是定義一系列Pod以及通路這些Pod的政策的一層抽象。Service通過Label找到Pod組。有一個特别類型的Kubernetes Service,稱為'LoadBalancer',作為外部負載均衡器使用,在一定數量的Pod之間均衡流量。比如,對于負載均衡Web流量很有用。
Node
節點是實體或者虛拟機器,作為Kubernetes worker,通常稱為Minion。每個節點都運作Kubernetes關鍵元件:Kubelet:是主節點代理;Kube-proxy:Service使用其将連結路由到Pod;Docker或Rocket:Kubernetes使用的容器技術來建立容器。
Kubernetes Master
Kubernetes Master提供叢集的獨特視角,并且擁有一系列元件,比如Kubernetes API Server。API Server提供可以用來和叢集互動的REST端點。master節點包括用來建立和複制Pod的Replication Controller。
保護
Kubernetes原生可能出現的趨勢:
1、預計“Kubernetes原生”軟體将呈上升趨勢
這種趨勢已經在增長,這在Kubernetes周圍新興的生态系統中顯而易見。正如Red Hat公司副總裁兼首席技術官Chris Wright指出的那樣:“就像Linux在2000年成為開源開發的焦點一樣,Kubernetes也正在成為建構技術和解決方案的焦點(當然,Linux是Kubernetes的基礎)。”
2、Federation到來
盡管Kubernetes的許多功能都已經成熟,但是Federation經曆了兩個不同的發展周期。雖然Kubernetes Federation v1從未實作GA,但v2(KubeFed)目前仍在Alpha中。到2020年,Kubernetes Federation功能很可能會達到Beta和GA。
3、安全将繼續成為備受關注的焦點
随着Kubernetes的采用和基于容器的應用程式在生産中的部署速度加快,其數量比我們目前看到的要多得多,可以預期會發生更多的安全事件。這些問題中的大多數都是由于關于什麼是安全配置的知識空白,以及缺乏适當的安全工具造成的。
4、Kubernetes的招聘激增
Kubernetes将推動組織尋求具有高度自動化功能的解決方案,這些解決方案具有開箱即用的‘零配置’功能,這些功能可立即提供價值,并且不需要大量的內建工作或管理開銷。
5、Kubernetes縮小其資源消耗
随着物聯網和邊緣計算在2020年繼續受到青睐,将越來越關注将Kubernetes托管在具有非常低資源(CPU、記憶體和占用空間)的裝置和環境上,在這些裝置上運作應用程式的資源消耗也同樣非常低。