淺談VMWARE云原生技術棧
一、什么是Tanzu
- 斯瓦希里語中,“tanzu”是指一棵正在生長的樹枝
- 日語里,“tanzu”是指由模塊組成的老式櫥柜
- 對于VMware,Tanzu代表著不斷進化的解決方案,用以幫助用戶構建、運行和管理現代應用程序
簡單來說
Tanzu不是一個產品,它是以 Kubernetes 為平臺,包含應用的構建、運行和管理,集合了多款 VMware 產品的解決方案。
下面具體認識Tanzu產品線背后的來龍去脈
- Pivotal
早在2016年3月的時候,市場研究公司Technavio,就在其研究報告中公布了2019年之前全球前5家PaaS市場頂級供應商的名單,其中,只有Pivotal一家完全專注于提供企業級PaaS平臺和解決方案,而這是因為Pivotal的出身:Pivotal由EMC、VMware、GE在2013年4月投資成立,后來Dell收購EMC亦成為Pivotal股東。
拋開一系列的眼花繚亂的商業并購,只要知道Pivotal公司出身高貴即可,來自幾個都不太差錢的世界 500 強公司聯合組建而成,Pivotal 公司的產品非常的高大上,就連我們平時使用的 12306 都使用了他們公司的產品。
公司的開源產品有:
- Spring 以及 Spring 衍生產品
- Web 服務器 Tomcat
- 緩存中間件 Redis
- 消息中間件 RabbitMQ
- 平臺即服務的 Cloud Foundry
- Greenplum 數據引擎
- 還有GemFire(12306 系統解決方案組件之一)
- Heptio
與K8S同樣淵源久遠,非富即貴,位于西雅圖的這家Kubernetes初創企業,由Joe Beda和Craig McLuckie共同創辦,2014年,他們在谷歌共同開發了Kubernetes(此后已開源),被認為是Kubernetes 核心創始人。諸多產品最為特色的Velero是西班牙語,意思是帆船,非常符合 Kubernetes 社區的命名風格。
Velero的開發公司 Heptio,之前已被 VMware 收購,其創始人2014就職于Google,當時被認為是 Kubernetes 核心成員。Velero是一種云原生的Kubernetes優化方法,支持標準的K8S集群,既可以是私有云平臺也可以是公有云。
除了災備之外它還能做資源移轉,支持把容器應用從一個集群遷移到另一個集群。Velero是一個云原生的災難恢復和遷移工具,它本身也是開源的, 采用Go語言編寫,可以安全的備份、恢復和遷移Kubernetes集群資源和持久卷。
- VMWARE
就不贅述。
- Bitnami
Bitnami是美國一家應用程序打包解決方案提供商,主要為用戶提供經過驗證的應用程序包,使開發人員能夠構建云中的各種格式的服務,包括虛擬機、容器和Kubernetes helm圖表。
- Wavefront
Wavefront是VMware于2017年收購的技術,被整合成為VMware云服務之一,命名為Wavefront by VMware。Wavefront以SaaS形式提供監控和分析功能,它就是為了監控云端服務而設計的,當然它也可以監控私有云中的傳統系統和應用;Wavefront從各個云服務收集詳盡的性能數據和日志,供用戶在此基礎上分析應用的性能瓶頸所在、快速排除應用故障。
場景
1、針對構建環節
VMware提供了bitnami和Pivotal的軟件產品組合,為開發者提供應用開發各種所需云原生軟件。
2、針對運行環節
VMware提供了PKS和Project Pacific,作為云原生的運行平臺。
3、針對管理環節
VMware推出了Tanzu Mission Control,作為單點控制和管理多種Kubernetes集群的控制平臺。
Tanzu誕生代表著VMware對于Kubernetes的重視程度,它的核心理念是充分利用開源軟件VMware現已成為 Kubernetes開源項目的前三大貢獻者。
二、 為何要用Tanzu
請跟隨小編重新認識收購后的VMWARE
1、“K8S排名第二的主要貢獻者”
2、“在vSphere和vSAN中集成Cloud Native Storage”
3、“Vsphere with Tanzu結合VMWARE NSX提供企業級SDN”
4、南北向:一體化的現代化應用交付方案 NSX ALB/Avi
5、Tanzu視角看工廠制造(生產流水線)VS產品開發(代碼流水線)
傳統開發:單體應用,瀑布式開發,封閉環境
敏態開發:微服務+云原生+自動化+DevOps實踐
正常容器化部署流水線大概是這樣子:
采用Tanzu Application Platform帶來的體驗和效率是這樣子
Inner Loop內環:
- 內部循環描述了開發人員迭代代碼的開發周期。
- 內部循環活動包括在提交之前編碼、測試和調試。
- 在云本地或Kubernetes平臺上,內部循環的開發人員經常構建容器映像,并將他們的應用程序連接到所有必要的服務和api,將它們部署到開發環境中。
Outer Loop外環:
- 外環描述運營商如何將應用部署到生產中,并隨時間推移對其進行維護。
- 在本地云平臺上,外部循環活動包括構建容器映像、添加容器安全性、配置持續集成和持續交付(CI/CD)管道。
- 在基于Kubernetes的開發環境中,外環活動是具有挑戰性的,因為應用程序交付平臺是由各種第三方和開源組件構建的,帶有許多配置選項。
三、Tanzu有哪些安全突破
基于身份認證和用戶管理的突破
現在企業大多數都是有用戶管理、身份認證系統的,Kubernetes 并沒有提供用戶管理和身份認證功能,除Service Account外,所有的用戶信息都依賴外部的用戶管理系統來存儲。
按照Kubernetes設計哲學,Kubernetes只是專注于做應用編排,存儲、網絡等功能則只提供接口集成。用戶管理和身份認證功能也是如此,只提供接口集成,由第三方解決方案實現,實現與 Kubernetes 集群解耦。
TKGm作為VMware企業發行版本Kubernetes,同樣遵守此哲學
TKGm 的中身份認證、用戶管理通過兩個包提供:Pinniped 和 Dex
Pinniped提供身份驗證服務,該服務使用Dex連接到身份提供者(例如Active Directory),在TKGm管理集群部署期間啟用和配置 Identity Manager,TKGm 就會自動部署這些組件。
TKGm通過Pinniped和Dex引入了OIDC 和LDAP用戶管理和身份認證管理。
Pinniped允許您將外部OpenID Connect(OIDC)或LDAP身份提供程序 (IDP)集成到Tanzu Kubernetes 集群中,這反過來又允許您控制對這些集群的訪問。
Pinniped 使用Dex作為代理入口(portal)來連接到上游 LDAP 服務器,例如 AD LDAP 。