如何在本機資料中心安裝Service Fabric for Windows叢集

來源:互聯網
上載者:User

標籤:manage   title   docke   pre   http   說明   des   空間   錯誤   

概述

首先本文只是對官方文檔(中文,英文)的一個提煉,詳細的安裝說明還請仔細閱讀官方文檔。

雖然Service Fabric的官方名稱往往被加上Azure,但是實際上(估計很多人不知道)Service Fabric可以安裝到本機資料中心或者任意公用雲端上,這不官方文檔就有一章專門講如何安裝到AWS的內容。

所以現在為了區分,一般把在Azure上提供的開箱即用的PaaS稱之為Azure Service Fabric,而把本地安裝的稱之為Service Fabric Standalone。

同時,Service Fabric既可部署到Windows Server上,也可以部署到Linux上。但是本文書寫的時候,Linux版本只能使用Azure的,官方還沒有發布本地版本安裝包(但是未來一定會有)。所以本文也是僅限於Windows叢集的內容。

在本機資料中心安裝Service Fabric for Windows叢集的時候,可能會受到如下限制的影響:

  • 資料中心的伺服器的網路是隔離的
  • 資料中心的伺服器是不能訪問互連網的
環境準備

機器的準備,需要至少滿足如下要求:

  • 最少16G記憶體
  • 最少40G硬碟空間
  • 4核以上CPU
  • 所有作為叢集節點的機器在同一網段,互相可通
  • 機器上安裝Windows Server 2012 R2或Windows Server 2016,如果打算使用容器,那麼建議使用Windows Server 1805,可以支援更加小的1805基容器鏡像。
  • 確保Windows安裝了.NET FX 4.5.1以上
  • 確保Windows具有PowerShell 3.0
  • 在所有機器上確保運行RemoteRegistry服務

域環境和域帳號:

  • 在資料中心中應該有一個域控
  • 建立一個普通域帳號,比如:sfadmin
  • 把叢集機器加入到域中(機器名可以命名為SFNode-01、SFNode-XX等等),並把sfadmin添加到叢集機器的本機系統管理員群組
  • 在域中建立一個機器組(全域安全性群組),比如:sfnodes,把所有叢集機器都加到這個組中

雖然可以在某台叢集機器上來運行Service Fabric的安裝包,但是我建議單獨使用一台操作機。操作機的準備:

  • 可以使用如下作業系統:
    • Windows 7
    • Windows 8/Windows 8.1
    • Windows Server 2012 R2
    • Windows Server 2016
    • Windows 10
  • 把操作機也加到域中
  • 和叢集機器在一個網段,或者能夠訪問到叢集機器
  • 啟用PowerShell指令碼執行許可權:Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Force -Scope CurrentUser
  • 安裝Service Fabric SDK。由於操作機可能也無法正常互連網,那麼可以通過下載離線包的方式來擷取SDK。
安裝包準備

Service Fabric for Windows的安裝包分為兩個部分:

  1. Service Fabric Standalone Package - Windows Server,這個是安裝程式。以下稱之為安裝包。
  2. Service Fabric Runtime - Windows Server,這個是安裝到叢集機器上的運行時。以下稱之為運行包。

先通過其他渠道下載這兩個安裝包,然後複製到內網環境。

在操作機上解壓安裝包的zip壓縮包,比如解壓到SFSetup檔案夾。把運行包的cab壓縮包也複製到SFSetup檔案夾備用(不用解壓)。

叢集安裝

首先,準備叢集設定檔。

根據不同的安全配置和叢集配置,安裝包提供了多個設定檔範本,分別是:

  • ClusterConfig.gMSA.Windows.MultiMachine.json 依賴gMSA(Group Managed Service Account)安全機制的多機器叢集
  • ClusterConfig.Unsecure.DevCluster.json 非安全開發叢集
  • ClusterConfig.Unsecure.MultiMachine 非安全多機器叢集
  • ClusterConfig.Unsecure.OneNode 非安全單節點叢集
  • ClusterConfig.Windows.DevCluster 依賴Windows帳號安全機制的開發叢集
  • ClusterConfig.Windows.MultiMachine 依賴Windows帳號安全機制的多機器叢集
  • ClusterConfig.Windows.OneNode 依賴Windows帳號安全機制的單節點叢集
  • ClusterConfig.Windows.X509.DevCluster 用戶端訪問依賴Windows帳號伺服器訪問依賴X509認證的開發叢集
  • ClusterConfig.Windows.X509.MultiMachine 用戶端訪問依賴Windows帳號伺服器訪問依賴X509認證的多機器叢集
  • ClusterConfig.Windows.X509.OneNode 用戶端訪問依賴Windows帳號伺服器訪問依賴X509認證的單節點叢集
  • ClusterConfig.X509.DevCluster 依賴X509認證安全機制的開發叢集
  • ClusterConfig.X509.MultiMachine 依賴X509認證安全機制的多機器叢集
  • ClusterConfig.X509.OneNode 依賴X509認證安全機制的單節點叢集

總結起來,Service Fabric for Windows支援非安全、Windows帳號、組託管服務帳號、X509認證和Windows帳號+X509混合等5種安全模式。

個人建議選擇Windows帳號模型,因為準備工作要簡單一些,成功的機率也大一些。如果一直報莫名其妙的錯誤,那麼使用非安全模式大機率可以成功。在網路安全比較嚴格且機器加入域的情況下,非安全模式也是可以接受的。

以依賴Windows帳號安全機制的多機器叢集為例,複製一份ClusterConfig.Windows.MultiMachine.json檔案,重新命名為方便處理的名稱,比如ThisClusterConfig.1.0.json。用諸如VSCode這樣的編輯器開啟這個json檔案。編輯其中的nodes部分。主要是修改iPAddress為每台機器的機器名。ClusterIdentity填入機器組的名稱sfnodes,Identity改為專用域帳號的名稱sfadmin。nodeTypes根據情況就暫時用一個或者自訂多個。

樣本如下:

對於非安全模式的叢集,無非是去掉了security配置節而已。

接著,對設定檔進行測試。

在SFSetup檔案夾上開啟PowerShell,執行如下命令:

.\TestConfiguration.ps1 -ClusterConfigFilePath .\ThisClusterConfig.1.0.json

如果設定檔沒有什麼問題的話,會顯示如下提示:

在內網環境下,IsCabValid應該會顯示為False的,這個不用擔心。

最後,基於設定檔建立叢集。

繼續在PS中執行如下命令:

.\CreateServiceFabricCluster.ps1 -ClusterConfigFilePath .\ThisClusterConfig.1.0.json –FabricRuntimePackagePath .\MicrosoftAzureServiceFabric.6.3.162.9494.cab

現在祈禱它能一次運行成功,如果5台機器的話,應該能在5分鐘內成功。

提示成功後,通過輸入如下命令來嘗試串連叢集的管理連接埠來進行驗證:

Connect-ServiceFabricCluster -ConnectionEndpoint SFNode-01.contoso.com:19000

或者用瀏覽器開啟管理後台:http://SFNode-01.contoso.com:19080/Explorer/index.html

容器環境

如果你需要用Service Fabric來編排Windows Container的話,需要預先在叢集機器上安裝Docker。

由於內網環境的限制,安裝Docker也會稍顯麻煩。根據Docker.com的官方文檔:https://docs.docker.com/install/windows/docker-ee/#use-a-script-to-install-docker-ee

可以通過命令啟用Windows的容器支援:

(Install-WindowsFeature Containers).RestartNeeded

再下載docker的離線包到內網環境後按照步驟進行安裝。

同時為了支援叢集機器能夠正常的擷取Docker鏡像,可以在內網環境運行一個Docker Registry作為私人鏡像倉庫供內部應用鏡像的存放處,在外網運行一個Docker Registry作為公用鏡像的Mirror,供私人倉庫和叢集機器使用。

如何在本機資料中心安裝Service Fabric for Windows叢集

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.