在 AWS 中手动安装控制台代理
步骤 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 Red Hat Enterprise 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。
- 密钥对
-
创建控制台代理时,您需要选择一个 EC2 密钥对来与实例一起使用。
- 使用 IMDSv2 时的 PUT 响应跳数限制
-
如果在 EC2 实例上启用了 IMDSv2(这是新 EC2 实例的默认设置),则必须将实例上的 PUT 响应跳数限制更改为 3。如果您不更改 EC2 实例的限制,则在尝试设置代理时会收到 UI 初始化错误。
- /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 条目。
端点 目的 AWS 服务(amazonaws.com):
-
云形成
-
弹性计算云(EC2)
-
身份和访问管理 (IAM)
-
密钥管理服务(KMS)
-
安全令牌服务 (STS)
-
简单存储服务(S3)
管理 AWS 资源。端点取决于您的 AWS 区域。 "有关详细信息,请参阅 AWS 文档"
获取许可信息并向NetApp支持发送AutoSupport消息。
获取许可信息并向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:设置控制台的 AWS 权限
您需要使用以下选项之一向NetApp控制台提供 AWS 权限:
-
选项 1:创建 IAM 策略并将策略附加到可与 EC2 实例关联的 IAM 角色。
-
选项 2:向控制台提供具有所需权限的 IAM 用户的 AWS 访问密钥。
按照步骤准备控制台的权限。
-
登录 AWS 控制台并导航到 IAM 服务。
-
创建策略:
-
选择“策略”>“创建策略”。
-
选择 JSON 并复制并粘贴内容"控制台代理的 IAM 策略"。
-
完成剩余步骤以创建策略。
根据您计划使用的NetApp数据服务,您可能需要创建第二个策略。对于标准区域,权限分布在两个策略中。由于 AWS 中托管策略的最大字符大小限制,因此需要两个策略。"了解有关控制台代理的 IAM 策略的更多信息" 。
-
-
创建 IAM 角色:
-
选择*角色 > 创建角色*。
-
选择 AWS 服务 > EC2。
-
通过附加刚刚创建的策略来添加权限。
-
完成剩余步骤以创建角色。
-
安装控制台代理后,您现在拥有一个可以与 EC2 实例关联的 IAM 角色。
-
登录 AWS 控制台并导航到 IAM 服务。
-
创建策略:
-
选择“策略”>“创建策略”。
-
选择 JSON 并复制并粘贴内容"控制台代理的 IAM 策略"。
-
完成剩余步骤以创建策略。
根据您计划使用的NetApp数据服务,您可能需要创建第二个策略。
对于标准区域,权限分布在两个策略中。由于 AWS 中托管策略的最大字符大小限制,因此需要两个策略。"了解有关控制台代理的 IAM 策略的更多信息" 。
-
-
将策略附加到 IAM 用户。
-
确保用户拥有访问密钥,您可以在安装控制台代理后将其添加到NetApp控制台。
现在,您拥有一个具有所需权限的 IAM 用户和一个可以提供给控制台的访问密钥。
步骤 5:安装控制台代理
前提条件完成后,您可以在自己的 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控制台" 。
-
选择*让我们开始吧*。
-
如果您在创建控制台代理的同一 AWS 账户中拥有 Amazon S3 存储桶,您将看到 Amazon S3 存储系统自动出现在 系统 页面上。 "了解如何通过NetApp ConsoleP 管理 S3 存储桶"
步骤 6:提供对NetApp控制台的权限
现在您已经安装了控制台代理,您需要为控制台提供您之前设置的 AWS 权限。提供权限使控制台代理能够管理 AWS 中的数据和存储基础设施。
将您之前创建的 IAM 角色附加到控制台代理 EC2 实例。
-
转到 Amazon EC2 控制台。
-
选择*实例*。
-
选择控制台代理实例。
-
选择*操作 > 安全 > 修改 IAM 角色*。
-
选择 IAM 角色并选择 更新 IAM 角色。
前往 "NetApp控制台"开始使用控制台代理。
向控制台提供具有所需权限的 IAM 用户的 AWS 访问密钥。
-
确保当前在控制台中选择了正确的控制台代理。
-
选择“管理 > 凭证”。
-
选择*组织凭证*。
-
选择“添加凭据”并按照向导中的步骤操作。
-
凭证位置:选择*Amazon Web Services > 代理。
-
定义凭证:输入 AWS 访问密钥和密钥。
-
市场订阅:通过立即订阅或选择现有订阅将市场订阅与这些凭证关联。
-
审核:确认有关新凭证的详细信息并选择*添加*。
-
前往 "NetApp控制台"开始使用控制台代理。