コンテンツナビゲーターの使用
Ansible Automation Platform と互換性のあるコンテンツの開発
概要
Red Hat ドキュメントへのフィードバック (英語のみ) リンクのコピーリンクがクリップボードにコピーされました!
このドキュメントの改善に関するご意見がある場合や、エラーを発見した場合は、https://access.redhat.com から Technical Support チームに連絡してください。
第2章 Ansible 開発ツールのインストール リンクのコピーリンクがクリップボードにコピーされました!
Red Hat は、Ansible 開発ツールをインストールするための 2 つの選択肢を提供しています。
- VS Code 内で実行されている RHEL コンテナーへのインストール。このオプションは、MacOS、Windows、Linux システムにインストールできます。
RPM (Red Hat Package Manager) パッケージを使用した、ローカルの RHEL 8 または RHEL 9 システムへのインストール。
注記RHEL 10 では RPM インストールはサポートされていません。
2.1. 要件 リンクのコピーリンクがクリップボードにコピーされました!
Ansible 開発ツールをインストールして使用するには、次の要件を満たす必要があります。Windows インストールおよびコンテナーインストールの追加要件は、手順に記載されています。
- Python 3.10 以降。
- Ansible 拡張機能を追加した VS Code (Visual Studio Code)。VS Code のインストール 参照してください。
- コンテナーインストールの場合は、Microsoft Dev Containers VS Code 拡張機能。Dev Containers 拡張機能のインストールと設定 を参照してください。
コンテナー化プラットフォーム (例: Podman、Podman Desktop、Docker、Docker Desktop)。
注記Windows での Ansible 開発ツールのインストール手順では、Podman Desktop の使用方法だけを取り上げています。Windows での Ansible 開発ツールの要件 を参照してください。
-
Red Hat アカウントをお持ちの場合は、
registry.redhat.ioで Red Hat コンテナーレジストリーにログインできます。registry.redhat.ioへのログインは、Red Hat コンテナーレジストリーでの認証 を参照してください。
2.1.1. Windows での Ansible 開発ツールの要件 リンクのコピーリンクがクリップボードにコピーされました!
Windows 上の VS Code のコンテナーに Ansible 開発ツールをインストールする場合は、追加の要件があります。
- Windows Subsystem for Linux (WSL2)
- Podman Desktop
手順
ディストリビューションなしで WSL2 をインストールします。
$ `wsl --install --no-distribution`WSL2 の
cgroupsv1を無効にしてcgroupsv2を使用します。%USERPROFILE%/wsl.confファイルを編集し、次の行を追加してcgroupv2の使用を強制します。[wsl2] kernelCommandLine = cgroup_no_v1="all"Podman Desktop をインストールします。Podman Desktop ドキュメントの Installing Podman Desktop and Podman on Windows の手順を実行します。
セットアップウィザードでデフォルト設定を変更する必要はありません。
podman マシンが
cgroupsv2を使用していることを確認します。$ podman info | findstr cgroupPodman デスクトップをテストします。
$ podman run helloPodman Desktop を設定します。次の内容を含む
%USERPROFILE%\bin\docker.batファイルを追加します。@echo off podman %*これにより、VS Code の
Dev Container拡張機能に必要な Docker をインストールする必要がなくなります。%USERPROFILE%\binディレクトリーをPATHに追加します。- Settings を選択し、"Edit environment variables for your account" を検索して、すべてのユーザー環境変数を表示します。
- 上部のユーザー変数ボックスで "Path" を強調表示し、 をクリックしてパスを追加します。
- をクリックして、新しく開くコンソールのパスを設定します。
2.1.2. Red Hat コンテナーレジストリーでの認証 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Container Catalog を通じて利用できるすべてのコンテナーイメージは、イメージレジストリーの registry.redhat.io でホストされています。イメージにアクセスするには、レジストリーで認証が必要です。
registry.redhat.io レジストリーを使用するには、Red Hat ログイン情報が必要です。これは、Red Hat カスタマーポータル (access.redhat.com) にログインして Red Hat サブスクリプションを管理するために使用するアカウントと同じものです。
VS Code 内のコンテナーに Ansible 開発ツールをインストールする予定の場合は、VS Code を起動する前に registry.redhat.io にログインして、VS Code が registry.redhat.io から devtools コンテナーをプルできるようにする必要があります。
VS Code 内のコンテナーで Ansible 開発ツールを実行中で、実行環境または devcontainer をプルして実行環境として使用する場合は、VS Code 内のターミナルから devcontainer 内のターミナルプロンプトにログインする必要があります。
認証情報を使用して podman login または docker login コマンドを使用すると、レジストリーのコンテンツにアクセスできます。
- Podman
$ podman login registry.redhat.io Username: my__redhat_username Password: ***********- Docker
$ docker login registry.redhat.io Username: my__redhat_username Password: ***********
Red Hat コンテナーレジストリー認証の詳細は、Red Hat カスタマーポータルの Red Hat Container Registry Authentication を参照してください。
2.1.3. VS Code のインストール リンクのコピーリンクがクリップボードにコピーされました!
- VS Code をインストールするには、Visual Studio Code ドキュメントの Download Visual Studio Code page の指示に従ってください。
2.1.4. VS Code Ansible 拡張機能のインストール リンクのコピーリンクがクリップボードにコピーされました!
Ansible 拡張機能は、VS Code に Ansible の言語サポートを追加します。この拡張機能には、自動化コンテンツの作成と実行を容易にするために、Ansible 開発ツールが組み込まれています。
Ansible 拡張機能の詳細な説明は、Visual Studio Code Marketplace を参照してください。
拡張機能の操作に関するチュートリアルは、Learning path - Getting Started with the Ansible VS Code Extension を参照してください。
Ansible VS Code 拡張機能をインストールするには、以下を実行します。
- VS Code を開きます。
-
アクティビティーバーの Extensions (
) アイコンをクリックするか、 → をクリックして Extensions ビューを表示します。
-
Extensions ビューの検索フィールドに
Ansible Red Hatと入力します。 - Ansible 拡張機能を選択し、 をクリックします。
ファイルの言語が Ansible として認識されると、Ansible 拡張機能によってオートコンプリート、ホバー、マウスオーバー、goto などの機能が提供されます。認識されたファイルの言語は、VS Code ウィンドウの下部にあるステータスバーに表示されます。
Ansible 言語は次のファイルに割り当てられています。
-
/playbooksディレクトリー内の YAML ファイル -
二重拡張子
.ansible.ymlまたは.ansible.yamlを持つファイル -
Ansible が認識する特定の YAML 名 (例:
site.ymlやsite.yaml) -
ファイル名に "playbook" が含まれる YAML ファイル (
playbook.ymlまたはplaybook.yaml)
拡張機能が Playbook ファイルの言語を Ansible として認識しない場合は、Ansible 言語を YAML ファイルに関連付ける の手順に従ってください。
2.1.5. Ansible 拡張機能の設定 リンクのコピーリンクがクリップボードにコピーされました!
Ansible 拡張機能は複数の設定方法をサポートしています。
拡張機能の設定は、ユーザーレベル、ワークスペースレベル、または特定のディレクトリーで設定できます。ユーザーベースの設定は、開かれている VS Code のすべてのインスタンスに対し、グローバルに適用されます。ワークスペース設定はワークスペース内に保存され、現在のワークスペースを開いたときにのみ適用されます。
ワークスペースを設定すると、以下の点で便利です。
- Playbook プロジェクトに固有の設定を定義して維持すると、他の作業の優先設定を変更することなく、個々のプロジェクトに合わせて Ansible 開発環境をカスタマイズできます。Python プロジェクト、Ansible プロジェクト、C++ プロジェクトごとに異なる設定が可能で、それぞれのスタックに合わせて最適化されているため、プロジェクトを切り替えるたびに手動で再設定する必要はありません。
- チームと共有するプロジェクトのバージョン管理をセットアップするときにワークスペース設定を含めると、全員がそのプロジェクトに対して同じ設定を使用します。
手順
Ansible 拡張機能の設定を開きます。
- アクティビティーバーで、'Extensions' アイコンをクリックします。
Ansible 拡張機能を選択し、'歯車' アイコン、Extension Settings の順にクリックして拡張機能設定を表示します。
または、 → → をクリックして Settings ページを開きます。
-
検索バーに
Ansibleと入力して拡張機能の設定を表示します。
- 現在の VS Code ワークスペースの設定を行うには、Workspace タブを選択します。
Ansible 拡張機能の設定は事前に入力されています。要件に合わせて設定を変更します。
- ansible-lint を有効にするには、 → → ボックスをオンにします。
-
実行環境を使用するには、
Ansible Execution Environment: Enabledボックスをオンにします。 - Ansible > Execution Environment: image フィールドで使用する実行環境イメージを指定します。
- Red Hat Ansible Lightspeed を使用するには、Ansible > Lightspeed: Enabled ボックスをオンにし、Lightspeed の URL を入力します。
設定は、VisualStudio マーケットプレイスのドキュメントの Ansible VS Code Extension by Red Hat ページに記載されています。
2.1.6. Ansible 言語を YAML ファイルに関連付ける リンクのコピーリンクがクリップボードにコピーされました!
Ansible VS Code 拡張機能は、ファイルに関連付けられた言語が Ansible に設定されている場合にのみ機能します。この拡張機能は、自動補完、マウスオーバー、診断など、Ansible Playbook の作成に役立つ機能を提供します。
Ansible VS Code 拡張機能は、Ansible 言語をファイルに自動的に関連付けます。以下の手順では、Ansible ファイルとして認識されないファイルの言語を設定する方法を説明します。
Ansible 言語を YAML ファイルに手動で関連付ける
次の手順では、VS Code で開いている YAML ファイルに Ansible 言語を手動で割り当てる方法を説明します。
- VS Code で YAML ファイルを開くか作成します。
- VS Code ウィンドウの下部にあるステータスバーに表示されている言語の上にカーソルを置き、Select Language Mode リストを開きます。
リストから Ansible を選択します。
ファイルの VS Code ウィンドウの下部にあるステータスバーに表示される言語が Ansible に変更されます。
Ansible 言語の永続的なファイル関連付けを settings.json に追加する
または、settings.json ファイルに Ansible 言語のファイル関連付けを追加することもできます。
settings.jsonファイルを開きます。- → をクリックして、コマンドパレットを開きます。
-
検索ボックスに
Workspace settingsと入力し、Open Workspace Settings (JSON) を選択します。
次のコードを
settings.jsonに追加します。{ ... "files.associations": { "*plays.yml": "ansible", "*init.yml": "yaml", } }
2.1.7. Dev Containers 拡張機能のインストールと設定 リンクのコピーリンクがクリップボードにコピーされました!
コンテナー化されたバージョンの Ansible 開発ツールをインストールする場合は、VS Code に Microsoft Dev Containers 拡張機能をインストールする必要があります。
- VS Code を開きます。
-
アクティビティーバーの Extensions (
) アイコンをクリックするか、 → をクリックして Extensions ビューを表示します。
-
Extensions ビューの検索フィールドに
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に設定します。
2.2. VS Code 内のコンテナーに Ansible 開発ツールをインストールする リンクのコピーリンクがクリップボードにコピーされました!
Dev Containers VS Code 拡張機能には、開発コンテナーの設定を保存するための .devcontainer ファイルが必要です。Ansible 拡張機能を使用して、開発コンテナー用の設定ファイルをスキャフォールディングし、VS Code のコンテナーでディレクトリーを再度開く必要があります。
前提条件
- Podman、Podman Desktop、Docker、Docker Desktop などのコンテナー化プラットフォームをインストール済みである。
-
Red Hat ログイン情報をお持ちであり、
registry.redhat.ioの Red Hat レジストリーにログインしている。registry.redhat.ioへのログインは、Red Hat コンテナーレジストリーでの認証 を参照してください。 - VS Code がインストールされていること。
- VS Code に Ansible 拡張機能をインストール済みである。
- VS Code に Microsoft Dev Containers 拡張機能をインストール済みである。
Windows に Ansible 開発ツールをインストールする場合は、VS Code を起動して WSL マシンに接続する。
-
Remote(
) アイコンをクリックします。
- 表示されるドロップダウンメニューで、WSL マシンに接続するオプションを選択します。
-
手順
- VS Code でプロジェクトディレクトリーに移動します。
- VS Code アクティビティーバーの Ansible アイコンをクリックして、Ansible 拡張機能を開きます。
- Ansible 拡張機能の Ansible Development Tools セクションで、ADD オプションまでスクロールダウンし、Devcontainer を選択します。
Create a devcontainer ページで、Container image オプションから Downstream コンテナーイメージを選択します。
このアクションにより、Podman と Docker の両方の
devcontainer.jsonファイルが.devcontainerディレクトリーに追加されます。プロジェクトディレクトリーを再度開くか、リロードします。
VS Code がディレクトリーに
devcontainer.jsonファイルが含まれていることを検出すると、以下の通知が表示されます。
Reopen in Container をクリックします。
-
通知が表示されない場合は、
Remote(
) アイコンをクリックします。表示されるドロップダウンメニューで、Reopen in Container を選択します。
使用しているコンテナー化プラットフォームに応じて、Podman または Docker の開発コンテナーを選択します。
VS Code ステータスバーの Remote() ステータスに
opening Remoteが表示され、通知にコンテナーを開く操作の進行状況が示されます。
検証
コンテナー内でディレクトリーが再度開かれると、Remote() ステータスに Dev Container: ansible-dev-container と表示されます。
コンテナーのベースイメージは、パッケージマネージャーとして microdnf を使用する Universal Base Image Minimal (UBI Minimal) イメージです。dnf および yum パッケージマネージャーはコンテナーでは使用できません。
UBI Minimal イメージベースのコンテナーで microdnf を使用する方法は、Red Hat Enterprise Linux の コンテナーの構築、実行、および管理 ガイドの UBI minimal コンテナーへのソフトウェアの追加 を参照してください。
2.3. RHEL のパッケージから Ansible 開発ツールをインストールする リンクのコピーリンクがクリップボードにコピーされました!
Ansible 開発ツールは、Ansible Automation Platform RPM (Red Hat Package Manager) パッケージにバンドルされています。Ansible Automation Platform のインストールは、RPM インストール ドキュメントを参照してください。
前提条件
RHEL 8 または RHEL 9 をインストールした。
注記RHEL 10 では RPM インストールはサポートされていません。
- Red Hat Subscription Manager でシステムを登録済みである。
- Podman や Docker などのコンテナー化プラットフォームをインストール済みである。
手順
次のコマンドを実行して、Simple Content Access (SCA) が有効化されているか確認します。
$ sudo subscription-manager statusSimple Content Access が有効化されている場合、出力には次のメッセージが含まれます。
Content Access Mode is set to Simple Content Access.Simple Content Access が有効化されていない場合は、Red Hat Ansible Automation Platform SKU をアタッチします。
$ sudo subscription-manager attach --pool=<sku-pool-id>
次のコマンドで Ansible 開発ツールをインストールします。
$ sudo dnf install --enablerepo=ansible-automation-platform-2.5-for-rhel-8-x86_64-rpms ansible-dev-tools$ sudo dnf install --enablerepo=ansible-automation-platform-2.5-for-rhel-9-x86_64-rpms ansible-dev-tools
検証:
Ansible 開発ツールコンポーネントがインストールされていることを確認します。
$ rpm -aq | grep ansible
出力には、インストールされている Ansible パッケージが表示されます。
ansible-sign-0.1.1-2.el9ap.noarch
ansible-creator-24.4.1-1.el9ap.noarch
python3.11-ansible-runner-2.4.0-0.1.20240412.git764790f.el9ap.noarch
ansible-runner-2.4.0-0.1.20240412.git764790f.el9ap.noarch
ansible-builder-3.1.0-0.2.20240413.git167ed5c.el9ap.noarch
ansible-dev-environment-24.1.0-2.el9ap.noarch
ansible-core-2.16.6-0.1.20240413.gite636132.el9ap.noarch
python3.11-ansible-compat-4.1.11-2.el9ap.noarch
python3.11-pytest-ansible-24.1.2-1.el9ap.noarch
ansible-lint-6.14.3-4.el9ap.noarch
ansible-navigator-3.4.1-2.el9ap.noarch
python3.11-tox-ansible-24.2.0-1.el9ap.noarch
ansible-dev-tools-2.5-2.el9ap.noarch
インストールが成功すると、ansible-creator のヘルプドキュメントを表示できます。
$ ansible-creator --help
usage: ansible-creator [-h] [--version] command ...
The fastest way to generate all your ansible content.
Positional arguments:
command
add Add resources to an existing Ansible project.
init Initialize a new Ansible project.
Options:
--version Print ansible-creator version and exit.
-h --help Show this help message and exit