第 3 章 安装 Ansible 开发工具


红帽提供了两个安装 Ansible 开发工具的选项。

  • 在 VS Code 中运行的 RHEL 容器上安装。您可以在 MacOS、Windows 和 Linux 系统上安装这个选项。
  • 使用 RPM (Red Hat Package Manager)软件包在本地 RHEL 系统中安装。

3.1. 要求

要安装和使用 Ansible 开发工具,您必须满足以下要求。此流程中指明了对 Windows 安装和容器化安装的额外要求。

3.1.1. Windows 上 Ansible 开发工具的要求

如果要在 Windows 上的 VS Code 中安装 Ansible 开发工具,则需要额外的要求:

  • Windows 子系统 for Linux (WSL2)
  • podman Desktop

3.1.1.1. 安装 WSL

  1. 安装不带发行版的 WSL2:

    $ `wsl --install --no-distribution`
  2. 通过为 WSL2 禁用 cgroupsv1 来使用 cgroupsv2

    编辑 %USERPROFILE%/wsl.conf 文件并添加以下行来强制 cgroupv2 使用:

    [wsl2]
    kernelCommandLine = cgroup_no_v1="all"

3.1.1.2. 在 Windows 机器上安装 Podman Desktop

  1. 安装 Podman 桌面。按照 Podman 桌面文档中的在 Windows 上安装 Podman 桌面和 Podman 的说明。

    您不需要更改设置向导中的默认设置。

  2. 确保 podman 机器使用 cgroupsv2

    $ podman info | findstr cgroup
  3. 测试 Podman 桌面:

    $ podman run hello

3.1.1.3. 为 Podman 桌面配置设置

  1. 使用以下内容添加 %USERPROFILE%\bin\docker.bat 文件:

    @echo off
    podman %*

    这可避免根据 VS Code Dev 容器扩展所需的 Docker 安装。

  2. %USERPROFILE%\bin 目录添加到 PATH 中。

    1. 选择 Settings 并搜索 "Edit 环境变量 for your account" 以显示所有用户环境变量。
    2. 突出显示顶部用户变量框中的"路径",单击 编辑 并添加路径。
    3. Save 设置您打开的任何新控制台的路径。

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 logindocker 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

3.1.4. 安装 VS Code Ansible 扩展

Ansible 扩展添加了对 Ansible 的语言支持到 VS Code。它整合了 Ansible 开发工具,以协助创建和运行自动化内容。

有关 Ansible 扩展的完整描述,请参阅 Visual Studio Code Marketplace

请参阅 学习路径 - Ansible VS Code 扩展入门,以了解使用扩展名 的教程。

安装 Ansible VS Code 扩展:

  1. 打开 VS Code.
  2. 点活动栏中的 Extensions ( Extensions )图标,或者点击 View Extensions 来显示 Extensions 视图。
  3. Extensions 视图中的搜索字段中,键入 Ansible Red Hat
  4. 选择 Ansible 扩展,然后单击 Install

当文件语言被识别为 Ansible 时,Ansible 扩展提供了自动完成、悬停、诊断和 goto 等功能。为文件标识的语言显示在 VS Code 窗口底部的 Status 栏中。

为以下文件分配 Ansible 语言:

  • /playbooks 目录中的 YAML 文件
  • 双重扩展名的文件: .ansible.yml.ansible.yaml
  • Ansible 识别的某些 YAML 名称,如 site.ymlsite.yaml
  • 文件名包含 "playbook": playbook .ymlplaybook .yaml的 YAML 文件

如果扩展没有标识您的 playbook 文件的语言,请按照 将 Ansible 语言关联到 YAML 文件 的步骤进行操作。

3.1.5. 配置 Ansible 扩展设置

Ansible 扩展支持多个配置选项。

您可以在用户级别、工作区级别或特定目录配置扩展设置。基于用户的设置会全局应用,适用于打开的 VS Code 实例。工作区设置存储在您的工作区中,只有在当前工作区被打开时才适用。

出于以下原因,为您的工作区配置设置非常有用:

  • 如果您定义和维护特定于 playbook 项目的配置,您可以为单个项目自定义 Ansible 开发环境,而无需为其他工作更改您首选的设置。您可以为 Python 项目、Ansible 项目和 C++ 项目有不同的设置,每个项目都针对相应的堆栈进行了优化,而无需在每次切换项目时手动重新配置设置。
  • 如果您在为要与团队共享的项目设置版本控制时包括工作区设置,则每个人都对该项目使用相同的配置。

流程

  1. 打开 Ansible 扩展设置:

    1. 点活动栏中的"扩展"图标。
    2. 选择 Ansible 扩展,然后单击"gear"图标,然后选择 Extension Settings 以显示扩展设置。

      或者,点 Code Settings 打开 Settings 页面。

    3. 在搜索栏中输入 Ansible,以显示扩展的设置。
  2. 选择 Workspace 选项卡来配置当前 VS Code 工作区的设置。
  3. Ansible 扩展设置已预先填充。修改设置以符合您的要求:

    • 选中 Ansible Validation Lint: Enabled 框以启用 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 文件。

  1. 在 VS Code 中打开或创建 YAML 文件。
  2. 将光标悬停在 VS Code 窗口底部的状态栏中标识的语言上,以打开 Select Language Mode 列表。
  3. 从列表中选择 Ansible

    文件 VS Code 窗口底部的状态栏中显示的语言已更改为 Ansible。

将 Ansible 语言的永久文件关联添加到 settings.json

或者,您可以在 settings.json 文件中添加 Ansible 语言的文件关联。

  1. 打开 settings.json 文件:

    1. 单击 View Command openmpi 以打开命令面板。
    2. 在搜索框中输入 Workspace 设置,然后选择 Open Workspace Settings (JSON)
  2. 将以下代码添加到 settings.json

    {
      ...
    
      "files.associations": {
        "*plays.yml": "ansible",
        "*init.yml": "yaml",
      }
    }

3.1.7. 安装和配置 Dev Containers 扩展

如果要安装容器化版本的 Ansible 开发工具,则必须在 VS Code 中安装 Microsoft Dev Containers 扩展。

  1. 打开 VS Code.
  2. 点活动栏中的 Extensions ( Extensions )图标,或者点击 View Extensions 来显示 Extensions 视图。
  3. Extensions 视图中的 search 字段中,键入 Dev Containers
  4. 从 Microsoft 选择 Dev Containers 扩展,再单击 Install

如果您使用 Podman 或 Podman Desktop 作为容器化平台,您必须修改 Dev Containers 扩展中的默认设置。

  1. Dev Containers 扩展设置中将 docker 替换为 podman :

    1. 在 VS Code 中,打开设置编辑器。
    2. 搜索 @ext:ms-vscode-remote.remote-containers

      或者,单击活动栏中的 Extensions 图标,再单击 Dev Containers 扩展的齿轮图标。

  2. Dev > Containers:Docker Path 设置为 podman
  3. Dev > Containers:Docker Compose Path 设置为 podman-compose
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.