用戶如何在自己的服務(wù)器上運行Azure服務(wù)?

來源: 企業(yè)網(wǎng)D1Net
作者:Simon Bisson
時間:2021-08-28
16669
對于微軟公司來說,該公司非常關(guān)注混合云,因為由于數(shù)據(jù)敏感性或政府監(jiān)管,很多用戶的工作負(fù)載一直在自己的內(nèi)部部署數(shù)據(jù)中心運行。

pexels-photo-3183157.webp.jpg

公有云看上去大同小異,都提供相似的服務(wù)并收取相似的費用。但由于每家云計算供應(yīng)商有不同的發(fā)展歷史和自己的專長,關(guān)注的重點有所不同。對于微軟公司來說,該公司非常關(guān)注混合云,因為由于數(shù)據(jù)敏感性或政府監(jiān)管,很多用戶的工作負(fù)載一直在自己的內(nèi)部部署數(shù)據(jù)中心運行。

這是一個雙向的承諾,提供用于快速遷移數(shù)據(jù)和服務(wù)的工具,在內(nèi)部部署數(shù)據(jù)中心資源不足時使用云平臺處理非敏感、不受監(jiān)管的數(shù)據(jù),并將其Azure管理工具引入用戶的數(shù)據(jù)中心,微軟公司在Azure Stack中擁有自己的硬件、使用Azure Stack HCI批準(zhǔn)的第三方硬件或其Azur Arc應(yīng)用程序管理工具。

基于Azure Arc和容器構(gòu)建

Azure Arc的演變一直是人們關(guān)注的焦點。最初是作為通過Azure門戶管理內(nèi)部部署應(yīng)用程序虛擬基礎(chǔ)設(shè)施的工具,它增加了對數(shù)據(jù)服務(wù)和Kubernetes容器編排的支持。這是有趣的選項,因為在Azure自己的Kubernetes管理工具的版本上構(gòu)建是管理Kubernetes環(huán)境的一種快速簡便的方法,不需要用戶深入了解Kubernetes部署和配置。

除了在自己的硬件上托管自己的云原生應(yīng)用程序之外,Azure Arc的Kubernetes工具還有另外的作用。微軟公司一直在重新構(gòu)建自己的大部分Azure平臺服務(wù)。雖然這些一直基于微服務(wù)以支持快速橫向擴展,但它們已經(jīng)使用微軟公司自己的虛擬化技術(shù)運行。這種情況正在慢慢改變,將它們從專用的Windows Server實例轉(zhuǎn)移到在容器中運行,并使用自定義Kubernetes擴展和服務(wù)來支持容器化代碼。

而向容器的轉(zhuǎn)變,以及Kubernetes對Windows和Linux容器的支持,使微軟公司能夠推廣自己的內(nèi)部Azure托管服務(wù),使用Kubernetes和相關(guān)技術(shù)來提高擴展性,并使這些容器具有可移植性。人們已經(jīng)在Azure StackEdge硬件上運行的Azure IoT Hub中看到了一些這種可移植性,因此需要將計算能力放在需要的地方,而不是依賴可能有問題的網(wǎng)絡(luò)。

下一個合乎邏輯的步驟是使用Arc的Azure Kubernetes作為主機,將可移植應(yīng)用程序容器遷移到任何一個Azure托管平臺。這種方法允許用戶在代碼所在的位置運行Azure服務(wù),Arc不僅支持內(nèi)部部署系統(tǒng),還支持AWS或谷歌云平臺上托管的基礎(chǔ)設(shè)施。如果用戶對Azure Function有依賴關(guān)系,但希望將其包含在數(shù)據(jù)中心運行的應(yīng)用程序中以及Azure和AWS上的多云應(yīng)用程序中,那么現(xiàn)在不局限于將Azure Function的代碼轉(zhuǎn)換為AWS Lambda。

與往常一樣,這種方法是一種權(quán)衡。用戶依賴于Azure Arc,并且需要在其使用的平臺上進行管理。但是,用戶現(xiàn)在只需開發(fā)一次應(yīng)用程序代碼,使不同版本和不同平臺之間沒有延遲,無需使用通用API,從而降低風(fēng)險,并提供盡可能多的多云覆蓋范圍。

設(shè)置Azure Arc的應(yīng)用服務(wù)支持

通過Azure Arc運行應(yīng)用程序服務(wù)需要注冊的Kubernetes集群。用戶可以在任何平臺上使用任何正在運行的集群,只要它支持集群API,并且已經(jīng)在其Kubernetes系統(tǒng)上安裝了Azure CLI。務(wù)必記住的是,Azure Arc是一種管理在集群上運行的應(yīng)用程序的方式,而不是集群本身。Arc的功能與管理平臺所需的功能之間存在明顯的分界線。用戶可以將其視為基礎(chǔ)設(shè)施管理與平臺和應(yīng)用程序管理之間的區(qū)別。需要將集群作為基礎(chǔ)設(shè)施的一部分進行管理,而Arc處理在Kubernetes中運行的平臺服務(wù)和應(yīng)用程序。

若要連接集群,可以使用connectk8s Azure CLI擴展,并確保集群可以連接到所需的Azure端點。在連接到Arc之前,可能需要為此配置防火墻。在連接之后,注冊Arc提供程序并將其連接到本地區(qū)域的Azure資源組。Azure CLI工具下載并運行Helm圖表,該圖表添加了建立連接所需的證書和ID,為其管理代理部署了一組Pod。

一旦集群由Azure Arc管理,就可以在集群上部署Azure應(yīng)用程序服務(wù)擴展。該服務(wù)仍處于試用階段。接下來需要將應(yīng)用服務(wù)擴展安裝到集群,首先設(shè)置內(nèi)部部署環(huán)境變量以保存擴展名稱、其命名空間和整個環(huán)境的名稱。然后可以使用Azure CLI將擴展安裝到集群。

微軟公司提供了一個示例腳本來安裝和配置應(yīng)用服務(wù)集群和Pod,添加服務(wù)帳戶、命名空間和其他關(guān)鍵配置。其安裝可能需要一些時間,因此需要耐心等待,然后再配置服務(wù)的Arc端。在這里,用戶將在創(chuàng)建應(yīng)用服務(wù)環(huán)境之前設(shè)置Arc使用的自定義位置。一旦它啟動并運行,就可以開始創(chuàng)建和部署應(yīng)用程序。用戶可以配置對Kubernetes事件驅(qū)動自動縮放(KEDA)以及Kubernetes的默認(rèn)資源驅(qū)動方法的支持。如果正在運行無服務(wù)器Azure服務(wù)(例如Functions或EventGrid),那么應(yīng)該會發(fā)現(xiàn)KEDA支持很有用。

在其開發(fā)的現(xiàn)階段,Azure Arc的Azure應(yīng)用服務(wù)支持不適合初學(xué)者。它需要現(xiàn)有的Kubernetes環(huán)境和從命令行管理Kubernetes和Azure的經(jīng)驗。微軟公司可以提供指導(dǎo),但用戶需要自定義腳本以適應(yīng)其環(huán)境,無論是在內(nèi)部部署設(shè)施還是在公有云上運行。

生成代碼并將其交付到Azure Arc應(yīng)用服務(wù)

微軟公司正在推出一種基于向?qū)У姆椒?,用于從Azure Arc門戶將服務(wù)部署到連接的集群。這將創(chuàng)建適當(dāng)?shù)馁Y源并安裝適當(dāng)?shù)臄U展。然后,用戶可以將其用作部署資源的目標(biāo),將它們視為Azure區(qū)域旁邊的自定義位置。這使用戶可以使用現(xiàn)有的Azure開發(fā)工具(例如Visual Studio Code)來處理Arc資源。

一旦Azure Arc對Azure應(yīng)用服務(wù)的支持推出正式版本,它將為用戶提供與直接使用Azure相同的熟悉的開發(fā)和操作體驗,將其資源視為Azure服務(wù)的替代站點。這意味著確保提前配置它們,賦予Azure管理員新的職責(zé),并要求在DevOps團隊中建立新的關(guān)系。

由此產(chǎn)生的多云功能利用了Kubernetes的通用API,大多數(shù)版本都支持這些API,從邊緣到公有云。在內(nèi)部部署或Azure中開發(fā)的代碼可以在任何受支持的平臺上運行,隨時可以部署到數(shù)據(jù)所在的位置。隨著越來越多的Azure服務(wù)利用Azure Arc的Kubernetes支持,對多平臺服務(wù)的多云支持將變得與使用跨云虛擬基礎(chǔ)設(shè)施一樣普遍,并且通過消除基于平臺即服務(wù)的應(yīng)用程序的單點故障來提高其可靠性和可用性。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于企業(yè)網(wǎng)D1Net,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多