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