Skip to main content
NetApp Console setup and administration
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

準備以私有模式部署

貢獻者 netapp-tonias

在部署 NetApp Console 為私有模式之前,請先準備您的環境。您需要檢查主機需求、準備網路、設定權限等。

註 若要在 NetApp Console 中於 "AWS Secret Cloud""AWS Top Secret Cloud" 使用,請依照這些環境的特定指示操作。 "了解如何在 AWS Secret Cloud 或 Top Secret Cloud 中開始使用 Cloud Volumes ONTAP"

步驟 1:了解私有模式的運作方式

在私有模式下,您可以在本機或雲端安裝 Console 代理程式,然後使用 NetApp Console 管理您的儲存系統(ONTAP 本機部署和 Cloud Volumes ONTAP)。由於無法連接到 NetApp Console API 端點或 NetApp Console SaaS 應用程式,因此您只能透過 Console 代理程式提供的本機 UI 存取 Console。

第 2 步:查看安裝選項

在私有模式下,您可以透過在自己的 Linux 主機上手動安裝代理程式,將 Console 代理程式安裝在內部部署或雲端。

您安裝 Console 代理程式的位置決定了在使用私有模式時可用的 NetApp Console 服務和功能。如果您想要部署和管理 Cloud Volumes ONTAP,則必須在雲端中安裝 Console 代理程式。

第 3 步:查看主機需求

主機必須滿足特定的作業系統需求、RAM 需求、連接埠需求等,才能執行 Console 代理程式。

專用主機

控制台代理需要專用主機。只要滿足以下尺寸要求,任何架構都受支援:

  • CPU:8 核心或 8 個 vCPU

  • 記憶體:32 GB

  • 磁碟空間:建議主機預留165GB空間,分割區需求如下:

    • /opt:必須有 120 GiB 可用空間

      代理使用 `/opt`安裝 `/opt/application/netapp`目錄及其內容。

    • /var:必須有 40 GiB 可用空間

      控制台代理需要此空間 `/var`因為 Podman 或 Docker 的設計初衷就是在這個目錄下建立容器。具體來說,他們將在以下位置建立容器: `/var/lib/containers/storage`目錄和 `/var/lib/docker`用於 Docker。外部安裝或符號連結不適用於此空間。

作業系統和容器要求

在私人模式下使用控制台時,下列作業系統支援控制台代理程式。安裝代理之前需要一個容器編排工具。

作業系統 支援的作業系統版本 支援的代理版本 所需的容器工具 SELinux

紅帽企業 Linux

9.1 至 9.4

8.6 至 8.10

3.9.42 或更高版本,控制台處於私人模式

Podman 版本 4.6.1 或 4.9.4

在強制模式或寬容模式下受支持

Ubuntu

22.04 LTS

3.9.29 或更高版本

Docker Engine 23.0.6 至 26.0.0

26.0.0 支援 new agent 3.9.44 或更高版本的安裝

不支援

筆記:

  1. 這些作業系統的英文版本支援控制台代理。

  2. 對於 RHEL,主機必須在 Red Hat 訂閱管理中註冊。如果未註冊,主機將無法在代理安裝期間存取儲存庫來更新所需的第三方軟體。

虛擬機器管理程序

需要經過認證可運行支援的作業系統的裸機或託管虛擬機器管理程式。

中央處理器

8 個核心或 8 個 vCPU

記憶體

32GB

AWS EC2 執行個體類型

滿足 CPU 和 RAM 要求的實例類型。 NetApp推薦使用 t3.2xlarge。

Azure VM 大小

滿足 CPU 和 RAM 要求的實例類型。 NetApp推薦 Standard_D8s_v3。

Google Cloud 機器類型

滿足 CPU 和 RAM 要求的實例類型。NetApp推薦 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 來為 Console 代理程式準備主機。

根據您的作業系統,安裝代理程式之前需要 Podman 或 Docker Engine。

範例 1. 步驟
Podman

請依照以下步驟安裝和設定 Podman:

  • 啟用並啟動 podman.socket 服務

  • 安裝python3

  • 安裝 podman-compose 套件版本 1.0.6

  • 將 podman-compose 加入到 PATH 環境變量

  • 如果使用 Red Hat Enterprise Linux,請驗證您的 Podman 版本使用的是 Netavark Aardvark DNS 而不是 CNI

註 安裝代理程式後調整 aardvark-dns 連接埠(預設值:53),以避免 DNS 連接埠衝突。按照說明配置連接埠。
步驟
  1. 如果主機上安裝了 podman-docker 套件,請將其刪除。

    dnf remove podman-docker
    rm /var/run/docker.sock
  2. 安裝 Podman。

    您可以從官方 Red Hat Enterprise Linux 儲存庫取得 Podman。

    1. 對於 Red Hat Enterprise Linux 9.6:

      sudo dnf install podman-5:<version>

      其中 <version> 是您正在安裝的 Podman 支援的版本。查看支援的 Podman 版本

    2. 適用於 Red Hat Enterprise Linux 9.1 至 9.4:

      sudo dnf install podman-4:<version>

      其中 <version> 是您正在安裝的 Podman 支援的版本。查看支援的 Podman 版本

    3. 對於 Red Hat Enterprise Linux 8:

      sudo dnf install podman-4:<version>

      其中 <version> 是您正在安裝的 Podman 支援的版本。查看支援的 Podman 版本

  3. 啟用並啟動 podman.socket 服務。

    sudo systemctl enable --now podman.socket
  4. 安裝 python3。

    sudo dnf install python3
  5. 如果您的系統上還沒有 EPEL 儲存庫包,請安裝它。

    此步驟是必要的,因為 podman-compose 可從 Extra Packages for Enterprise Linux (EPEL) 儲存庫中取得。

  6. 如果使用 Red Hat Enterprise 9:

    1. 安裝EPEL存儲庫軟體包。

    sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm

    +

    1. 安裝 podman-compose 套件 1.5.0。

      sudo dnf install podman-compose-1.5.0
  7. 如果使用的是 Red Hat Enterprise Linux 8:

    1. 安裝EPEL存儲庫軟體包。

      sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
    2. 安裝 podman-compose 套件 1.0.6。

      sudo dnf install podman-compose-1.0.6
      註 使用 `dnf install`指令滿足將 podman-compose 新增至 PATH 環境變數的要求。安裝指令將 podman-compose 新增至 /usr/bin,它已經包含在 `secure_path`主機上的選項。
    3. 如果使用 Red Hat Enterprise Linux 8,請驗證您的 Podman 版本是否使用具有 Aardvark DNS 的 NetAvark 而不是 CNI。

      1. 透過執行以下命令檢查您的 networkBackend 是否設定為 CNI:

        podman info | grep networkBackend
      2. 如果 networkBackend 設定為 CNI,你需要將其更改為 netavark

      3. 安裝 `netavark`和 `aardvark-dns`使用以下命令:

        dnf install aardvark-dns netavark
      4. 打開 `/etc/containers/containers.conf`檔案並修改 network_backend 選項以使用“netavark”而不是“cni”。

        如果 /etc/containers/containers.conf`不存在,請將配置變更為 `/usr/share/containers/containers.conf

      5. 重新啟動 podman。

        systemctl restart podman
      6. 使用以下命令確認 networkBackend 現在已更改為“netavark”:

        podman info | grep networkBackend
Docker 引擎

依照 Docker 的文件安裝 Docker Engine。

步驟
  1. "查看 Docker 的安裝說明"

    請依照步驟安裝支援的 Docker Engine 版本。請勿安裝最新版本,因為控制台不支援它。

  2. 驗證 Docker 是否已啟用並正在運行。

    sudo systemctl enable docker && sudo systemctl start docker

步驟 5:準備網路

為 Console 代理程式配置網路,使其能夠管理公有雲中的資源。除了為 Console 代理程式配置虛擬網路和子網路之外,還要確保滿足以下要求。

連接到目標網絡

Console 代理必須與您計劃管理儲存的位置建立網路連線。例如,您計劃部署 Cloud Volumes ONTAP 的 VPC 或 VNet,或您的內部部署 ONTAP 叢集所在的資料中心。

日常營運的端點

如果您打算建立 Cloud Volumes ONTAP 系統,則 Console 代理程式需要連接到雲端提供者的公共可用資源中的端點。

端點 目的

AWS 服務(amazonaws.com):

  • 雲形成

  • 彈性運算雲(EC2)

  • 身分和存取管理 (IAM)

  • 金鑰管理服務(KMS)

  • 安全性令牌服務 (STS)

  • 簡單儲存服務(S3)

管理 AWS 資源。端點取決於您的 AWS 區域。 "有關詳細信息,請參閱 AWS 文檔"

Amazon FsX for NetApp ONTAP:

  • api.workloads.netapp.com

基於 Web 的控制台透過與 Workload Factory API 互動來管理和操作基於ONTAP 的FSx 工作負載。

管理 Azure 公用區域中的資源。

https://management.azure.microsoft.scloud https://login.microsoftonline.microsoft.scloud https://blob.core.microsoft.scloud https://core.microsoft.scloud

管理 Azure IL6 區域中的資源。

管理 Azure 中國區域的資源。

管理 Google Cloud 中的資源。

Azure 中的公用 IP 位址

如果要在 Azure 中將公用 IP 位址與控制台代理程式 VM 一起使用,則該 IP 位址必須使用基本 SKU 以確保控制台使用此公用 IP 位址。

Azure 中建立新 IP 位址的螢幕截圖,可讓您在 SKU 欄位下選擇「基本」。

如果您使用標準 SKU IP 位址,則控制台將使用控制台代理程式的_私有_ IP 位址,而不是公用 IP。如果您用於存取控制台的機器無法存取該私人 IP 位址,則控制台中的操作將會失敗。

代理伺服器

NetApp支援顯式和透明代理配置。如果您使用透明代理,則只需要提供代理伺服器的憑證。如果您使用明確代理,您還需要 IP 位址和憑證。

  • IP 位址

  • 證書

  • HTTPS 憑證

    在私有模式下,NetApp Console 只會向您的雲端供應商發送出站流量,以便建立 Cloud Volumes ONTAP 系統。

連接埠

除非您主動發起,否則 Console 代理不會接收任何傳入流量。

HTTP (80) 和 HTTPS (443) 提供對 NetApp Console 的存取。如果需要連接到主機進行故障排除,則需要使用 SSH (22)。

啟用 NTP

如果您打算使用NetApp Data Classification來掃描公司資料來源,則應在控制台代理程式和NetApp Data Classification系統上啟用網路時間協定 (NTP) 服務,以便系統之間的時間同步。 "了解有關NetApp資料分類的更多信息"

步驟 6:準備雲端權限

如果 Console 代理程式安裝在雲端,且您打算建立 Cloud Volumes ONTAP 系統,NetApp Console 需要雲端提供者的權限。您需要在雲端提供者設定權限,然後在安裝 Console 代理程式後將這些權限與該代理程式實例關聯起來。

若要檢視所需步驟,請選取您要用於雲端供應商的驗證選項。

AWS IAM 角色

使用 IAM 角色為 Console 代理程式授予權限。您需要手動將該角色附加到 Console 代理程式所在的 EC2 執行個體。

步驟
  1. 登入 AWS 主控台並導覽至 IAM 服務。

  2. 建立策略:

    1. 選擇“策略”>“建立策略”。

    2. 選擇 JSON 並複製並貼上內容"控制台代理的 IAM 策略"

    3. 完成剩餘步驟以建立策略。

  3. 建立 IAM 角色:

    1. 選擇*角色 > 建立角色*。

    2. 選擇 AWS 服務 > EC2

    3. 透過附加剛剛建立的策略來新增權限。

    4. 完成剩餘步驟以建立角色。

結果

您現在擁有控制台代理 EC2 執行個體的 IAM 角色。

AWS 存取金鑰

為 IAM 使用者設定權限和存取金鑰。安裝 Console 代理程式並設定 NetApp Console 後,請將 AWS 存取金鑰提供給 NetApp Console。

步驟
  1. 登入 AWS 主控台並導覽至 IAM 服務。

  2. 建立策略:

    1. 選擇“策略”>“建立策略”。

    2. 選擇 JSON 並複製並貼上內容"控制台代理的 IAM 策略"

    3. 完成剩餘步驟以建立策略。

      根據您計劃使用的 NetApp Console 服務,您可能需要建立第二個原則。

    對於標準區域,權限分佈在兩個策略中。由於 AWS 中託管策略的最大字元大小限制,因此需要兩個策略。"了解有關控制台代理的 IAM 策略的更多信息"

  3. 將策略附加到 IAM 使用者。

  4. 確保使用者擁有存取金鑰,您可以在安裝控制台代理後將其新增至NetApp Console。

結果

該帳戶現已擁有所需的權限。

Azure 角色

建立具有所需權限的 Azure 自訂角色。將此角色指派給 Console 代理虛擬機器。

請注意,您可以使用 Azure 入口網站、Azure PowerShell、Azure CLI 或 REST API 建立 Azure 自訂角色。以下步驟展示如何使用 Azure CLI 建立角色。如果您希望使用其他方法,請參閱 "Azure 文件"

步驟
  1. 在計劃安裝 Console 代理的虛擬機器上啟用系統指派的託管標識,以便可以透過自訂角色提供所需的 Azure 權限。

  2. 複製"控制台代理程式的自訂角色權限"並將它們保存在 JSON 檔案中。

  3. 透過將 Azure 訂閱 ID 新增至可分配範圍來修改 JSON 檔案。

    您應該為想要與NetApp Console一起使用的每個 Azure 訂閱新增 ID。

    例子

    "AssignableScopes": [
    "/subscriptions/d333af45-0d07-4154-943d-c25fbzzzzzzz",
    "/subscriptions/54b91999-b3e6-4599-908e-416e0zzzzzzz",
    "/subscriptions/398e471c-3b42-4ae7-9b59-ce5bbzzzzzzz"
    ]
  4. 使用 JSON 檔案在 Azure 中建立自訂角色。

    以下步驟說明如何使用 Azure Cloud Shell 中的 Bash 建立角色。

    1. 開始 "Azure 雲端外殼"並選擇 Bash 環境。

    2. 上傳 JSON 檔案。

      Azure Cloud Shell 的螢幕截圖,您可以在其中選擇上傳檔案的選項。

    3. 使用 Azure CLI 建立自訂角色:

      az role definition create --role-definition agent_Policy.json
Azure 服務主體

在 Microsoft Entra ID 中建立並設定服務主體,並取得 NetApp Console 所需的 Azure 憑證。安裝 Console 代理程式並設定 NetApp Console 後,您需要將這些憑證提供給 NetApp Console。

建立用於基於角色的存取控制的 Microsoft Entra 應用程式
  1. 確保您在 Azure 中擁有建立 Active Directory 應用程式並將該應用程式指派給角色的權限。

    有關詳細信息,請參閱 "Microsoft Azure 文件:所需權限"

  2. 從 Azure 入口網站開啟 Microsoft Entra ID 服務。

    顯示 Microsoft Azure 中的 Active Directory 服務。

  3. 在選單中,選擇*應用程式註冊*。

  4. 選擇*新註冊*。

  5. 指定有關應用程式的詳細資訊:

    • 名稱:輸入應用程式的名稱。

    • 帳戶類型:選擇帳戶類型(任何類型都可以與NetApp Console一起使用)。

    • 重定向 URI:您可以將此欄位留空。

  6. 選擇*註冊*。

    您已建立 AD 應用程式和服務主體。

將應用程式指派給角色
  1. 建立自訂角色:

    請注意,您可以使用 Azure 入口網站、Azure PowerShell、Azure CLI 或 REST API 建立 Azure 自訂角色。以下步驟展示如何使用 Azure CLI 建立角色。如果您希望使用其他方法,請參閱 "Azure 文件"

    1. 複製"控制台代理程式的自訂角色權限"並將它們保存在 JSON 檔案中。

    2. 透過將 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"
      ]
    3. 使用 JSON 檔案在 Azure 中建立自訂角色。

      以下步驟說明如何使用 Azure Cloud Shell 中的 Bash 建立角色。

      • 開始 "Azure 雲端外殼"並選擇 Bash 環境。

      • 上傳 JSON 檔案。

        Azure Cloud Shell 的螢幕截圖,您可以在其中選擇上傳檔案的選項。

      • 使用 Azure CLI 建立自訂角色:

        az role definition create --role-definition agent_Policy.json

        現在您應該有一個名為「控制台操作員」的自訂角色,可以將其指派給控制台代理虛擬機器。

  2. 將應用程式指派給角色:

    1. 從 Azure 入口網站開啟 Subscriptions 服務。

    2. 選擇訂閱。

    3. 選擇“存取控制 (IAM)”>“新增”>“新增角色分配”。

    4. 在*角色*標籤中,選擇*控制台操作員*角色並選擇*下一步*。

    5. 在「成員」標籤中,完成以下步驟:

      • 保持選取「使用者、群組或服務主體」。

      • 選擇*選擇成員*。

        在應用程式新增角色時顯示「成員」頁面的 Azure 入口網站螢幕截圖。

      • 搜尋應用程式的名稱。

        以下是一個例子:

      Azure 入口網站的螢幕截圖,顯示了 Azure 入口網站中的「新增角色指派」表單。

      • 選擇應用程式並選擇*選擇*。

      • 選擇“下一步”。

    6. 選擇*審閱+分配*。

      服務主體現在具有部署控制台代理程式所需的 Azure 權限。

    如果您想要從多個 Azure 訂閱部署Cloud Volumes ONTAP ,則必須將服務主體綁定到每個訂閱。在NetApp Console中,您可以選擇部署Cloud Volumes ONTAP時要使用的訂閱。

新增 Windows Azure 服務管理 API 權限
  1. 在*Microsoft Entra ID*服務中,選擇*App Registrations*並選擇應用程式。

  2. 選擇*API 權限 > 新增權限*。

  3. 在「Microsoft API」下,選擇「Azure 服務管理」。

    Azure 入口網站的螢幕截圖,顯示了 Azure 服務管理 API 權限。

  4. 選擇*以組織使用者身分存取 Azure 服務管理*,然後選擇*新增權限*。

    Azure 入口網站的螢幕截圖,顯示新增 Azure 服務管理 API。

取得應用程式的應用程式ID和目錄ID
  1. 在*Microsoft Entra ID*服務中,選擇*App Registrations*並選擇應用程式。

  2. 複製*應用程式(客戶端)ID*和*目錄(租用戶)ID*。

    螢幕截圖顯示了 Microsoft Entra IDy 中應用程式的應用程式(客戶端)ID 和目錄(租用戶)ID。

    將 Azure 帳戶新增至控制台時,您需要提供應用程式(用戶端)ID 和應用程式的目錄(租用戶)ID。控制台使用 ID 以程式設計方式登入。

建立客戶端機密
  1. 開啟*Microsoft Entra ID*服務。

  2. 選擇*應用程式註冊*並選擇您的應用程式。

  3. 選擇*憑證和機密>新客戶端機密*。

  4. 提供秘密的描述和持續時間。

  5. 選擇“新增”。

  6. 複製客戶端機密的值。

    Azure 入口網站的螢幕截圖,顯示了 Microsoft Entra 服務主體的用戶端機密。

結果

您的服務主體現在已設定完成,您應該已經複製了應用程式(client)ID、目錄(tenant)ID,以及 client secret 的值。在您新增 Azure 憑證時,請在 NetApp Console 輸入這些資訊。

Google Cloud 服務帳號

建立角色並將其套用至您將用於控制台代理 VM 執行個體的服務帳戶。

步驟
  1. 在 Google Cloud 中建立自訂角色:

    1. 建立一個 YAML 文件,其中包含在"Google Cloud 的控制台代理政策"

    2. 從 Google Cloud 啟動雲殼。

    3. 上傳包含控制台代理程式所需權限的 YAML 檔案。

    4. 使用建立自訂角色 `gcloud iam roles create`命令。

      以下範例在專案層級建立一個名為「agent」的角色:

    gcloud iam roles create agent --project=myproject --file=agent.yaml
  2. 在 Google Cloud 中建立服務帳號:

    1. 從 IAM 和管理服務中,選擇 服務帳戶 > 建立服務帳戶

    2. 輸入服務帳戶詳細資料並選擇*建立並繼續*。

    3. 選擇您剛剛建立的角色。

    4. 完成剩餘步驟以建立角色。

步驟 7:啟用 Google Cloud API

若要在 Google Cloud 中部署 Cloud Volumes ONTAP,您需要啟用多個 API。

  1. "在您的專案中啟用以下 Google Cloud API"

    • Cloud Build API (使用 Infrastructure Manager 進行私有模式 Cloud Volumes ONTAP 部署所需)

    • 雲端部署管理器 V2 API

    • 雲端基礎架構管理器 API

    • 雲端日誌 API

    • 雲端資源管理器 API

    • 計算引擎 API

    • 身分識別和存取管理 (IAM) API

    • Cloud Key Management Service (KMS) API(僅當您打算使用 NetApp Backup and Recovery 搭配客戶管理的加密金鑰(CMEK)時才需要)

    • Cloud Quotas API(使用 Infrastructure Manager 部署 Cloud Volumes ONTAP 時需要)