準備在受限模式下部署
在受限模式下部署NetApp控制台之前,請準備好您的環境。您需要查看主機需求、準備網路、設定權限等。
步驟 1:了解限制模式的工作原理
在開始之前了解NetApp控制台在受限模式下的工作方式。
使用已安裝的NetApp控制台代理程式本機提供的基於瀏覽器的介面。您無法從透過 SaaS 層提供的基於 Web 的控制台存取NetApp控制台。
此外,並非所有控制台功能和NetApp資料服務都可使用。
第 2 步:查看安裝選項
在受限模式下,您只能在雲端安裝控制台代理程式。有以下安裝選項可用:
-
來自 AWS Marketplace
-
來自 Azure 市場
-
在 AWS、Azure 或 Google Cloud 中執行的 Linux 主機上手動安裝控制台代理
第 3 步:查看主機需求
主機必須滿足特定的作業系統、RAM 和連接埠要求才能執行控制台代理。
當您從 AWS 或 Azure 市場部署控制台代理程式時,映像包含所需的作業系統和軟體元件。您只需選擇符合 CPU 和 RAM 要求的執行個體類型。
- 專用主機
-
與其他應用程式共用的主機不支援控制台代理。該主機必須是專用主機。主機可以是滿足以下大小要求的任何架構:
-
CPU:8 核心或 8 個 vCPU
-
記憶體:32 GB
-
磁碟空間:建議主機預留165GB空間,分割區需求如下:
-
/opt
:必須有 120 GiB 可用空間代理使用 `/opt`安裝 `/opt/application/netapp`目錄及其內容。
-
/var
:必須有 40 GiB 可用空間控制台代理需要此空間 `/var`因為 Docker 或 Podman 的設計目的是在此目錄中建立容器。具體來說,他們將在 `/var/lib/containers/storage`目錄。外部安裝或符號連結不適用於此空間。
-
-
- 虛擬機器管理程序
-
需要經過認證可運行支援的作業系統的裸機或託管虛擬機器管理程式。
- 作業系統和容器要求
-
在標準模式或受限模式下使用控制台時,控制台代理程式支援下列作業系統。安裝代理之前需要一個容器編排工具。
作業系統 支援的作業系統版本 支援的代理版本 所需的容器工具 SELinux 紅帽企業 Linux
9.1 至 9.4
8.6 至 8.10
-
僅限英文版本。
-
主機必須在 Red Hat 訂閱管理中註冊。如果未註冊,主機將無法在代理安裝期間存取儲存庫來更新所需的第三方軟體。
3.9.50 或更高版本,控制台處於標準模式或受限模式
Podman 版本 4.6.1 或 4.9.4
在強制模式或寬容模式下受支持
-
作業系統上啟用了 SELinux 的代理程式不支援對Cloud Volumes ONTAP系統的管理。
Ubuntu
24.04 LTS
3.9.45 或更高版本, NetApp控制台處於標準模式或受限模式
Docker Engine 23.06 至 28.0.0。
不支援
-
- AWS EC2 執行個體類型
-
滿足上述 CPU 和 RAM 要求的執行個體類型。我們推薦 t3.2xlarge。
- Azure VM 大小
-
滿足上述 CPU 和 RAM 要求的執行個體類型。我們推薦 Standard_D8s_v3。
- Google Cloud 機器類型
-
滿足上述 CPU 和 RAM 要求的執行個體類型。我們推薦 n2-standard-8。
Google Cloud 虛擬機器實例上的控制台代理程式支援下列作業系統: "受防護的虛擬機器功能"
- /opt 中的磁碟空間
-
必須有 100 GiB 可用空間
代理使用 `/opt`安裝 `/opt/application/netapp`目錄及其內容。
- /var 中的磁碟空間
-
必須有 20 GiB 可用空間
控制台代理需要此空間 `/var`因為 Docker 或 Podman 的設計目的是在此目錄中建立容器。具體來說,他們將在 `/var/lib/containers/storage`目錄。外部安裝或符號連結不適用於此空間。
步驟 4:安裝 Podman 或 Docker Engine
若要手動安裝控制台代理,請透過安裝 Podman 或 Docker Engine 來準備主機。
根據您的作業系統,安裝代理程式之前需要 Podman 或 Docker Engine。
-
Red Hat Enterprise Linux 8 和 9 需要 Podman。
-
Ubuntu 需要 Docker 引擎。
請依照以下步驟安裝和設定 Podman:
-
啟用並啟動 podman.socket 服務
-
安裝python3
-
安裝 podman-compose 軟體套件版本 1.0.6
-
將 podman-compose 加入到 PATH 環境變量
-
如果使用 Red Hat Enterprise Linux 8,請驗證您的 Podman 版本使用的是 Aardvark DNS 而不是 CNI
|
安裝代理程式後調整 aardvark-dns 連接埠(預設值:53),以避免 DNS 連接埠衝突。按照說明配置連接埠。 |
-
如果主機上安裝了 podman-docker 套件,請將其刪除。
dnf remove podman-docker rm /var/run/docker.sock
-
安裝 Podman。
您可以從官方 Red Hat Enterprise Linux 儲存庫取得 Podman。
對於 Red Hat Enterprise Linux 9:
sudo dnf install podman-2:<version>
其中 <version> 是您正在安裝的 Podman 支援的版本。查看支援的 Podman 版本 。
對於 Red Hat Enterprise Linux 8:
sudo dnf install podman-3:<version>
其中 <version> 是您正在安裝的 Podman 支援的版本。查看支援的 Podman 版本 。
-
啟用並啟動 podman.socket 服務。
sudo systemctl enable --now podman.socket
-
安裝 python3。
sudo dnf install python3
-
如果您的系統上還沒有 EPEL 儲存庫包,請安裝它。
-
如果使用 Red Hat Enterprise:
此步驟是必要的,因為 podman-compose 可從 Extra Packages for Enterprise Linux (EPEL) 儲存庫中取得。
對於 Red Hat Enterprise Linux 9:
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
對於 Red Hat Enterprise Linux 8:
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
-
安裝 podman-compose 套件 1.0.6。
sudo dnf install podman-compose-1.0.6
使用 `dnf install`指令滿足將 podman-compose 新增至 PATH 環境變數的要求。安裝指令將 podman-compose 新增至 /usr/bin,它已經包含在 `secure_path`主機上的選項。 -
如果使用 Red Hat Enterprise Linux 8,請驗證您的 Podman 版本是否使用具有 Aardvark DNS 的 NetAvark 而不是 CNI。
-
透過執行以下命令檢查您的 networkBackend 是否設定為 CNI:
podman info | grep networkBackend
-
如果 networkBackend 設定為
CNI
,你需要將其更改為netavark
。 -
安裝 `netavark`和 `aardvark-dns`使用以下命令:
dnf install aardvark-dns netavark
-
打開 `/etc/containers/containers.conf`檔案並修改 network_backend 選項以使用“netavark”而不是“cni”。
如果
/etc/containers/containers.conf`不存在,請將配置變更為 `/usr/share/containers/containers.conf
。 -
-
重新啟動 podman。
systemctl restart podman
-
使用以下命令確認 networkBackend 現在已更改為“netavark”:
podman info | grep networkBackend
依照 Docker 的文件安裝 Docker Engine。
-
請依照步驟安裝支援的 Docker Engine 版本。請勿安裝最新版本,因為控制台不支援它。
-
驗證 Docker 是否已啟用並正在運行。
sudo systemctl enable docker && sudo systemctl start docker
步驟 5:準備網路訪問
設定網路訪問,以便控制台代理可以管理公有雲中的資源。除了為控制台代理提供虛擬網路和子網路之外,您還需要確保滿足以下要求。
- 連接到目標網絡
-
確保控制台代理程式與儲存位置有網路連線。例如,您計劃部署Cloud Volumes ONTAP 的VPC 或 VNet,或您的本機ONTAP叢集所在的資料中心。
- 準備網路以供使用者存取NetApp控制台
-
在受限模式下,使用者從控制台代理 VM 存取控制台。控制台代理聯繫幾個端點來完成資料管理任務。當從控制台完成特定操作時,將從使用者的電腦聯繫這些端點。
|
4.0.0 版本之前的控制台代理需要額外的端點。如果您升級到 4.0.0 或更高版本,則可以從允許清單中刪除舊端點。"了解有關 4.0.0 之前版本所需的網路存取的更多資訊。" |
+
端點 | 目的 |
---|---|
\ https://api.bluexp.netapp.com \ https://netapp-cloud-account.auth0.com \ https://netapp-cloud-account.us.auth0.com \ https://console.netapp.com \ https://components.console.bluexp.netapp.com \ https://cdn.auth0.com |
在NetApp控制台中提供功能和服務。 |
您的 Web 瀏覽器透過NetApp控制台連線到這些端點以進行集中式使用者驗證。 |
- 用於日常運營的出站互聯網訪問
-
控制台代理程式的網路位置必須具有出站網際網路存取權限。它需要能夠存取NetApp控制台的 SaaS 服務以及各自公有雲環境中的端點。
端點 目的 AWS 環境
AWS 服務(amazonaws.com):
-
雲形成
-
彈性運算雲(EC2)
-
身分和存取管理 (IAM)
-
金鑰管理服務(KMS)
-
安全性令牌服務 (STS)
-
簡單儲存服務(S3)
管理 AWS 資源。端點取決於您的 AWS 區域。 "有關詳細信息,請參閱 AWS 文檔"
Azure 環境
管理 Azure 公用區域中的資源。
管理 Azure 政府區域中的資源。
管理 Azure 中國區域的資源。
Google Cloud 環境
\ https://www.googleapis.com/compute/v1/ \ https://compute.googleapis.com/compute/v1 \ https://cloudresourcemanager.googleapis.com/v1/projects \ https://www.googleapis.com/compute/beta https://www.googleapis.com/storage/v1 https://storage.googleapis.com/storage/v1 https://iam.googleapis.com/v1 \ https://cloudkms.googleapis.com/v1 \ https://www.googleapis.com/deploymentmanager/v2/projects
管理 Google Cloud 中的資源。
-
NetApp控制台端點*
取得許可資訊並向NetApp支援發送AutoSupport訊息。
更新NetApp支援網站 (NSS) 憑證或將新的 NSS 憑證新增至NetApp控制台。
在NetApp控制台中提供功能和服務。
取得控制台代理升級的影像。
-
當您部署新代理程式時,驗證檢查會測試與目前端點的連線。如果你使用"先前的端點",驗證檢查失敗。為了避免此失敗,請跳過驗證檢查。
儘管先前的端點仍然受支持,但NetApp建議盡快將防火牆規則更新至目前端點。"了解如何更新終端節點列表" 。
-
當您更新到防火牆中的目前端點時,您現有的代理程式將繼續運作。
-
- Azure 中的公用 IP 位址
-
如果要在 Azure 中將公用 IP 位址與控制台代理程式 VM 一起使用,則該 IP 位址必須使用基本 SKU 以確保控制台使用此公用 IP 位址。
如果您使用標準 SKU IP 位址,則控制台將使用控制台代理程式的_私有_ IP 位址,而不是公用 IP。如果您用於存取控制台的機器無法存取該私人 IP 位址,則控制台中的操作將會失敗。
- 代理伺服器
-
NetApp支援顯式和透明代理配置。如果您使用透明代理,則只需要提供代理伺服器的憑證。如果您使用明確代理,您還需要 IP 位址和憑證。
-
IP 位址
-
證書
-
HTTPS 憑證
-
- 連接埠
-
除非您啟動它或將其用作代理將AutoSupport訊息從Cloud Volumes ONTAP發送到NetApp支持,否則控制台代理不會有傳入流量。
-
HTTP(80)和 HTTPS(443)提供對本機 UI 的訪問,您會在極少數情況下使用它們。
-
僅當需要連接到主機進行故障排除時才需要 SSH(22)。
-
如果您在沒有外部網路連線的子網路中部署Cloud Volumes ONTAP系統,則需要透過連接埠 3128 建立入站連線。
如果Cloud Volumes ONTAP系統沒有出站網路連線來傳送AutoSupport訊息,控制台會自動設定這些系統以使用控制台代理附帶的代理伺服器。唯一的要求是確保控制台代理的安全群組允許透過連接埠 3128 進行入站連線。部署控制台代理程式後,您需要開啟此連接埠。
-
- 啟用 NTP
-
如果您打算使用NetApp資料分類掃描公司資料來源,則應在控制台代理程式和NetApp資料分類系統上啟用網路時間協定 (NTP) 服務,以便系統之間的時間同步。 "了解有關NetApp資料分類的更多信息"
如果您打算從雲端提供者的市場建立控制台代理,請在建立控制台代理後實現此網路需求。
步驟 6:準備雲端權限
控制台代理程式需要雲端提供者的權限才能在虛擬網路中部署Cloud Volumes ONTAP並使用NetApp資料服務。您需要在雲端提供者中設定權限,然後將這些權限與控制台代理程式關聯。
若要查看所需的步驟,請選擇用於雲端提供者的身份驗證選項。
使用 IAM 角色為控制台代理提供權限。
如果您從 AWS Marketplace 建立控制台代理,則在啟動 EC2 執行個體時系統會提示您選擇該 IAM 角色。
如果您在自己的 Linux 主機上手動安裝控制台代理,請將角色附加到 EC2 執行個體。
-
登入 AWS 主控台並導覽至 IAM 服務。
-
建立策略:
-
選擇“策略”>“建立策略”。
-
選擇 JSON 並複製並貼上內容"控制台代理的 IAM 策略"。
-
完成剩餘步驟以建立策略。
-
-
建立 IAM 角色:
-
選擇*角色 > 建立角色*。
-
選擇 AWS 服務 > EC2。
-
透過附加剛剛建立的策略來新增權限。
-
完成剩餘步驟以建立角色。
-
您現在擁有控制台代理 EC2 執行個體的 IAM 角色。
為 IAM 使用者設定權限和存取金鑰。安裝控制台代理程式並設定控制台後,您需要向控制台提供 AWS 存取金鑰。
-
登入 AWS 主控台並導覽至 IAM 服務。
-
建立策略:
-
選擇“策略”>“建立策略”。
-
選擇 JSON 並複製並貼上內容"控制台代理的 IAM 策略"。
-
完成剩餘步驟以建立策略。
根據您計劃使用的NetApp資料服務,您可能需要建立第二個策略。
對於標準區域,權限分佈在兩個策略中。由於 AWS 中託管策略的最大字元大小限制,因此需要兩個策略。"了解有關控制台代理的 IAM 策略的更多信息" 。
-
-
將策略附加到 IAM 使用者。
-
確保使用者擁有存取金鑰,您可以在安裝控制台代理後將其新增至NetApp控制台。
建立具有所需權限的 Azure 自訂角色。您將把此角色指派給控制台代理 VM。
請注意,您可以使用 Azure 入口網站、Azure PowerShell、Azure CLI 或 REST API 建立 Azure 自訂角色。以下步驟展示如何使用 Azure CLI 建立角色。如果您希望使用其他方法,請參閱 "Azure 文件"
-
如果您打算在自己的主機上手動安裝軟體,請在 VM 上啟用系統指派的託管標識,以便您可以透過自訂角色提供所需的 Azure 權限。
-
複製"連接器的自訂角色權限"並將它們保存在 JSON 檔案中。
-
透過將 Azure 訂閱 ID 新增至可分配範圍來修改 JSON 檔案。
您應該為想要與NetApp控制台一起使用的每個 Azure 訂閱新增 ID。
例子
"AssignableScopes": [ "/subscriptions/d333af45-0d07-4154-943d-c25fbzzzzzzz", "/subscriptions/54b91999-b3e6-4599-908e-416e0zzzzzzz", "/subscriptions/398e471c-3b42-4ae7-9b59-ce5bbzzzzzzz"
-
使用 JSON 檔案在 Azure 中建立自訂角色。
以下步驟說明如何使用 Azure Cloud Shell 中的 Bash 建立角色。
-
開始 "Azure 雲端外殼"並選擇 Bash 環境。
-
上傳 JSON 檔案。
-
使用 Azure CLI 建立自訂角色:
az role definition create --role-definition Connector_Policy.json
-
在 Microsoft Entra ID 中建立並設定服務主體,並取得控制台所需的 Azure 憑證。安裝控制台代理程式後,您需要向控制台提供這些憑證。
-
確保您在 Azure 中擁有建立 Active Directory 應用程式並將該應用程式指派給角色的權限。
有關詳細信息,請參閱 "Microsoft Azure 文件:所需權限"
-
從 Azure 入口網站開啟 Microsoft Entra ID 服務。
-
在選單中,選擇*應用程式註冊*。
-
選擇*新註冊*。
-
指定有關應用程式的詳細資訊:
-
名稱:輸入應用程式的名稱。
-
帳戶類型:選擇帳戶類型(任何類型都可以與NetApp控制台一起使用)。
-
重定向 URI:您可以將此欄位留空。
-
-
選擇*註冊*。
您已建立 AD 應用程式和服務主體。
-
建立自訂角色:
請注意,您可以使用 Azure 入口網站、Azure PowerShell、Azure CLI 或 REST API 建立 Azure 自訂角色。以下步驟展示如何使用 Azure CLI 建立角色。如果您希望使用其他方法,請參閱 "Azure 文件"
-
複製"控制台代理程式的自訂角色權限"並將它們保存在 JSON 檔案中。
-
透過將 Azure 訂閱 ID 新增至可分配範圍來修改 JSON 檔案。
您應該為使用者將從中建立Cloud Volumes ONTAP系統的每個 Azure 訂閱新增 ID。
例子
"AssignableScopes": [ "/subscriptions/d333af45-0d07-4154-943d-c25fbzzzzzzz", "/subscriptions/54b91999-b3e6-4599-908e-416e0zzzzzzz", "/subscriptions/398e471c-3b42-4ae7-9b59-ce5bbzzzzzzz"
-
使用 JSON 檔案在 Azure 中建立自訂角色。
以下步驟說明如何使用 Azure Cloud Shell 中的 Bash 建立角色。
-
開始 "Azure 雲端外殼"並選擇 Bash 環境。
-
上傳 JSON 檔案。
-
使用 Azure CLI 建立自訂角色:
az role definition create --role-definition Connector_Policy.json
現在您應該有一個名為「控制台操作員」的自訂角色,可以將其指派給控制台代理虛擬機器。
-
-
-
將應用程式指派給角色:
-
從 Azure 入口網站開啟 Subscriptions 服務。
-
選擇訂閱。
-
選擇“存取控制 (IAM)”>“新增”>“新增角色分配”。
-
在*角色*標籤中,選擇*控制台操作員*角色並選擇*下一步*。
-
在「成員」標籤中,完成以下步驟:
-
保持選取「使用者、群組或服務主體」。
-
選擇*選擇成員*。
-
搜尋應用程式的名稱。
以下是一個例子:
-
選擇應用程式並選擇*選擇*。
-
選擇“下一步”。
-
-
選擇*審閱+分配*。
服務主體現在具有部署控制台代理程式所需的 Azure 權限。
如果您想要從多個 Azure 訂閱部署Cloud Volumes ONTAP ,則必須將服務主體綁定到每個訂閱。在NetApp控制台中,您可以選擇部署Cloud Volumes ONTAP時要使用的訂閱。
-
-
在*Microsoft Entra ID*服務中,選擇*App Registrations*並選擇應用程式。
-
選擇*API 權限 > 新增權限*。
-
在「Microsoft API」下,選擇「Azure 服務管理」。
-
選擇*以組織使用者身分存取 Azure 服務管理*,然後選擇*新增權限*。
-
在*Microsoft Entra ID*服務中,選擇*App Registrations*並選擇應用程式。
-
複製*應用程式(客戶端)ID*和*目錄(租用戶)ID*。
將 Azure 帳戶新增至控制台時,您需要提供應用程式(用戶端)ID 和應用程式的目錄(租用戶)ID。控制台使用 ID 以程式設計方式登入。
-
開啟*Microsoft Entra ID*服務。
-
選擇*應用程式註冊*並選擇您的應用程式。
-
選擇*憑證和機密>新客戶端機密*。
-
提供秘密的描述和持續時間。
-
選擇“新增”。
-
複製客戶端機密的值。
您的服務主體現已設定完畢,您應該已經複製了應用程式(客戶端)ID、目錄(租用戶)ID 和用戶端機密的值。新增 Azure 帳戶時,您需要在控制台中輸入此資訊。
建立角色並將其套用至您將用於控制台代理 VM 執行個體的服務帳戶。
-
在 Google Cloud 中建立自訂角色:
-
建立一個 YAML 文件,其中包含在"Google Cloud 的控制台代理政策"。
-
從 Google Cloud 啟動雲殼。
-
上傳包含控制台代理程式所需權限的 YAML 檔案。
-
使用建立自訂角色 `gcloud iam roles create`命令。
以下範例在專案層級建立一個名為「connector」的角色:
gcloud iam roles create connector --project=myproject --file=connector.yaml
-
-
在 Google Cloud 中建立服務帳號:
-
從 IAM 和管理服務中,選擇 服務帳戶 > 建立服務帳戶。
-
輸入服務帳戶詳細資料並選擇*建立並繼續*。
-
選擇您剛剛建立的角色。
-
完成剩餘步驟以建立角色。
-
現在您擁有一個可以指派給控制台代理 VM 實例的服務帳戶。
步驟 7:啟用 Google Cloud API
在 Google Cloud 中部署Cloud Volumes ONTAP需要多個 API。
-
-
雲端部署管理器 V2 API
-
雲端日誌 API
-
雲端資源管理器 API
-
計算引擎 API
-
身分識別和存取管理 (IAM) API
-
雲端金鑰管理服務 (KMS) API
(僅當您打算將NetApp Backup and Recovery 與客戶管理加密金鑰 (CMEK) 結合使用時才需要)
-