Kubernetes虛擬化與云計算
Kubernetes虛擬化 (在希臘語意為“舵手”或“駕駛員”)由Joe Beda、Brendan Burns和Craig McLuckie創立,并由其他谷歌工程師,包括Brian Grant和Tim Hockin等進行加盟創作,并由谷歌在2014年首次對外宣布 。該系統的開發和設計都深受谷歌的Borg系統[的影響,其許多頂級貢獻者之前也是Borg系統的開發者。在谷歌內部,Kubernetes的原始代號曾經是Seven,即星際迷航中的Borg(博格人)。Kubernetes標識中舵輪有七個輪輻就是對該項目代號的致意。
Kubernetes v1.0于2015年7月21日發布。隨著v1.0版本發布,谷歌與Linux 基金會合作組建了Cloud Native Computing Foundation(CNCF)并將Kubernetes作為種子技術來提供。
Rancher Labs在其Rancher容器管理平臺中包含了Kubernetes的發布版。[Kubernetes也在很多其他公司的產品中被使用,例如Red Hat的OpenShift,CoreOS的Tectonic, IBM的IBM私有云產品,精靈云的EcOS,以及 VMware的PKS等等。
而現今信息界常見的縮寫手法“K8s”則是將“ubernete”八個字母縮寫為“8”而來。
-摘錄?
一.系統虛擬化云計算概述
VMware Cloud是全球使用率最高的云計算操作系統,Kubernetes 是一個可移植的、可擴展的開源平臺,用于管理容器化的工作負載和服務,可促進聲明式配置和自動化。 Kubernetes 擁有一個龐大且快速增長的生態系統。Kubernetes 的服務、支持和工具廣泛可用。VMware Kubernetes為基于容器的工作負載提供了出色的自動化應用程序部署平臺。但是應用程序服務(例如流量管理,群集內以及跨群集/區域之間的負載均衡)、服務發現、監視/分析和應用程序安全性,對于現代應用程序基礎結構至關重要。企業要求可擴展的、經過現實世界測試且強大穩定的服務架構,以便在 Kubernetes集群中部署可用于生產環境的微服務應用程序。簡化的云計算基礎架構,使 IT 組織能夠利用內部和外部資源,安全和低風險地提供新一代靈活可靠的 IT 服務。VMware Cloud通過提供新的公有云和私有云功能延展VMware的混合云戰略,能夠在通用運維環境下,實現跨云環境和設備運行、管理、連接和保護應用。
二. 虛擬化部署架構組成
Kubernetes虛擬化 是從 Google 為搭配「Borg」平臺而使用的程式碼所演變而來,原本是供大規模管理 Google 旗下資料中心之用。AWS 在推出 EC2 平臺之際,讓彈性網路伺服器架構一并亮相。Kubernetes 讓公司得以使用開放式原始碼,協調 EC2 等容器。Google、AWS、Azure 與其他主要公有云主機,都提供適用于云端網路伺服器協調作業的 Kubernetes 支援。客戶可以使用 Kubernetes 來外包整個資料中心、網路/行動應用程式、軟體即服務支援、云端網路代管或高效能運算。Kubernetes (常縮寫為「K8s」) 隸屬于 Cloud Native Computing Foundation,旨在支援云端資料中心管理軟體的共用網路標準開發作業。Docker 為 Kubernetes 最常使用的容器虛擬化標準,可為程式設計團隊提供多項整合式軟體生命周期開發工具。RancherOS、CoreOS 與 Alpine Linux,都是專為容器使用所設計的熱門作業系統。容器虛擬化不同于使用虛擬化管理程序的虛擬機或 VPS 工具,所需的生產環境作業系統規模通常較小。
三. Kubernetes容器的優勢
Kubernetes 的主要優勢,在于可在生產環境中操作自動化、彈性的網路伺服器平臺,且不須受限于 AWS 的 EC2 服務。Kubernetes 能執行絕大多數的公有云代管服務,而且所有主流公司都為其提供具競爭力的價格。Kubernetes 可讓企業將資料中心完全委外經營。此外,Kubernetes 也能用來將生產環境的網路與行動應用程式,擴充至最大等級的網路流量。Kubernetes 可讓所有公司以具競爭力的資料中心價格取得硬體資源,以操作自有軟體程式碼,同時享有媲美大型公司的延展性。
- 可移動: 公有云、私有云、混合云、多態云
- 可擴展: 模塊化、插件化、可掛載、可組合
- 自修復: 自動部署、自動重啟、自動復制、自動伸縮
- Kubernetes 是開源系統,可以自由地部署在企業內部,私有云、混合云或公有云,讓您輕松地做出合適的選擇。
- 快速部署應用
- 快速擴展應用
- 無縫對接新的應用功能
- 節省資源,優化硬件資源的使用
四. Kubernetes與容器
Kubernetes 為開放式原始碼容器協調作業平臺。Docker 為搭配 Kubernetes 使用的主要容器虛擬化標準。其他的彈性網路伺服器協調作業系統,則包括 Docker Swarm、CoreOS Tectonic 與 Mesosphere。Intel 也與 Kata 聯手推出一款與容器標準來與 Kubernetes 較勁,市面上還有許多 Linux 版本的容器。在軟體產品的容器虛擬化領域中,Docker 享有最高市占率。Docker 為專精于容器虛擬化的軟體開發公司,相較之下,Kubernetes 則屬受編碼人員社群支援的開放式原始碼專案,社群成員包括各大主要 IT 公司的專業程式設計人員。
Kubernetes虛擬化 - 特性
自動化上線和回滾
- Kubernetes 會分步驟地將針對應用或其配置的更改上線,同時監視應用程序運行狀況以確保你不會同時終止所有實例。如果出現問題,Kubernetes 會為你回滾所作更改。你應該充分利用不斷成長的部署方案生態系統。
服務發現與負載均衡
- 無需修改你的應用程序即可使用陌生的服務發現機制。Kubernetes 為容器提供了自己的 IP 地址和一個 DNS 名稱,并且可以在它們之間實現負載均衡。
服務拓撲(Service Topology)
- 基于集群拓撲的服務流量路由。
存儲編排
- 自動掛載所選存儲系統,包括本地存儲、諸如 GCP 或 AWS 之類公有云提供商所提供的存儲或者諸如 NFS、iSCSI、Gluster、Ceph、Cinder 或 Flocker 這類網絡存儲系統。
Secret 和配置管理
- 部署和更新 Secrets 和應用程序的配置而不必重新構建容器鏡像,且 不必將軟件堆棧配置中的秘密信息暴露出來。
自動裝箱
- 根據資源需求和其他約束自動放置容器,同時避免影響可用性。將關鍵性工作負載和盡力而為性質的服務工作負載進行混合放置,以提高資源利用率并節省更多資源。
批量執行
- 除了服務之外,Kubernetes 還可以管理你的批處理和 CI 工作負載,在期望時替換掉失效的容器。
IPv4/IPv6 雙協議棧
- 為 Pod 和 Service 分配 IPv4 和 IPv6 地址
水平擴縮
- 使用一個簡單的命令、一個 UI 或基于 CPU 使用情況自動對應用程序進行擴縮。
自我修復
- 重新啟動失敗的容器,在節點死亡時替換并重新調度容器,殺死不響應用戶定義的健康檢查的容器,并且在它們準備好服務之前不會將它們公布給客戶端。
Kubernetes服務本質是一組協同工作的pod,類同多層架構應用中的一層。構成服務的pod組通過標簽選擇器來定義。Kubernetes通過給服務分配靜態IP地址和域名來提供服務發現機制,并且以輪循調度的方式將流量負載均衡到能與選擇器匹配的pod的IP地址的網絡連接上(即使是故障導致pod從一臺機器移動到另一臺機器)。 默認情況下,服務任務會暴露在集群中(例如,多個后端pod可能被分組成一個服務,前端pod的請求在它們之間負載平衡);除此以外,服務任務也可以暴露在集群外部(例如,從客戶端訪問前端pod)
而現今信息界常見的縮寫手法“K8s”則是將“ubernete”八個字母縮寫為“8”而來。
煜企智能在Kubernetes K8s部署上面有著豐富的經驗,工程師都具備豐富的Kubernetes的部署經驗,在基礎網絡建設中我們建議采用模塊化的結構,模塊化結構方式有兩種主要優勢。首先,它允許體系結構實現網絡各功能塊間的安全關系,其次,它讓設計者可逐個模塊地評估和實施安全性,而非試圖在一個階段就完成整個體系結構。模塊化設計還可以簡化日常維護管理流程,從而降低維護和管理的風險。需求解決方案的要點:1、鏈路負載均衡(多鏈路控制器)2、安全區域劃分和隔離(WAF、防火墻)3、日志收集和分析(統一日志審計平臺)4、各類應用的安全防護(WEB應用安全網關、數據庫日志審計)5、檢測和防止網絡攻擊及黑客入侵(入侵檢測(IDS)入侵防御系統(IPS))
相關方案:
煜企智能在 Kubernetes和 虛擬化、基礎設施建設、弱電系統、系統集成中擁有豐富的案例,您有任何想法和需求,隨時致電煜企智能獲得咨詢和支持。
微信掃碼 | 加入我們