共用方式為


規劃及準備叢集部署

實際執行環境叢集部署的規劃及準備作業非常重要。 有許多因素需要考量。 本文將逐步引導您完成叢集部署的準備步驟。

閱讀最佳做法資訊

為能順利管理 Azure Service Fabric 應用程式和叢集,強烈建議您最佳化實際執行環境的可靠性。 如需詳細資訊,請參閱 Service Fabric 應用程式和叢集最佳做法

選取該叢集的作業系統

Service Fabric 可讓您在執行 Windows Server 或 Linux 的任何 VM 或電腦上建立 Service Fabric 叢集。 在部署叢集前,您必須選擇作業系統:Windows 或 Linux。 叢集中的各節點 (虛擬機器) 皆以相同作業系統執行,相同叢集中的 VM 無法混合使用 Windows 和 Linux。

產能規劃

對於任何生產部署而言,容量規劃都是一個很重要的步驟。 以下是一些您在該程序中必須考量的事情。

  • 叢集的節點類型初始數目
  • 各節點類型的屬性 (大小、執行個體數目、主要、網際網路對應、VM 數目等)
  • 叢集的可靠性和持久性的特性

選取節點類型的初始數目

首先,您必須找出您要建立之叢集的用途。 您計劃將哪些類型的應用程式部署到此叢集中? 您的應用程式是否有多個服務,而且其中是否有任何服務必須是公開或網際網路對向的服務? 您 (構成應用程式) 的服務是否有不同的基礎結構需求,例如,更多的 RAM 或更高的 CPU 週期? Service Fabric 叢集可包含一個以上的節點類型:主要節點類型,以及一或多個非主要節點類型。 每個節點類型都會對應到虛擬機器擴展集。 然後每個節點類型可以獨立相應增加或相應減少,可以開啟不同組的連接埠,並可以有不同的容量度量。 您可設定節點屬性和位置條件約束,將特定服務限制為特定的節點類型。 如需詳細資訊,請參閱 Service Fabric 叢集容量規劃

選取各節點類型的節點屬性

節點類型會定義相關聯擴展集中的 VM 的 VM SKU、數目和屬性。

各節點類型的 VM 大小下限取決於節點類型所選的持久性層級。 若您決定未來會需要不同 VM SKU,請務必先瞭解垂直調整所需的步驟,再選擇 VM SKU。

主要節點類型的 VM 數目下限取決於您選擇的可靠性層級

請參閱主要節點類型非主要節點類型的具狀態工作負載,以及非主要節點類型的無狀態工作負載的建議下限值。

如需超過節點數目的下限,則應根據此節點類型要執行的應用程式/服務複本數目。 Service Fabric 應用程式的容量規劃可協助您估計執行應用程式所需的資源。 您稍後可隨時擴大或縮小叢集,以適應應用程式工作負載的變更。

針對虛擬機器擴展集使用暫時性 OS 磁碟

暫時性 OS 磁碟是本機虛擬機器 (VM) 上建立的儲存體,不會儲存於遠端 Azure 儲存體。 建議所有 Service Fabric 節點類型 (主要和次要) 皆採用,因為相較於傳統的持續性作業系統磁碟、暫時性作業系統磁碟可以:

  • 減少 OS 磁碟的讀取/寫入延遲
  • 加速進行重設/重新安裝映像的節點管理作業
  • 降低整體成本 (磁碟為免費,不會產生額外的儲存體成本)

暫時性 OS 磁碟不是特定的 Service Fabric 功能,而是 Service Fabric 節點類型所對應的 Azure 虛擬機器擴展集功能。 透過 Service Fabric 使用這些磁碟時,叢集的 Azure Resource Manager 範本需符合下列條件:

  1. 確定節點類型已指定暫時性 OS 磁碟支援的 Azure VM 大小,且該 VM 大小的快取大小足以支援其 OS 磁碟大小 (請參閱下方注意事項。)例如:

    "vmNodeType1Size": {
        "type": "string",
        "defaultValue": "Standard_DS3_v2"
    

    注意

    所選 VM 大小的快取大小務必等於或大於 VM 本身 OS 磁碟大小,否則 Azure 部署將可能導致發生錯誤 (即使最初已接受)。

  2. 指定2018-06-01 以上的虛擬機器擴展集版本 (vmssApiVersion):

    "variables": {
        "vmssApiVersion": "2018-06-01",
    
  3. 在部署範本的「虛擬機器擴展集」區段中,指定 diffDiskSettingsLocal 選項:

    "apiVersion": "[variables('vmssApiVersion')]",
    "type": "Microsoft.Compute/virtualMachineScaleSets",
        "virtualMachineProfile": {
            "storageProfile": {
                "osDisk": {
                        "caching": "ReadOnly",
                        "createOption": "FromImage",
                        "diffDiskSettings": {
                            "option": "Local"
                        },
                }
            }
        }
    

注意

在作業系統磁碟上,使用者應用程式不應具有任何相依性/檔案/成品,因為作業系統升級時會遺失作業系統磁碟。

注意

現有的非暫時性 VMSS 無法就地升級以使用暫時性磁碟。 若要移轉,使用者必須新增使用暫時性磁碟的 nodeType,將工作負載移至新的 nodeType 並移除現有的 nodeType。

如需詳細資訊及進一步設定選項,請參閱 Azure VM 的暫時性作業系統磁碟

選取叢集的持久性和可靠性層級

持久性層級用來向系統指示您的 VM 對於基本 Azure 基礎結構所擁有的權限。 在主要節點類型中,此權限可讓 Service Fabric 暫停會影響系統服務及具狀態服務的仲裁需求的任何 VM 層級基礎結構要求 (例如,VM 重新開機、VM 重新安裝映像,或 VM 移轉)。 在非主要節點類型中,此權限可讓 Service Fabric 暫停會影響具狀態服務之仲裁需求的任何 VM 層級基礎結構要求 (例如,VM 重新開機、VM 重新安裝映像和 VM 移轉)。 如需了解不同層級的優點,以及各層級的使用建議與時機,請參閱叢集的持久性特性

可靠性層級用來設定您想要在此叢集中的主要節點類型上執行的系統服務複本數目。 複本數目越多,叢集中的系統服務越可靠。 如需了解不同層級的優點,以及各層級的使用建議與時機,請參閱叢集的可靠性特性

啟用反向 Proxy 和/或 DNS

叢集內彼此連接的服務通常可以直接存取其他服務的端點,因為叢集中的節點位於相同的本機網路上。 為方便進行服務間的連線,Service Fabric 也提供其他服務:DNS 服務反向 Proxy 服務。 部署叢集時可啟用這兩項服務。

許多服務 (特別是容器化服務) 可能使用現有的 URL 名稱,因此能使用標準 DNS 通訊協定 (而不是「命名服務」通訊協定) 來解析這些名稱則相當方便,在應用程式的「隨即轉移」案例中尤其如此。 這就是 DNS 服務的功能所在。 它可讓您將 DNS 服務對應到某個服務名稱,再由此解析端點 IP 位址。

反向 Proxy 用於處理叢集中公開 HTTP 端點的服務 (含 HTTPS)。 反向 Proxy 可提供特定的 URI 格式,大幅簡化呼叫其他服務的流程。 反向 Proxy 也可處理兩項服務通訊所需的解析、連接和重試步驟。

準備進行災害復原

提供高可用性的關鍵在於確保服務能夠承受所有不同類型的故障。 這對於預料之外且無法控制的故障而言特別重要。 準備進行災害復原中描述一些常見的失敗模式,若未正確建立模型和管理,可能會造成嚴重損壞。 此外,本文也會探討發生災害時應採取的緩解措施和行動。

生產整備度檢查清單

您的應用程式和叢集已經準備好要接受生產環境流量嗎? 將叢集部署至實際執行環境前,請先完成執行實際執行整備檢查清單。 完成下列檢查清單的項目,以確保應用程式和叢集能順利執行。 強烈建議您先完成所有這些項目,再移至實際執行環境。

下一步