第3章 Ansible 開発ツールのインストール
Red Hat は、Ansible 開発ツールをインストールするための 2 つの選択肢を提供しています。
- 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 Desktop、Docker、Docker Desktop)。
注記Windows での Ansible 開発ツールのインストール手順では、Podman Desktop の使用方法だけを取り上げています。Windows マシンへの Podman Desktop のインストール を参照してください。
-
Red Hat アカウントをお持ちの場合は、
registry.redhat.io
で Red Hat コンテナーレジストリーにログインできます。registry.redhat.io
へのログインについては、Red Hat コンテナーレジストリーでの認証 を参照してください。
3.1.1. Windows での Ansible 開発ツールの要件
Windows 上の VS Code のコンテナーに Ansible 開発ツールをインストールする場合は、追加の要件があります。
- Windows Subsystem 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 Desktop をインストールします。Podman Desktop ドキュメントの Installing Podman Desktop and Podman on Windows の手順を実行します。
セットアップウィザードでデフォルト設定を変更する必要はありません。
podman マシンが
cgroupsv2
を使用していることを確認します。$ podman info | findstr cgroup
Podman デスクトップをテストします。
$ podman run hello
3.1.1.3. Podman Desktop の設定
次の内容を含む
%USERPROFILE%\bin\docker.bat
ファイルを追加します。@echo off podman %*
これにより、VS Code の
Dev Container
拡張機能に必要な Docker をインストールする必要がなくなります。%USERPROFILE%\bin
ディレクトリーをPATH
に追加します。- Settings を選択し、"Edit environment variables for your account" を検索して、すべてのユーザー環境変数を表示します。
- 上部のユーザー変数ボックスで "Path" を強調表示し、 をクリックしてパスを追加します。
- をクリックして、新しく開くコンソールのパスを設定します。
3.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 を参照してください。
3.1.3. VS コードのインストール
- VS Code をインストールするには、Visual Studio Code ドキュメントの Download Visual Studio Code page の指示に従ってください。
3.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 ファイルに関連付ける の手順に従ってください。
3.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 を入力します。
-
ansible-lint を有効にするには、
設定については、VisualStudio マーケットプレイスのドキュメントの Ansible VS Code Extension by Red Hat ページに記載されています。
3.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", } }
3.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
に設定します。