Kubernetes虛擬化與云計(jì)算

Kubernetes虛擬化 (在希臘語意為“舵手”或“駕駛員”)由Joe Beda、Brendan Burns和Craig McLuckie創(chuàng)立,并由其他谷歌工程師,包括Brian Grant和Tim Hockin等進(jìn)行加盟創(chuàng)作,并由谷歌在2014年首次對(duì)外宣布 。該系統(tǒng)的開發(fā)和設(shè)計(jì)都深受谷歌的Borg系統(tǒng)[的影響,其許多頂級(jí)貢獻(xiàn)者之前也是Borg系統(tǒng)的開發(fā)者。在谷歌內(nèi)部,Kubernetes的原始代號(hào)曾經(jīng)是Seven,即星際迷航中的Borg(博格人)。Kubernetes標(biāo)識(shí)中舵輪有七個(gè)輪輻就是對(duì)該項(xiàng)目代號(hào)的致意。
Kubernetes v1.0于2015年7月21日發(fā)布。隨著v1.0版本發(fā)布,谷歌與Linux 基金會(huì)合作組建了Cloud Native Computing Foundation(CNCF)并將Kubernetes作為種子技術(shù)來提供。
Rancher Labs在其Rancher容器管理平臺(tái)中包含了Kubernetes的發(fā)布版。[Kubernetes也在很多其他公司的產(chǎn)品中被使用,例如Red Hat的OpenShift,CoreOS的Tectonic, IBM的IBM私有云產(chǎn)品,精靈云的EcOS,以及 VMware的PKS等等。
而現(xiàn)今信息界常見的縮寫手法“K8s”則是將“ubernete”八個(gè)字母縮寫為“8”而來。

-摘錄?

一.系統(tǒng)虛擬化云計(jì)算概述

VMware Cloud是全球使用率最高的云計(jì)算操作系統(tǒng),Kubernetes 是一個(gè)可移植的、可擴(kuò)展的開源平臺(tái),用于管理容器化的工作負(fù)載和服務(wù),可促進(jìn)聲明式配置和自動(dòng)化。 Kubernetes 擁有一個(gè)龐大且快速增長(zhǎng)的生態(tài)系統(tǒng)。Kubernetes 的服務(wù)、支持和工具廣泛可用。VMware Kubernetes為基于容器的工作負(fù)載提供了出色的自動(dòng)化應(yīng)用程序部署平臺(tái)。但是應(yīng)用程序服務(wù)(例如流量管理,群集內(nèi)以及跨群集/區(qū)域之間的負(fù)載均衡)、服務(wù)發(fā)現(xiàn)、監(jiān)視/分析和應(yīng)用程序安全性,對(duì)于現(xiàn)代應(yīng)用程序基礎(chǔ)結(jié)構(gòu)至關(guān)重要。企業(yè)要求可擴(kuò)展的、經(jīng)過現(xiàn)實(shí)世界測(cè)試且強(qiáng)大穩(wěn)定的服務(wù)架構(gòu),以便在 Kubernetes集群中部署可用于生產(chǎn)環(huán)境的微服務(wù)應(yīng)用程序。簡(jiǎn)化的云計(jì)算基礎(chǔ)架構(gòu),使 IT 組織能夠利用內(nèi)部和外部資源,安全和低風(fēng)險(xiǎn)地提供新一代靈活可靠的 IT 服務(wù)。VMware Cloud通過提供新的公有云和私有云功能延展VMware的混合云戰(zhàn)略,能夠在通用運(yùn)維環(huán)境下,實(shí)現(xiàn)跨云環(huán)境和設(shè)備運(yùn)行、管理、連接和保護(hù)應(yīng)用。

Kubernetes虛擬化

 

二. 虛擬化部署架構(gòu)組成

Kubernetes虛擬化 是從 Google 為搭配「Borg」平臺(tái)而使用的程式碼所演變而來,原本是供大規(guī)模管理 Google 旗下資料中心之用。AWS 在推出 EC2 平臺(tái)之際,讓彈性網(wǎng)路伺服器架構(gòu)一并亮相。Kubernetes 讓公司得以使用開放式原始碼,協(xié)調(diào) EC2 等容器。Google、AWS、Azure 與其他主要公有云主機(jī),都提供適用于云端網(wǎng)路伺服器協(xié)調(diào)作業(yè)的 Kubernetes 支援。客戶可以使用 Kubernetes 來外包整個(gè)資料中心、網(wǎng)路/行動(dòng)應(yīng)用程式、軟體即服務(wù)支援、云端網(wǎng)路代管或高效能運(yùn)算。Kubernetes (??s寫為「K8s」) 隸屬于 Cloud Native Computing Foundation,旨在支援云端資料中心管理軟體的共用網(wǎng)路標(biāo)準(zhǔn)開發(fā)作業(yè)。Docker 為 Kubernetes 最常使用的容器虛擬化標(biāo)準(zhǔn),可為程式設(shè)計(jì)團(tuán)隊(duì)提供多項(xiàng)整合式軟體生命周期開發(fā)工具。RancherOS、CoreOS 與 Alpine Linux,都是專為容器使用所設(shè)計(jì)的熱門作業(yè)系統(tǒng)。容器虛擬化不同于使用虛擬化管理程序的虛擬機(jī)或 VPS 工具,所需的生產(chǎn)環(huán)境作業(yè)系統(tǒng)規(guī)模通常較小。

三. Kubernetes容器的優(yōu)勢(shì)

Kubernetes 的主要優(yōu)勢(shì),在于可在生產(chǎn)環(huán)境中操作自動(dòng)化、彈性的網(wǎng)路伺服器平臺(tái),且不須受限于 AWS 的 EC2 服務(wù)。Kubernetes 能執(zhí)行絕大多數(shù)的公有云代管服務(wù),而且所有主流公司都為其提供具競(jìng)爭(zhēng)力的價(jià)格。Kubernetes 可讓企業(yè)將資料中心完全委外經(jīng)營(yíng)。此外,Kubernetes 也能用來將生產(chǎn)環(huán)境的網(wǎng)路與行動(dòng)應(yīng)用程式,擴(kuò)充至最大等級(jí)的網(wǎng)路流量。Kubernetes 可讓所有公司以具競(jìng)爭(zhēng)力的資料中心價(jià)格取得硬體資源,以操作自有軟體程式碼,同時(shí)享有媲美大型公司的延展性。

  • 可移動(dòng): 公有云、私有云、混合云、多態(tài)云
  • 可擴(kuò)展: 模塊化、插件化、可掛載、可組合
  • 自修復(fù): 自動(dòng)部署、自動(dòng)重啟、自動(dòng)復(fù)制、自動(dòng)伸縮
  • Kubernetes 是開源系統(tǒng),可以自由地部署在企業(yè)內(nèi)部,私有云、混合云或公有云,讓您輕松地做出合適的選擇。
  • 快速部署應(yīng)用
  • 快速擴(kuò)展應(yīng)用
  • 無縫對(duì)接新的應(yīng)用功能
  • 節(jié)省資源,優(yōu)化硬件資源的使用

 

 

Kubernetes虛擬化

四. Kubernetes與容器

Kubernetes 為開放式原始碼容器協(xié)調(diào)作業(yè)平臺(tái)。Docker 為搭配 Kubernetes 使用的主要容器虛擬化標(biāo)準(zhǔn)。其他的彈性網(wǎng)路伺服器協(xié)調(diào)作業(yè)系統(tǒng),則包括 Docker Swarm、CoreOS Tectonic 與 Mesosphere。Intel 也與 Kata 聯(lián)手推出一款與容器標(biāo)準(zhǔn)來與 Kubernetes 較勁,市面上還有許多 Linux 版本的容器。在軟體產(chǎn)品的容器虛擬化領(lǐng)域中,Docker 享有最高市占率。Docker 為專精于容器虛擬化的軟體開發(fā)公司,相較之下,Kubernetes 則屬受編碼人員社群支援的開放式原始碼專案,社群成員包括各大主要 IT 公司的專業(yè)程式設(shè)計(jì)人員。

Kubernetes虛擬化 - 特性

 

自動(dòng)化上線和回滾

  • Kubernetes 會(huì)分步驟地將針對(duì)應(yīng)用或其配置的更改上線,同時(shí)監(jiān)視應(yīng)用程序運(yùn)行狀況以確保你不會(huì)同時(shí)終止所有實(shí)例。如果出現(xiàn)問題,Kubernetes 會(huì)為你回滾所作更改。你應(yīng)該充分利用不斷成長(zhǎng)的部署方案生態(tài)系統(tǒng)。

服務(wù)發(fā)現(xiàn)與負(fù)載均衡

  • 無需修改你的應(yīng)用程序即可使用陌生的服務(wù)發(fā)現(xiàn)機(jī)制。Kubernetes 為容器提供了自己的 IP 地址和一個(gè) DNS 名稱,并且可以在它們之間實(shí)現(xiàn)負(fù)載均衡。

服務(wù)拓?fù)洌⊿ervice Topology)

  • 基于集群拓?fù)涞姆?wù)流量路由。

存儲(chǔ)編排

  • 自動(dòng)掛載所選存儲(chǔ)系統(tǒng),包括本地存儲(chǔ)、諸如 GCP 或 AWS 之類公有云提供商所提供的存儲(chǔ)或者諸如 NFS、iSCSI、Gluster、Ceph、Cinder 或 Flocker 這類網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)。

Secret 和配置管理

  • 部署和更新 Secrets 和應(yīng)用程序的配置而不必重新構(gòu)建容器鏡像,且 不必將軟件堆棧配置中的秘密信息暴露出來。

自動(dòng)裝箱

  • 根據(jù)資源需求和其他約束自動(dòng)放置容器,同時(shí)避免影響可用性。將關(guān)鍵性工作負(fù)載和盡力而為性質(zhì)的服務(wù)工作負(fù)載進(jìn)行混合放置,以提高資源利用率并節(jié)省更多資源。

批量執(zhí)行

  • 除了服務(wù)之外,Kubernetes 還可以管理你的批處理和 CI 工作負(fù)載,在期望時(shí)替換掉失效的容器。

IPv4/IPv6 雙協(xié)議棧

  • 為 Pod 和 Service 分配 IPv4 和 IPv6 地址

水平擴(kuò)縮

  • 使用一個(gè)簡(jiǎn)單的命令、一個(gè) UI 或基于 CPU 使用情況自動(dòng)對(duì)應(yīng)用程序進(jìn)行擴(kuò)縮。

自我修復(fù)

  • 重新啟動(dòng)失敗的容器,在節(jié)點(diǎn)死亡時(shí)替換并重新調(diào)度容器,殺死不響應(yīng)用戶定義的健康檢查的容器,并且在它們準(zhǔn)備好服務(wù)之前不會(huì)將它們公布給客戶端。

Kubernetes服務(wù)本質(zhì)是一組協(xié)同工作的pod,類同多層架構(gòu)應(yīng)用中的一層。構(gòu)成服務(wù)的pod組通過標(biāo)簽選擇器來定義。Kubernetes通過給服務(wù)分配靜態(tài)IP地址和域名來提供服務(wù)發(fā)現(xiàn)機(jī)制,并且以輪循調(diào)度的方式將流量負(fù)載均衡到能與選擇器匹配的pod的IP地址的網(wǎng)絡(luò)連接上(即使是故障導(dǎo)致pod從一臺(tái)機(jī)器移動(dòng)到另一臺(tái)機(jī)器)。 默認(rèn)情況下,服務(wù)任務(wù)會(huì)暴露在集群中(例如,多個(gè)后端pod可能被分組成一個(gè)服務(wù),前端pod的請(qǐng)求在它們之間負(fù)載平衡);除此以外,服務(wù)任務(wù)也可以暴露在集群外部(例如,從客戶端訪問前端pod)

而現(xiàn)今信息界常見的縮寫手法“K8s”則是將“ubernete”八個(gè)字母縮寫為“8”而來。

 

煜企智能在Kubernetes K8s部署上面有著豐富的經(jīng)驗(yàn),工程師都具備豐富的Kubernetes的部署經(jīng)驗(yàn),在基礎(chǔ)網(wǎng)絡(luò)建設(shè)中我們建議采用模塊化的結(jié)構(gòu),模塊化結(jié)構(gòu)方式有兩種主要優(yōu)勢(shì)。首先,它允許體系結(jié)構(gòu)實(shí)現(xiàn)網(wǎng)絡(luò)各功能塊間的安全關(guān)系,其次,它讓設(shè)計(jì)者可逐個(gè)模塊地評(píng)估和實(shí)施安全性,而非試圖在一個(gè)階段就完成整個(gè)體系結(jié)構(gòu)。模塊化設(shè)計(jì)還可以簡(jiǎn)化日常維護(hù)管理流程,從而降低維護(hù)和管理的風(fēng)險(xiǎn)。需求解決方案的要點(diǎn):1、鏈路負(fù)載均衡(多鏈路控制器)2、安全區(qū)域劃分和隔離(WAF、防火墻)3、日志收集和分析(統(tǒng)一日志審計(jì)平臺(tái))4、各類應(yīng)用的安全防護(hù)(WEB應(yīng)用安全網(wǎng)關(guān)、數(shù)據(jù)庫(kù)日志審計(jì))5、檢測(cè)和防止網(wǎng)絡(luò)攻擊及黑客入侵(入侵檢測(cè)(IDS)入侵防御系統(tǒng)(IPS))

Kubernetes虛擬化

相關(guān)方案:

VMware服務(wù)器虛擬化解決方案

煜企業(yè)備份&容災(zāi)解決方案

VMware View桌面虛擬化解決方案

弱電與IT項(xiàng)目系統(tǒng)集成

 

煜企智能在 Kubernetes和 虛擬化、基礎(chǔ)設(shè)施建設(shè)、弱電系統(tǒng)、系統(tǒng)集成中擁有豐富的案例,您有任何想法和需求,隨時(shí)致電煜企智能獲得咨詢和支持。

 

微信掃碼 | 加入我們

Kubernetes虛擬化 與 云計(jì)算解決方案插圖(3)