在 Google Cloud 中手動安裝控制台代理
步驟 1:查看主機需求
控制台代理軟體必須在滿足特定作業系統要求、RAM 要求、連接埠要求等的主機上執行。
|
控制台代理保留 19000 到 19200 的 UID 和 GID 範圍。這個範圍是固定的,不能修改。如果主機上的任何第三方軟體使用此範圍內的 UID 或 GID,則代理安裝將會失敗。 NetApp建議使用沒有第三方軟體的主機以避免衝突。 |
- 專用主機
-
與其他應用程式共用的主機不支援控制台代理。該主機必須是專用主機。主機可以是滿足以下大小要求的任何架構:
-
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。
不支援
-
- 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`目錄。外部安裝或符號連結不適用於此空間。
步驟 2:安裝 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
步驟 3:設定網絡
設定您的網絡,以便控制台代理可以管理混合雲環境中的資源和流程。例如,您需要確保可以連接到目標網路並且可以進行外部網路存取。
- 連接到目標網絡
-
控制台代理程式需要與您計劃建立和管理系統的位置建立網路連線。例如,您計劃在本機環境中建立Cloud Volumes ONTAP系統或儲存系統的網路。
- 出站互聯網訪問
-
部署控制台代理程式的網路位置必須具有出站網路連線才能聯絡特定端點。
- 使用基於 Web 的NetApp控制台時從電腦聯繫的端點
-
從 Web 瀏覽器存取控制台的電腦必須能夠聯絡多個端點。您需要使用控制台來設定控制台代理並進行控制台的日常使用。
- 從控制台代理聯繫的端點
-
控制台代理需要外部網路存取來聯繫以下端點,以管理公有雲環境中的資源和流程以進行日常操作。
下面列出的端點都是 CNAME 條目。
端點 目的 \ 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支援發送AutoSupport訊息。
更新NetApp支援網站 (NSS) 憑證或將新的 NSS 憑證新增至NetApp控制台。
在NetApp控制台中提供功能和服務。
取得控制台代理升級的影像。
-
當您部署新代理程式時,驗證檢查會測試與目前端點的連線。如果你使用"先前的端點",驗證檢查失敗。為了避免此失敗,請跳過驗證檢查。
儘管先前的端點仍然受支持,但NetApp建議盡快將防火牆規則更新至目前端點。"了解如何更新終端節點列表" 。
-
當您更新到防火牆中的目前端點時,您現有的代理程式將繼續運作。
-
- 代理伺服器
-
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資料分類的更多信息"
步驟 4:設定控制台代理的權限
需要一個 Google Cloud 服務帳號來向控制台代理提供控制台管理 Google Cloud 中的資源所需的權限。建立控制台代理程式時,您需要將此服務帳戶與控制台代理 VM 關聯。
在後續版本中新增權限時,您有責任更新自訂角色。如果需要新的權限,它們將在發行說明中列出。
-
在 Google Cloud 中建立自訂角色:
-
建立一個包含以下內容的 YAML 文件"控制台代理程式的服務帳戶權限"。
-
從 Google Cloud 啟動雲殼。
-
上傳包含所需權限的 YAML 檔案。
-
使用建立自訂角色 `gcloud iam roles create`命令。
以下範例在專案層級建立一個名為「connector」的角色:
gcloud iam roles create connector --project=myproject --file=connector.yaml
-
-
在 Google Cloud 中建立服務帳號並將角色指派給該服務帳號:
-
從 IAM 和管理服務中,選擇 服務帳戶 > 建立服務帳戶。
-
輸入服務帳戶詳細資料並選擇*建立並繼續*。
-
選擇您剛剛建立的角色。
-
完成剩餘步驟以建立角色。
-
-
如果您打算在與控制台代理程式所在專案不同的專案中部署Cloud Volumes ONTAP系統,則需要為控制台代理程式的服務帳戶提供這些項目的存取權限。
例如,假設控制台代理程式位於專案 1 中,而您想要在專案 2 中建立Cloud Volumes ONTAP系統。您需要授予項目 2 中的服務帳戶存取權限。
-
從 IAM 和管理服務中,選擇您想要建立Cloud Volumes ONTAP系統的 Google Cloud 專案。
-
在 IAM 頁面上,選擇 授予存取權限 並提供所需的詳細資訊。
-
輸入控制台代理服務帳戶的電子郵件。
-
選擇控制台代理程式的自訂角色。
-
選擇*儲存*。
-
有關詳細信息,請參閱 "Google Cloud 文件"
-
步驟 5:設定共享 VPC 權限
如果您使用共用 VPC 將資源部署到服務項目中,則需要準備好您的權限。
此表僅供參考,當 IAM 配置完成時,您的環境應該反映權限表。
查看共用 VPC 權限
身分 | 創造者 | 主辦地點 | 服務項目權限 | 宿主專案權限 | 目的 |
---|---|---|---|---|---|
Google 帳戶部署代理 |
風俗 |
服務項目 |
計算.網路用戶 |
在服務項目中部署代理 |
|
代理服務帳戶 |
風俗 |
服務項目 |
計算.網路使用者部署管理員.編輯器 |
部署和維護服務項目中的Cloud Volumes ONTAP和服務 |
|
Cloud Volumes ONTAP服務帳戶 |
風俗 |
服務項目 |
storage.admin 成員: NetApp Console 服務帳號為 serviceAccount.user |
不適用 |
(選購)適用於NetApp Cloud Tiering 和NetApp Backup and Recovery |
Google API 服務代理 |
Google雲 |
服務項目 |
(預設)編輯器 |
計算.網路用戶 |
代表部署與 Google Cloud API 互動。允許控制台使用共用網路。 |
Google Compute Engine 預設服務帳戶 |
Google雲 |
服務項目 |
(預設)編輯器 |
計算.網路用戶 |
代表部署部署 Google Cloud 執行個體和運算基礎架構。允許控制台使用共用網路。 |
筆記:
-
如果您沒有將防火牆規則傳遞給部署並選擇讓控制台為您建立規則,則僅主機專案才需要 deploymentmanager.editor。如果未指定規則, NetApp控制台將在主機專案中建立包含 VPC0 防火牆規則的部署。
-
只有當您未將防火牆規則傳遞給部署並選擇讓控制台為您建立它們時,才需要firewall.create 和firewall.delete。這些權限位於控制台帳戶 .yaml 檔案中。如果您使用共用 VPC 部署 HA 對,這些權限將用於為 VPC1、2 和 3 建立防火牆規則。對於所有其他部署,這些權限也將用於為 VPC0 建立規則。
-
對於 Cloud Tiering,分層服務帳戶必須在服務帳戶上具有 serviceAccount.user 角色,而不僅僅是在專案層級。目前,如果您在專案層級指派 serviceAccount.user,則使用 getIAMPolicy 查詢服務帳號時不會顯示權限。
第 6 步:啟用 Google Cloud API
在 Google Cloud 中部署Cloud Volumes ONTAP系統之前,必須啟用多個 Google Cloud API。
-
在您的專案中啟用以下 Google Cloud API:
-
雲端部署管理器 V2 API
-
雲端日誌 API
-
雲端資源管理器 API
-
計算引擎 API
-
身分識別和存取管理 (IAM) API
-
雲端金鑰管理服務 (KMS) API
(僅當您打算將NetApp Backup and Recovery 與客戶管理加密金鑰 (CMEK) 結合使用時才需要)
-
步驟 7:安裝控制台代理
前提條件完成後,您可以在自己的 Linux 主機上手動安裝軟體。
您應該具有以下內容:
-
安裝控制台代理程式的 root 權限。
-
如果控制台代理需要代理才能存取互聯網,則提供有關代理伺服器的詳細資訊。
您可以選擇在安裝後設定代理伺服器,但這樣做需要重新啟動控制台代理。
-
如果代理伺服器使用 HTTPS 或代理是攔截代理,則需要 CA 簽署的憑證。
|
手動安裝控制台代理程式時,無法為透明代理伺服器設定憑證。如果需要為透明代理伺服器設定證書,則必須在安裝後使用維護控制台。詳細了解"代理維護控制台"。 |
NetApp支援網站上提供的安裝程式可能是早期版本。安裝後,如果有新版本可用,控制台代理會自動更新。
-
如果主機上設定了 http_proxy 或 https_proxy 系統變量,請將其刪除:
unset http_proxy unset https_proxy
如果不刪除這些系統變量,安裝將會失敗。
-
從下載控制台代理軟體 "NetApp支援站點",然後將其複製到Linux主機上。
您應該下載適用於您的網路或雲端中的「線上」代理安裝程式。
-
分配運行腳本的權限。
chmod +x NetApp_Console_Agent_Cloud_<version>
其中 <version> 是您下載的控制台代理的版本。
-
如果在政府雲端環境中安裝,請停用設定檢查。"了解如何停用手動安裝的設定檢查。"
-
運行安裝腳本。
./NetApp_Console_Agent_Cloud_<version> --proxy <HTTP or HTTPS proxy server> --cacert <path and file name of a CA-signed certificate>
如果您的網路需要代理來存取互聯網,則需要新增代理資訊。您可以新增透明或顯式代理程式。 --proxy 和 --cacert 參數是可選的,系統不會提示您新增它們。如果您有代理伺服器,則需要輸入所示的參數。
以下是使用 CA 簽章憑證設定明確代理伺服器的範例:
./NetApp_Console_Agent_Cloud_v4.0.0--proxy https://user:password@10.0.0.30:8080/ --cacert /tmp/cacert/certificate.cer
`--proxy`使用下列格式之一將控制台代理程式配置為使用 HTTP 或 HTTPS 代理伺服器:
-
http://位址:埠
-
http://用戶名:密碼@地址:端口
-
http://網域%92用戶名:密碼@位址:端口
-
https://位址:埠
-
https://使用者名稱:密碼@位址:端口
-
https://網域%92用戶名:密碼@地址:端口
請注意以下事項:
-
使用者可以是本機使用者或網域使用者。
-
對於網域用戶,您必須使用 \ 的 ASCII 代碼,如上所示。
-
控制台代理不支援包含 @ 字元的使用者名稱或密碼。
-
如果密碼包含以下任何特殊字符,則必須在該特殊字符前面加上反斜杠來轉義該特殊字符:& 或 !
例如:
-
http://bxpproxyuser:netapp1\!@網址:3128
-
`--cacert`指定用於控制台代理程式和代理伺服器之間的 HTTPS 存取的 CA 簽章憑證。 HTTPS代理伺服器、攔截代理伺服器、透明代理伺服器都需要此參數。
+ 下面是設定透明代理伺服器的範例。配置透明代理時,不需要定義代理伺服器。您只需將 CA 簽署的憑證新增至控制台代理主機:
+
./NetApp_Console_Agent_Cloud_v4.0.0 --cacert /tmp/cacert/certificate.cer
-
如果您使用 Podman,則需要調整 aardvark-dns 連接埠。
-
透過 SSH 連接到控制台代理虛擬機器。
-
開啟 podman /usr/share/containers/containers.conf 檔案並修改 Aardvark DNS 服務的選定連接埠。例如,將其更改為54。
vi /usr/share/containers/containers.conf ... # Port to use for dns forwarding daemon with netavark in rootful bridge # mode and dns enabled. # Using an alternate port might be useful if other DNS services should # run on the machine. # dns_bind_port = 54 ... Esc:wq
-
重新啟動控制台代理虛擬機器。
-
-
等待安裝完成。
安裝結束時,如果您指定了代理伺服器,控制台代理服務 (occm) 將重新啟動兩次。
|
如果安裝失敗,您可以查看安裝報告和日誌來協助您解決問題。"了解如何解決安裝問題。" |
-
從連接到控制台代理虛擬機器的主機開啟 Web 瀏覽器並輸入以下 URL:
-
登入後,設定控制台代理:
-
指定與控制台代理程式關聯的組織。
-
輸入系統的名稱。
-
在*您是否在安全環境中運作? *下保持限制模式為停用。
您應該保持限制模式處於停用狀態,因為這些步驟描述如何在標準模式下使用控制台。只有當您擁有安全的環境並希望中斷此帳戶與後端服務的連線時,才應啟用受限模式。如果真是這樣的話,"依照步驟在受限模式下開始使用NetApp控制台" 。
-
選擇*讓我們開始吧*。
如果安裝失敗,您可以查看日誌和報告來幫助您排除故障。"了解如何解決安裝問題。" -
如果您在建立控制台代理程式的相同 Google Cloud 帳戶中擁有 Google Cloud Storage 儲存桶,您將看到 Google Cloud Storage 系統自動出現在 Systems 頁面上。 "了解如何透過NetApp控制台管理 Google Cloud Storage"
步驟 8:向控制台代理提供權限
您需要向控制台代理提供您先前設定的 Google Cloud 權限。提供權限可使控制台代理程式管理 Google Cloud 中的資料和儲存基礎架構。
-
前往 Google Cloud 入口網站並將服務帳戶指派給控制台代理程式 VM 執行個體。
-
如果您想管理其他 Google Cloud 專案中的資源,請透過將具有控制台代理角色的服務帳號新增至該專案來授予存取權限。您需要對每個項目重複此步驟。