第 3 章 安装 Ansible 开发工具
红帽提供了两个安装 Ansible 开发工具的选项。
- 在 VS Code 中运行的 RHEL 容器上安装。您可以在 MacOS、Windows 和 Linux 系统上安装这个选项。
- 使用 RPM (Red Hat Package Manager)软件包在本地 RHEL 系统中安装。
3.1. 要求
要安装和使用 Ansible 开发工具,您必须满足以下要求。此流程中指明了对 Windows 安装和容器化安装的额外要求。
- Python 3.10 或更高版本。
- 添加 Ansible 扩展的 VS Code (Visual Studio Code)。请参阅 安装 VS Code。
- 对于容器化安装,Micorsoft Dev Containers VS Code 扩展。请参阅 安装和配置 Dev Containers 扩展。
容器化平台,如 Podman、Podman 桌面、Docker 或 Docker 桌面。
注意Windows 上 Ansible 开发工具的安装过程仅涵盖 Podman 桌面的使用。请参阅在 Windows 机器上安装 Podman Desktop。
-
您有一个红帽帐户,您可以在
registry.redhat.io
中登录到红帽容器 registry。有关登录到registry.redhat.io
的详情,请参考使用红帽容器 registry 身份验证。
3.1.1. Windows 上 Ansible 开发工具的要求
如果要在 Windows 上的 VS Code 中安装 Ansible 开发工具,则需要额外的要求:
- Windows 子系统 for Linux (WSL2)
- podman Desktop
3.1.1.1. 安装 WSL
安装不带发行版的 WSL2:
$ `wsl --install --no-distribution`
通过为 WSL2 禁用
cgroupsv1
来使用cgroupsv2
:编辑
%USERPROFILE%/wsl.conf
文件并添加以下行来强制cgroupv2
使用:[wsl2] kernelCommandLine = cgroup_no_v1="all"
3.1.1.2. 在 Windows 机器上安装 Podman Desktop
安装 Podman 桌面。按照 Podman 桌面文档中的在 Windows 上安装 Podman 桌面和 Podman 的说明。
您不需要更改设置向导中的默认设置。
确保 podman 机器使用
cgroupsv2
:$ podman info | findstr cgroup
测试 Podman 桌面:
$ podman run hello
3.1.1.3. 为 Podman 桌面配置设置
使用以下内容添加
%USERPROFILE%\bin\docker.bat
文件:@echo off podman %*
这可避免根据 VS Code
Dev
容器扩展所需的 Docker 安装。将
%USERPROFILE%\bin
目录添加到PATH
中。- 选择 Settings 并搜索 "Edit 环境变量 for your account" 以显示所有用户环境变量。
- 突出显示顶部用户变量框中的"路径",单击 并添加路径。
- 点 设置您打开的任何新控制台的路径。
3.1.2. 使用红帽容器 registry 进行身份验证
红帽容器目录提供的所有容器镜像都托管在镜像 registry 上,即 registry.redhat.io
。registry 需要进行身份验证才能访问镜像。
要使用 registry.redhat.io
registry,您必须有一个红帽登录。这与您用来登录到红帽客户门户网站(access.redhat.com)并管理您的红帽订阅的帐户相同。
如果您计划在 VS Code 中的容器上安装 Ansible 开发工具,则必须在启动 VS Code 前登录 registry.redhat.io
,以便 VS Code 可以从 registry.redhat.io
拉取 devtools
容器。
如果您在 VS Code 中的容器中运行 Ansible 开发工具,并且希望拉取执行环境或 devcontainer
以用作执行环境,则必须从 devcontainer
中从 VS Code 中的终端提示符登录。
您可以将 podman login
或 docker login
命令与凭证一起使用,以访问 registry 中的内容。
- Podman
$ podman login registry.redhat.io Username: my__redhat_username Password: ***********
- Docker
$ docker login registry.redhat.io Username: my__redhat_username Password: ***********
有关红帽容器 registry 身份验证的更多信息,请参阅红帽客户门户网站中的 Red Hat Container Registry Authentication。
3.1.3. 安装 VS Code
- 要安装 VS Code,请遵循 Visual Studio Code 文档中的 Download Visual Studio Code 页面上 的说明。
3.1.4. 安装 VS Code Ansible 扩展
Ansible 扩展添加了对 Ansible 的语言支持到 VS Code。它整合了 Ansible 开发工具,以协助创建和运行自动化内容。
有关 Ansible 扩展的完整描述,请参阅 Visual Studio Code Marketplace。
请参阅 学习路径 - Ansible VS Code 扩展入门,以了解使用扩展名 的教程。
安装 Ansible VS Code 扩展:
- 打开 VS Code.
-
点活动栏中的 Extensions (
)图标,或者点击
来显示 Extensions 视图。 -
在 Extensions 视图中的搜索字段中,键入
Ansible Red Hat
。 - 选择 Ansible 扩展,然后单击 。
当文件语言被识别为 Ansible 时,Ansible 扩展提供了自动完成、悬停、诊断和 goto 等功能。为文件标识的语言显示在 VS Code 窗口底部的 Status 栏中。
为以下文件分配 Ansible 语言:
-
/playbooks
目录中的 YAML 文件 -
双重扩展名的文件:
.ansible.yml
或.ansible.yaml
-
Ansible 识别的某些 YAML 名称,如
site.yml
或site.yaml
-
文件名包含 "playbook":
playbook .yml
或playbook .yaml
的 YAML 文件
如果扩展没有标识您的 playbook 文件的语言,请按照 将 Ansible 语言关联到 YAML 文件 的步骤进行操作。
3.1.5. 配置 Ansible 扩展设置
Ansible 扩展支持多个配置选项。
您可以在用户级别、工作区级别或特定目录配置扩展设置。基于用户的设置会全局应用,适用于打开的 VS Code 实例。工作区设置存储在您的工作区中,只有在当前工作区被打开时才适用。
出于以下原因,为您的工作区配置设置非常有用:
- 如果您定义和维护特定于 playbook 项目的配置,您可以为单个项目自定义 Ansible 开发环境,而无需为其他工作更改您首选的设置。您可以为 Python 项目、Ansible 项目和 C++ 项目有不同的设置,每个项目都针对相应的堆栈进行了优化,而无需在每次切换项目时手动重新配置设置。
- 如果您在为要与团队共享的项目设置版本控制时包括工作区设置,则每个人都对该项目使用相同的配置。
流程
打开 Ansible 扩展设置:
- 点活动栏中的"扩展"图标。
选择 Ansible 扩展,然后单击"gear"图标,然后选择 Extension Settings 以显示扩展设置。
或者,点
打开 Settings 页面。 -
在搜索栏中输入
Ansible
,以显示扩展的设置。
- 选择 Workspace 选项卡来配置当前 VS Code 工作区的设置。
Ansible 扩展设置已预先填充。修改设置以符合您的要求:
-
选中
框以启用 ansible-lint。 -
选中
Ansible Execution Environment: Enabled
框,以使用执行环境。 - 在 Ansible > Execution Environment: image 字段中指定您要使用的执行环境镜像。
- 要使用 Red Hat Ansible Lightspeed,请选中 Ansible > Lightspeed: Enabled 框,并输入 Lightspeed 的 URL。
-
选中
设置记录在 VisualStudio marketplace 文档中的 红帽页面的 Ansible VS Code 扩展 上。
3.1.6. 将 Ansible 语言与 YAML 文件关联
只有与文件关联的语言设置为 Ansible 时,Ansible VS Code 扩展才起作用。扩展提供有助于创建 Ansible playbook 的功能,如自动完成、悬停和诊断。
Ansible VS Code 扩展会自动将 Ansible 语言与某些文件关联。以下流程描述了如何为不识别为 Ansible 文件的文件设置语言。
手动将 Ansible 语言与 YAML 文件关联
以下流程描述了如何手动将 Ansible 语言分配给在 VS Code 中打开的 YAML 文件。
- 在 VS Code 中打开或创建 YAML 文件。
- 将光标悬停在 VS Code 窗口底部的状态栏中标识的语言上,以打开 Select Language Mode 列表。
从列表中选择 Ansible。
文件 VS Code 窗口底部的状态栏中显示的语言已更改为 Ansible。
将 Ansible 语言的永久文件关联添加到 settings.json
或者,您可以在 settings.json
文件中添加 Ansible 语言的文件关联。
打开
settings.json
文件:-
单击
openmpi 以打开命令面板。 -
在搜索框中输入
Workspace 设置
,然后选择 Open Workspace Settings (JSON)。
-
单击
将以下代码添加到
settings.json
。{ ... "files.associations": { "*plays.yml": "ansible", "*init.yml": "yaml", } }
3.1.7. 安装和配置 Dev Containers
扩展
如果要安装容器化版本的 Ansible 开发工具,则必须在 VS Code 中安装 Microsoft Dev Containers 扩展。
- 打开 VS Code.
-
点活动栏中的 Extensions (
)图标,或者点击
来显示 Extensions 视图。 -
在 Extensions 视图中的 search 字段中,键入
Dev Containers
。 - 从 Microsoft 选择 Dev Containers 扩展,再单击 。
如果您使用 Podman 或 Podman Desktop 作为容器化平台,您必须修改 Dev Containers
扩展中的默认设置。
在
Dev Containers
扩展设置中将 docker 替换为 podman :- 在 VS Code 中,打开设置编辑器。
搜索
@ext:ms-vscode-remote.remote-containers
。或者,单击活动栏中的 Extensions 图标,再单击
Dev Containers
扩展的齿轮图标。
-
将
Dev > Containers:Docker Path
设置为podman
。 -
将
Dev > Containers:Docker Compose Path
设置为podman-compose
。