在本快速入門中,您將瞭解如何使用 Azure CLI 或 Azure 入口網站建立Microsoft Azure Red Hat OpenShift 叢集。 Azure Red Hat OpenShift 是受控 OpenShift 服務,可讓您部署和管理叢集。
當您建立叢集時,會建立 服務主體 ,或使用現有的服務主體。 使用服務主體的叢集無法移轉為使用受控識別。 您必須在 Azure Red Hat OpenShift 叢集上建立使用受控識別的新叢集。 如需詳細資訊,請參閱使用受控識別建立 Azure Red Hat OpenShift 叢集(預覽版)。
先決條件
請確定您使用的是 Azure CLI 2.67.0 版或更高版本。 使用 az --version 來尋找已安裝的 Azure CLI 版本。 如果您需要安裝或升級,請參閱安裝 Azure CLI。
Azure Red Hat OpenShift 至少需要 44 個核心才能建立 OpenShift 叢集。 新 Azure 訂用帳戶的預設 Azure 資源配額不符合此需求。 若要要求提高資源限制,請參閱提高 VM 系列 vCPU 配額。
44 個核心的使用方式如下:
- 啟動程式計算機:8 個核心
- 控制平面(主計算機):24 核心
- 計算(工作機器):12 個核心
安裝完成時,會移除啟動程序計算機,而您的叢集總共會使用36個核心。 如需詳細資訊,請參閱 在 Azure 上安裝。
執行下列命令來檢查 Azure 訂閱的配額,以了解 命令的預設虛擬機大小「az aro create」的虛擬機大小。
LOCATION=eastus
az vm list-usage --location $LOCATION \
--query "[?contains(name.value, 'standardDSv5Family')]" \
--output table
確認您的許可權
在本文中,您會建立包含叢集虛擬網路的資源群組。 您需要直接在虛擬網路或包含其資源群組或訂用帳戶的參與者和使用者存取系統管理員許可權或擁有者許可權。
您還需要具備足夠的 Microsoft Entra 許可權,無論身為租用戶的成員用戶,或是被指派為角色 應用程式管理員 的來賓,這些都將使工具能夠以您的名義為叢集建立應用程式和服務主體。 如需詳細資訊,請參閱 成員和來賓 和 指派Microsoft Entra 角色。
註冊資源提供者
您必須在 Azure 訂用帳戶中註冊下列資源提供者:
Microsoft.RedHatOpenShiftMicrosoft.ComputeMicrosoft.StorageMicrosoft.Authorization
如果您有多個 Azure 訂用帳戶,請指定相關的訂用帳戶識別碼:
az account set --subscription <SUBSCRIPTION ID>
若要確認是否已註冊資源提供者,請使用下列命令搭配資源提供者名稱。 命令會檢查Microsoft.RedHatOpenShift資源提供者,並傳回Registered或NotRegistered的值。
az provider list --query "[?namespace=='Microsoft.RedHatOpenShift'].registrationState" \
--output table
如果您需要註冊資源提供者,請使用下列命令:
註冊
Microsoft.RedHatOpenShift資源提供者:az provider register --namespace Microsoft.RedHatOpenShift --wait註冊
Microsoft.Compute資源提供者:az provider register --namespace Microsoft.Compute --wait註冊
Microsoft.Storage資源提供者:az provider register --namespace Microsoft.Storage --wait註冊
Microsoft.Authorization資源提供者:az provider register --namespace Microsoft.Authorization --wait
取得 Red Hat 提取祕密 (選擇性)
Red Hat 提取憑證使您的叢集能夠存取 Red Hat 容器註冊表,以及其他內容,例如來自OperatorHub的運營商。 提取密碼不會變更 Red Hat OpenShift 授權的成本。 此步驟是選擇性的,但建議使用。 例如,如果您打算使用 OpenShift Virtualization,請將拉取密鑰包含在叢集部署中,以便安裝像 OpenShift Virtualization 這樣的操作員。
如果您決定稍後新增提取密碼,請參閱 新增或更新提取密碼。 即使提取密碼包含該欄位,cloud.openshift.com 欄位也會從您的祕密中移除。 此欄位會啟用額外的監視功能,此功能會將資料傳送至 RedHat,因此預設為停用。 若要啟用此功能,請參閱 啟用遠端健康情況報告。
登入 Red Hat OpenShift 叢集管理員入口網站。
您必須登入您的 Red Hat 帳戶,或使用您的商務電子郵件建立新的 Red Hat 帳戶,並接受條款和條件。
選取 [下載提取密碼 ],然後下載提取密碼以搭配您的叢集使用。
- 將儲存的
pull-secret.txt檔案保持在其他安全位置。 如果您需要建立包含 Red Hat 或認證合作夥伴範例或作員的叢集,則會在每個叢集建立中使用此檔案。 - 執行
az aro create命令時,您可以使用--pull-secret @pull-secret.txt參數來參考您的提取祕密。 從您儲存az aro create檔案的目錄執行pull-secret.txt。 否則,請將@pull-secret.txt取代為@/path/to/my/pull-secret.txt。 - 針對 Azure 入口網站叢集部署,複製提取密碼,然後在 [ 驗證 ] 頁面上,將提取密碼貼到 [Red Hat 提取密碼 ] 文本框中。
- 如果您複製提取密碼或在其他腳本中參考它,您的提取密碼應格式化為有效的 JSON 字串。
- 將儲存的
為叢集準備自訂網域 (選擇性)
執行 az aro create 命令時,您可以使用 --domain foo.example.com 參數來指定叢集的自訂網域。
備註
雖然當您透過 Azure CLI 建立叢集時,新增網域名稱是選擇性的,但是當您透過入口網站新增叢集時,則需要網域名稱或作為 OpenShift 控制台和 API 伺服器自動產生 DNS 名稱一部分的前置詞。 如需詳細資訊,請參閱本文的 Azure 入口網站索引標籤 。
如果您為叢集提供自訂網域,請注意下列幾點:
- 建立叢集後,您必須在 DNS 伺服器中為指定的
A創建兩個 DNS--domain記錄:- api - 指向 API 伺服器 IP 位址
- *.apps - 指向輸入 IP 位址
- 在建立好叢集之後,藉由執行下列命令來取得這些值:
az aro show -n -g --query '{api:apiserverProfile.ip, ingress:ingressProfiles[0].ip}'。
- OpenShift 控制台位於類似 的
https://console-openshift-console.apps.example.com網址,而不是內建網域https://console-openshift-console.apps.<random>.<location>.aroapp.io。 - 根據預設,OpenShift 會針對自訂網域
*.apps.example.com上建立的所有路由使用自我簽署憑證。 如果您在連線到叢集之後選擇使用自定義 DNS,您必須遵循 OpenShift 檔來設定 輸入控制器的自訂 CA ,以及 API 伺服器的自定義 CA。
建立包含兩個空白子網路的虛擬網路
接下來,您會建立包含兩個空子網的虛擬網路。 如果您現在有符合需求的虛擬網路,就可以略過此步驟。
如需網路和需求的相關信息,請參閱 Azure Red Hat OpenShift 的網路功能。
在執行
az命令的殼層環境中設定下列變數。LOCATION=eastus # the location of your cluster RESOURCEGROUP=aro-rg # the name of the resource group where you want to create your cluster CLUSTER=cluster # the name of your cluster VIRTUALNETWORK=aro-vnet # the name of the virtual network建立資源群組。
Azure 資源群組是部署及管理 Azure 資源所在的邏輯群組。 建立資源群組時,系統會要求您指定位置。 此位置是儲存資源群組元數據的位置,如果您未在資源建立期間指定另一個區域,資源也會在 Azure 中執行。 使用 az group create 命令來建立資源群組。
備註
Azure Red Hat OpenShift 不適用於可建立 Azure 資源群組的所有區域。 如需支援 Azure Red Hat OpenShift 區域的相關資訊,請參閱可用區域。
az group create \ --name $RESOURCEGROUP \ --location $LOCATION下列範例輸出顯示已成功建立的資源群組:
{ "id": "/subscriptions/<guid>/resourceGroups/aro-rg", "location": "eastus", "name": "aro-rg", "properties": { "provisioningState": "Succeeded" }, "type": "Microsoft.Resources/resourceGroups" }建立虛擬網路。
執行 OpenShift 4 的 Azure Red Hat OpenShift 叢集需要具有兩個空白子網路的虛擬網路,分別用於主要節點和背景工作角色節點。 您可以為此叢集建立新的虛擬網路,或使用現有的虛擬網路。
在您稍早建立的相同資源群組中建立新的虛擬網路:
az network vnet create \ --resource-group $RESOURCEGROUP \ --name $VIRTUALNETWORK \ --address-prefixes 10.0.0.0/22下列範例輸出顯示已成功建立的虛擬網路:
{ "newVNet": { "addressSpace": { "addressPrefixes": [ "10.0.0.0/22" ] }, "dhcpOptions": { "dnsServers": [] }, "id": "/subscriptions/<guid>/resourceGroups/aro-rg/providers/Microsoft.Network/virtualNetworks/aro-vnet", "location": "eastus", "name": "aro-vnet", "provisioningState": "Succeeded", "resourceGroup": "aro-rg", "type": "Microsoft.Network/virtualNetworks" } }為主要節點新增空的子網。
az network vnet subnet create \ --resource-group $RESOURCEGROUP \ --vnet-name $VIRTUALNETWORK \ --name master-subnet \ --address-prefixes 10.0.0.0/23為工作節點新增空的子網。
az network vnet subnet create \ --resource-group $RESOURCEGROUP \ --vnet-name $VIRTUALNETWORK \ --name worker-subnet \ --address-prefixes 10.0.2.0/23
建立叢集
若要建立叢集,請執行下列命令。 如果您選擇使用下列其中一個選項,請據以修改命令:
- (選用) 您可以傳遞 Red Hat 提取祕密,讓您的叢集能夠存取 Red Hat 容器登錄與更多內容。 將
--pull-secret @pull-secret.txt引數新增至您的命令。 - (選擇性) 您可以使用自訂網域。 將
--domain foo.example.com引數新增至您的命令,並將foo.example.com取代為您自己的自訂網域。 - 預設的主要虛擬機器大小為
Standard D8s_v5。 如果您需要不同的虛擬機大小,請使用--master-vm-size參數。 例如:--master-vm-size Standard_D8s_v3。 - 預設工作虛擬機器大小為
Standard D4s_v5。 如果您需要不同的虛擬機大小,請使用--worker-vm-size參數。 例如:--worker-vm-size Standard_D4s_v3。 - 叢集是使用具有 安裝可用性的 OpenShift 容器平臺版本所建立。 若要確保您的叢集是以最新的可用安裝版本建立,請參閱 選取不同的版本。 在參數
--version中,將<x.y.z>替換為特定的版本,例如4.17.27。 - 如需建立叢集之命令的詳細資訊,請參閱 az aro create。
備註
建立時可定義的背景工作節點數目上限為 50。 建立叢集之後,您最多可以擴增到 250 個節點。
az aro create \
--resource-group $RESOURCEGROUP \
--name $CLUSTER \
--vnet $VIRTUALNETWORK \
--master-subnet master-subnet \
--worker-subnet worker-subnet \
--version <x.y.z>
執行 az aro create 命令之後,建立叢集大約需要 45 分鐘的時間。
大規模叢集
如果您需要部署具有 100 個以上背景工作節點的 Azure Red Hat OpenShift 叢集,請參閱部署大型 Azure Red Hat OpenShift 叢集。
選取不同的版本
使用下列命令來列出您要部署叢集之位置可用的版本。
az aro get-versions --location $LOCATION --output table
Version
---------
4.14.38
4.14.51
4.15.35
4.15.49
4.16.30
4.16.39
4.17.27
在決定要安裝的版本後,請在 az aro create 命令的 --version 參數中指定它。
先決條件
登入 Azure 入口網站。
註冊 Microsoft.RedHatOpenShift 資源提供者。 如需使用 Azure 入口網站註冊資源提供者的指示,請參閱註冊資源提供者。 您也應該確認 Microsoft.Compute、 Microsoft.Storage和 Microsoft.Authorization 已註冊。
Azure Red Hat OpenShift 至少需要 44 個核心才能建立 OpenShift 叢集。 新 Azure 訂用帳戶的預設 Azure 資源配額不符合此需求。 若要要求提高資源限制,請參閱提高 VM 系列 vCPU 配額。
44 個核心的使用方式如下:
- 啟動程式計算機:8 個核心
- 控制平面(主計算機):24 核心
- 計算(工作機器):12 個核心
安裝完成時,會移除啟動程序計算機,而您的叢集總共會使用36個核心。 如需詳細資訊,請參閱 在 Azure 上安裝。
在 Azure 入口網站中, 標準 DSv3 虛擬機大小是建立和執行 OpenShift 叢集的預設大小。
取得 Red Hat 提取祕密 (選擇性)
Red Hat 提取憑證使您的叢集能夠存取 Red Hat 容器註冊表,以及其他內容,例如來自OperatorHub的運營商。 提取密碼不會變更 Red Hat OpenShift 授權的成本。 此步驟是選擇性的,但建議使用。 例如,如果您打算使用 OpenShift Virtualization,請將拉取密鑰包含在叢集部署中,以便安裝像 OpenShift Virtualization 這樣的操作員。
如果您決定稍後新增提取密碼,請參閱 新增或更新提取密碼。 即使提取密碼包含該欄位,cloud.openshift.com 欄位也會從您的祕密中移除。 此欄位會啟用額外的監視功能,此功能會將資料傳送至 RedHat,因此預設為停用。 若要啟用此功能,請參閱 啟用遠端健康情況報告。
登入 Red Hat OpenShift 叢集管理員入口網站。
您必須登入您的 Red Hat 帳戶,或使用您的商務電子郵件建立新的 Red Hat 帳戶,並接受條款和條件。
選取 [下載提取密碼 ],然後下載提取密碼以搭配您的叢集使用。
- 將儲存的
pull-secret.txt檔案保持在其他安全位置。 如果您需要建立包含 Red Hat 或認證合作夥伴範例或作員的叢集,則會在每個叢集建立中使用此檔案。 - 執行
az aro create命令時,您可以使用--pull-secret @pull-secret.txt參數來參考您的提取祕密。 從您儲存az aro create檔案的目錄執行pull-secret.txt。 否則,請將@pull-secret.txt取代為@/path/to/my/pull-secret.txt。 - 針對 Azure 入口網站叢集部署,複製提取密碼,然後在 [ 驗證 ] 頁面上,將提取密碼貼到 [Red Hat 提取密碼 ] 文本框中。
- 如果您複製提取密碼或在其他腳本中參考它,您的提取密碼應格式化為有效的 JSON 字串。
- 將儲存的
建立 Azure Red Hat OpenShift 叢集
在 Azure 入口網站功能表上,或從 [首頁] 頁面上,選取左上方三個水平橫條圖底下的 [所有服務]。
搜尋並選取 [Azure Red Hat OpenShift 叢集]。
選取 ,創建。
在 [基本] 索引標籤上,設定下列選項:
-
專案詳細資料:
- 選取 Azure 訂用帳戶。
- 選取或建立 Azure 資源群組,例如 test-aro-rg。
-
執行個體詳細資料:
- 選取 Azure Red Hat OpenShift 叢集的 [區域]。
- 輸入 OpenShift 叢集名稱,例如
testcluster。 - 輸入 網域名稱,例如
testdomain。 - 選取 [主要 VM 大小] 和 [背景工作角色 VM 大小]。
- 選取 [背景工作節點計數 ] (要建立的背景工作節點數目)。
備註
網域名稱欄位會預先填入隨機字串。 您可以指定網域名稱,例如 example.com,或是字串/前置詞,例如 abc,作為 OpenShift 控制台和 API 伺服器自動產生的 DNS 名稱的一部分。 如果未指定資源組名稱,則此字首也會用作用來容納叢集的虛擬機器的資源組名稱的一部分。
-
專案詳細資料:
在 [驗證] 索引標籤上,完成下列各節。
在 [服務主體資訊] 底下,選取 [新建] 或 [現有]。 如果您選擇使用現有的服務主體,請輸入下列資訊:
-
服務主體用戶端識別碼 是您的
appId。 - 服務主體客戶端密碼 是服務主體的解密秘密值。
備註
如果您需要建立服務主體,請參閱使用 Azure Red Hat OpenShift 叢集建立及使用服務主體。
在 [ 提取密碼] 底下,輸入 Red Hat 提取密碼 (叢集的提取密碼解密值)。 如果您沒有提取祕密,請將此欄位保留空白。
-
服務主體用戶端識別碼 是您的
在 [網路] 索引標籤上,設定必要的選項。
備註
執行 OpenShift 4 的 Azure Red Hat OpenShift 叢集需要具有兩個空白子網路的虛擬網路:一個用於控制平面,一個用於背景工作角色節點。
在 [標記] 索引標籤上,新增標記來組織您的資源。
勾選 [檢閱 + 建立],然後在驗證完成時按一下 [建立]。
建立 Azure Red Hat OpenShift 叢集大約需要 45 分鐘的時間。 部署完成時,請瀏覽至您的資源,方法是:
- 選取 [移至資源。
- 流覽至 Azure Red Hat OpenShift 叢集資源群組,然後選取 Azure Red Hat OpenShift 資源。