要设置并验证 Automation Config 实例,请在 Salt 主节点上安装 Salt 和主节点插件,在 Cloud Services 控制台中生成 API 令牌,然后将 Salt 主节点连接到 Automation Config。您可以连接内部部署或云中的 Salt 主节点。
必备条件
- 确认您在 VMware Cloud Services 中具有以下角色:
- 组织角色:组织所有者或组织管理员
- 服务角色:Salt 主节点
- 将您的默认组织设置为有权访问 Automation Config 服务的组织。
设置概览
设置 Automation Config 包括以下任务。
- 在 Salt 主节点和要使用 Automation Config 管理的节点上安装 Salt。有关详细信息,请参见步骤 1:安装 Salt。
- 在必须与 Automation Config 通信的 Salt 主节点上安装或升级主节点插件。有关详细信息,请参见步骤 2:安装并配置主节点插件。
- 生成 API 令牌以便 Salt 主节点能够连接到 Automation Config。有关详细信息,请参见步骤 3:生成 API 令牌。
- 将 Salt 主节点连接到 Automation Config。有关详细信息,请参见步骤 4:将 Salt 主节点连接到 Automation Config。
- 接受 Automation Config 用户界面中的 Salt 主节点密钥。有关详细信息,请参见步骤 5:接受 Salt 主节点密钥。
步骤 1:安装 Salt
必须在 Salt 主节点上安装 Salt 主节点服务和 Salt 工作节点服务,然后才能使用 Automation Config。
以下说明在 RHEL 8 上安装最新的 Salt 版本。有关在其他操作系统上安装 Salt 的信息,请参见 Salt 安装指南。
- 如果要在脱机或安全环境中安装 Salt,则必须配置网络代理以允许安装 Salt 所需的以下 URL。
- https://repo.saltproject.io
- https://pypi.org
- https://python.org
- 在 Salt 主节点的终端中,运行以下命令以安装 Salt Project 存储库和密钥:
sudo rpm --import https://repo.saltproject.io/py3/redhat/8/x86_64/latest/SALTSTACK-GPG-KEY.pub curl -fsSL https://repo.saltproject.io/salt/py3/redhat/8/x86_64/latest.repo | sudo tee /etc/yum.repos.d/salt.repo
- 运行
sudo yum clean expire-cache
。 - 在 Salt 主节点上安装 Salt 工作节点服务和 Salt 主节点服务:
sudo yum install salt-master sudo yum install salt-minion
- 在
master.conf
目录中创建/etc/salt/minion.d
文件。touch master.conf
- 在
master.conf
文件中,将 Salt 主节点的 IP 地址设置为指向自身:master: localhost
- 启动 Salt 主节点服务和 Salt 工作节点服务:
sudo systemctl enable salt-master && sudo systemctl start salt-master sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- 如果使用网络代理,请对网络设置相应地设置
HTTP_PROXY
和HTTPS_PROXY
变量。- 如果使用
systemd
管理 Salt 主节点服务,请将HTTP_PROXY
和HTTPS_PROXY
环境变量添加到salt-master.service
文件。 - 运行
systemctl daemon-reload
。 - 运行
systemctl restart salt-master
以重新启动 Salt 主节点服务。
- 如果使用
步骤 2:安装并配置主节点插件
在基础架构上安装 Salt 后,必须安装和配置主节点插件,以便 Salt 主节点能够与 Automation Config 进行通信。
如果已有 Salt 主节点,请先将主节点插件升级到最新的可用版本,然后再将 Salt 主节点连接到 Automation Config。有关详细信息,请参见使用“主节点插件”工作区。
要安装和配置主节点插件,请执行以下操作:
- 登录到 Salt 主节点。
- 从主节点插件工作区下载主节点插件的最新版本。主节点插件版本通常由四个数字组成,例如 8.12.1.2。
重要说明:
主节点插件的版本必须与 Automation Config 版本的前三个数字匹配。例如,如果 Automation Config 版本为 8.12.1,则主节点插件版本必须为 8.12.1.0 或更高版本。可以在主节点插件工作区中找到 Automation Config 的版本。
- 通过手动安装 Python 驱动安装主节点插件。使用以下示例命令,并替换为 wheel 文件的确切名称:
salt-call --local pip.install /path/to/SSEAPE-file-name.whl
对于非气隙环境,运行此命令时,如果依赖项尚不存在,则会自动安装这些依赖项。对于气隙环境,请参阅知识库文章在气隙系统上安装 Salt 主节点插件。
- 生成主配置设置。
- 验证
/etc/salt/master.d
目录是否存在,或创建该目录。 - 运行以下命令以生成主配置文件。
sudo sseapi-config --all > /etc/salt/master.d/raas.conf
如果运行此命令导致错误,请参见对 Automation Config 进行故障排除。
- 验证
- 重新启动 Salt 主节点服务。
sudo systemctl restart salt-master
步骤 3:生成 API 令牌
在将 Salt 主节点连接到 Automation Config 之前,必须使用 Cloud Services 控制台生成 API 令牌。此令牌用于通过 VMware Cloud Services 对 Salt 主节点进行身份验证。
如果您未分配有组织管理员角色,请联系组织所有者。
要生成 API 令牌,请执行以下操作:
- 在 Cloud Services 控制台上,单击您的用户名,然后选择 。
- 单击生成令牌。
- 填写表单。
- 输入令牌的名称。
- 选择令牌的生存时间 (TTL)。默认持续时间为六个月。
注: 如果遭到入侵,不会过期的令牌可能会带来安全风险。如果发生这种情况,必须撤销令牌。
- 定义令牌的范围。
范围 说明 组织角色 组织角色决定了用户对组织资源的访问权限。 要访问 Automation Config 服务,您必须选择组织管理员或组织所有者角色。
服务角色 服务角色是内置的预定义权限集,可授予 VMware Cloud Services 的访问权限。 要访问 Automation Config 服务,请搜索 VMware Aria Automation 服务。
单击 Config 服务旁边的下拉箭头,然后选择 Salt 主节点服务角色。
- (可选)设置电子邮件首选项,以便在令牌即将过期时接收提醒。
- 单击生成。
新生成的 API 令牌将显示在生成的令牌窗口中。
- 将令牌凭据保存到安全位置。
生成令牌后,您将只能在 API 令牌页面上看到令牌的名称,而看不到凭据。要重新生成令牌,请单击重新生成。
步骤 4:将 Salt 主节点连接到 Automation Config
生成 API 令牌后,您可以使用它将 Salt 主节点连接到 Automation Config。
连接 Salt 主节点:
- 在 Salt 主节点的终端中,将 API 令牌保存为环境变量。
export CSP_API_TOKEN=<api token value>
- 运行
sseapi-config join
命令,将 Salt 主节点连接到 Automation Config。- 如果您是首次将 Salt 主节点连接到 Automation Config,请运行以下命令,并将
ssc-url
和csp-url
值替换为特定于区域的 URL。sseapi-config join --ssc-url <SSC URL> --csp-url <CSP URL>
- 如果要使用
sudo
,请运行以下命令:sudo CSP_API_TOKEN=<api token value> sseapi-config join --ssc-url <SSC URL> --csp-url <CSP URL>
- 如果需要重做联接过程,请重新运行
sseapi-config join
命令,并传递标志--override-oauth-app
。sseapi-config join --ssc-url <SSC URL> --csp-url <CSP URL> --override-oauth-app
--override-oauth-app
标志会删除用于获取访问令牌的 OAuth 应用程序并重新创建。
表 1. Automation Config 的区域 URL 区域 Automation Config URL Cloud Services URL US https://ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com 德国 https://de.ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com 印度 https://in.ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com 加拿大 https://ca.ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com 澳大利亚 https://au.ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com UK https://uk.ssc-mgmt.cloud.vmware.com https://console.cloud.vmware.com 以下代码示例展示了 US 区域的成功响应示例。2022-08-16 21:28:26 [INFO] SSEAPE joining SSC Cloud... v8.9.1.1 2022-08-16T15:28:12 2022-08-16 21:28:26 [INFO] Retrieving CSP auth token. 2022-08-16 21:28:27 [INFO] Creating new oauth app. 2022-08-16 21:28:27 [INFO] Finished with oauth app [Salt Master App for master id:my-salt-master] in org [6bh70973-b1g2-716c-6i21-i9974a6gdc85]. 2022-08-16 21:28:29 [INFO] Added service role [saltstack:master] for oauth app [Salt Master App for master id:my-salt-master]. 2022-08-16 21:28:29 [INFO] Created pillar [CSP_AUTH_TOKEN]. 2022-08-16 21:28:29 [INFO] Updated master config. Please restart master for config changes to take effect. 2022-08-16 21:28:29 [INFO] Updated master cloud.conf. 2022-08-16 21:28:29 [INFO] Validating connectivity to SaltStack Cloud instance [https://ssc-gateway.mgmt.cloud.vmware.com] 2022-08-16 21:28:29 [INFO] Successfully validated connectivity to SaltStack Cloud instance [https://ssc-gateway.mgmt.cloud.vmware.com]. Response: {'version': 'v8.9.0.5', 'vipVersion': '8.9.0'} 2022-08-16 21:28:29 [INFO] Finished SSEAPE joining SSC Cloud... v8.9.1.1 2022-08-16T15:28:12
如果运行此命令导致错误,请参见对 Automation Config 进行故障排除。
- 如果您是首次将 Salt 主节点连接到 Automation Config,请运行以下命令,并将
- 重新启动 Salt 主节点服务。
systemctl restart salt-master
- 针对每个 Salt 主节点重复此过程。
注: 将每个 Salt 主节点连接到 Automation Config 后,可以删除 API 令牌。仅在将 Salt 主节点连接到 Automation Config 时才需要 API 令牌。
运行 sseapi-config
命令后,将在组织中为每个 Salt 主节点创建一个 OAuth 应用程序。Salt 主节点使用 OAuth 应用程序获取访问令牌,该令牌附加到 Automation Config 的每个请求。您可以通过选择 来查看 OAuth 应用程序的详细信息。
该命令还会在 Salt 主节点上创建名为 CSP_AUTH_TOKEN
的 Pillar 数据。Pillar 是在 Salt 主节点上存储数据的结构,并传递到已获得授权能够访问这些数据的一个或多个工作节点。Pillar 数据存储在 /srv/pillar/csp.sls
中,并且包含客户端 ID、密钥、您的组织 ID 和 CSP URL。如果需要轮换密钥,可以重新运行 sseapi-config join
命令。
示例 Pillar 数据:
CSP_AUTH_TOKEN: csp_client_id: kH8wIvNxMJEGGmk7uCx4MBfPswEw7PpLaDh csp_client_secret: ebH9iuXnZqUOkuWKwfHXPjyYc5Umpa00mI9Wx3dpEMlrUWNy95 csp_org_id: 6bh70973-b1g2-716c-6i21-i9974a6gdc85 csp_url: https://console.cloud.vmware.com
步骤 5:接受 Salt 主节点密钥
将 Salt 主节点连接到 Automation Config 后,必须在 Automation Config 用户界面中接受 Salt 主节点的密钥。
您必须在 Automation Config 中具有超级用户角色才能接受 Salt 主节点的密钥。有关详细信息,请参见如何定义用户角色。
要接受 Salt 主节点密钥,请执行以下操作:
- 登录到 Automation Config 用户界面。
- 从左上方的导航栏中,单击菜单 ,然后选择管理以访问管理工作区。单击主节点密钥选项卡。
如果看不到主节点密钥,请参见对 Automation Config 进行故障排除。
注: 通过检查密钥指纹,可以验证挂起的主密钥是否来自正确的 Salt 主节点。在 Salt 主节点上,运行sseapi-config auth
以查看密钥指纹,然后验证其是否与您在 主节点密钥选项卡中看到的指纹相同。 - 选中主节点密钥旁边的框以将其选中。然后,单击接受密钥。
- 如果已将 Salt 工作节点连接到 Salt 主节点,则会显示一条警示,指示您具有待接受的工作节点密钥。要接受这些工作节点密钥,请转到
- 选中工作节点旁边的框以将其选中。然后,单击接受密钥。
现已接受密钥。几秒钟之后工作节点将显示在已接受选项卡下以及目标工作区中。
。
可以在 Automation Config 界面中运行 test.ping 命令,验证 Salt 主节点和 Salt 工作节点是否正在通信。有关详细信息,请参见从“目标”工作区运行临时作业。
要在不同的节点上添加更多 Salt 工作节点,请按照此过程的步骤 1 操作,省略任何命令以安装或启用 salt-master
,然后编辑 master.conf
以指向 Salt 主节点的主机名或 IP。有关详细信息,请参见配置 Salt 工作节点。
如果 Salt 主节点和 Salt 工作节点未进行通信,请参见对 Automation Config 进行故障排除。