More  

收藏本站

電腦請使用 Ctrl + D 加入最愛
手機請使用 收藏
關閉

小編的世界 優質文選 主機

用戶如何在自己的服務器上運行Azure服務


字體大小:
2021年8月28日 -
:     
 

企業網D1Net

公有雲看上去大同小異,都提供相似的服務並收取相似的費用。但由於每家雲計算供應商有不同的發展歷史和自己的專長,關注的重點有所不同。對於微軟公司來說,該公司非常關注混合雲,因為由於數據敏感性或政府監管,很多用戶的工作負載一直在自己的內部部署數據中心運行。

這是一個雙向的承諾,提供用於快速遷移數據和服務的工具,在內部部署數據中心資源不足時使用雲平台處理非敏感、不受監管的數據,並將其Azure管理工具引入用戶的數據中心,微軟公司在Azure Stack中擁有自己的硬件、使用Azure Stack HCI批准的第三方硬件或其Azur Arc應用程序管理工具。

基於Azure Arc和容器構建

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

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

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

下一個合乎邏輯的步驟是使用Arc的Azure Kubernetes作為主機,將可移植應用程序容器遷移到任何一個Azure托管平台。這種方法允許用戶在代碼所在的位置運行Azure服務,Arc不僅支持內部部署系統,還支持AWS或谷歌雲平台上托管的基礎設施。如果用戶對Azure Function有依賴關系,但希望將其包含在數據中心運行的應用程序中以及Azure和AWS上的多雲應用程序中,那麼現在不局限於將Azure Function的代碼轉換為AWS Lambda。

與往常一樣,這種方法是一種權衡。用戶依賴於Azure Arc,並且需要在其使用的平台上進行管理。但是,用戶現在只需開發一次應用程序代碼,使不同版本和不同平台之間沒有延遲,無需使用通用API,從而降低風險,並提供盡可能多的多雲覆蓋範圍。

設置Azure Arc的應用服務支持

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

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

一旦集群由Azure Arc管理,就可以在集群上部署Azure應用程序服務擴展。該服務仍處於試用階段。接下來需要將應用服務擴展安裝到集群,首先設置內部部署環境變量以保存擴展名稱、其命名空間和整個環境的名稱。然後可以使用Azure CLI將擴展安裝到集群。

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

在其開發的現階段,Azure Arc的Azure應用服務支持不適合初學者。它需要現有的Kubernetes環境和從命令行管理Kubernetes和Azure的經驗。微軟公司可以提供指導,但用戶需要自定義腳本以適應其環境,無論是在內部部署設施還是在公有雲上運行。

生成代碼並將其交付到Azure Arc應用服務

微軟公司正在推出一種基於向導的方法,用於從Azure Arc門戶將服務部署到連接的集群。這將創建適當的資源並安裝適當的擴展。然後,用戶可以將其用作部署資源的目標,將它們視為Azure區域旁邊的自定義位置。這使用戶可以使用現有的Azure開發工具(例如Visual Studio Code)來處理Arc資源。

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

由此產生的多雲功能利用了Kubernetes的通用API,大多數版本都支持這些API,從邊緣到公有雲。在內部部署或Azure中開發的代碼可以在任何受支持的平台上運行,隨時可以部署到數據所在的位置。隨著越來越多的Azure服務利用Azure Arc的Kubernetes支持,對多平台服務的多雲支持將變得與使用跨雲虛擬基礎設施一樣普遍,並且通過消除基於平台即服務的應用程序的單點故障來提高其可靠性和可用性。