第3章 Ansible 開発ツールのインストール
Red Hat は、Ansible 開発ツールをインストールするための 2 つの選択肢を提供しています。
- VS Code 内で実行されている RHEL コンテナーへのインストール。このオプションは、MacOS、Windows、Linux システムにインストールできます。
RPM (Red Hat Package Manager) パッケージを使用した、ローカルの RHEL 8 または RHEL 9 システムへのインストール。
注記RHEL 10 では RPM インストールはサポートされていません。
3.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 コンテナーレジストリーを使用した認証 を参照してください。
3.1.1. Windows での Ansible 開発ツールの要件 リンクのコピーリンクがクリップボードにコピーされました!
Windows 上の VS Code のコンテナーに Ansible 開発ツールをインストールする場合は、追加の要件があります。
- Windows Subsystem for Linux (WSL2)
- Podman Desktop
手順
ディストリビューションなしで WSL2 をインストールします。
wsl --install --no-distribution
$ wsl --install --no-distributionCopy to Clipboard Copied! Toggle word wrap Toggle overflow WSL2 の
cgroupsv1を無効にしてcgroupsv2を使用します。%USERPROFILE%/wsl.confファイルを編集し、次の行を追加してcgroupv2の使用を強制します。[wsl2] kernelCommandLine = cgroup_no_v1="all"
[wsl2] kernelCommandLine = cgroup_no_v1="all"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Podman Desktop をインストールします。Podman Desktop ドキュメントの Installing Podman Desktop and Podman on Windows の手順を実行します。
セットアップウィザードでデフォルト設定を変更する必要はありません。
podman マシンが
cgroupsv2を使用していることを確認します。podman info | findstr cgroup
$ podman info | findstr cgroupCopy to Clipboard Copied! Toggle word wrap Toggle overflow Podman デスクトップをテストします。
podman run hello
$ podman run helloCopy to Clipboard Copied! Toggle word wrap Toggle overflow Podman Desktop を設定します。次の内容を含む
%USERPROFILE%\bin\docker.batファイルを追加します。@echo off podman %*
@echo off podman %*Copy to Clipboard Copied! Toggle word wrap Toggle overflow これにより、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 でホストされています。イメージにアクセスするには、レジストリーで認証が必要です。
VS Code 内のコンテナーに Ansible 開発ツールをインストールする予定の場合は、VS Code を起動する前に registry.redhat.io にログインして、VS Code が registry.redhat.io から devtools コンテナーをプルできるようにする必要があります。
VS Code 内のコンテナーで Ansible 開発ツールを実行中で、実行環境または devcontainer をプルして実行環境として使用する場合は、VS Code 内のターミナルから devcontainer 内のターミナルプロンプトにログインする必要があります。
前提条件
registry.redhat.ioレジストリーを使用するには、Red Hat ログイン情報が必要です。これは、Red Hat カスタマーポータル (access.redhat.com) にログインして Red Hat サブスクリプションを管理するために使用するアカウントと同じものです。
手順
registry.redhat.ioレジストリーにすでにログインしているかどうかを確認します。podman login --get-login registry.redhat.io
$ podman login --get-login registry.redhat.ioCopy to Clipboard Copied! Toggle word wrap Toggle overflow registry.redhat.ioにログインしている場合は、コマンド出力に Red Hat ログイン情報が表示されます。registry.redhat.ioにログインしていない場合は、podman loginコマンドを使用して認証情報を指定し、レジストリーのコンテンツにアクセスします。podman login registry.redhat.io
$ podman login registry.redhat.io Username: my_redhat_username Password: ***********Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat コンテナーレジストリー認証の詳細は、Red Hat カスタマーポータルの Red Hat Container Registry Authentication を参照してください。
3.1.3. VS Code のインストール リンクのコピーリンクがクリップボードにコピーされました!
- 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 のすべてのインスタンスに対し、グローバルに適用されます。VS Code ワークスペースは、単一の VS Code ウィンドウで開くことができる 1 つ以上のフォルダーのコレクションです。ワークスペース設定はワークスペース内に保存され、現在のワークスペースを開いたときにのみ適用されます。
ワークスペースを設定すると、以下の点で便利です。
- Playbook プロジェクトに固有の設定を定義して維持すると、他の作業の優先設定を変更することなく、個々のプロジェクトに合わせて Ansible 開発環境をカスタマイズできます。Python プロジェクト、Ansible プロジェクト、C++ プロジェクトごとに異なる設定が可能で、それぞれのスタックに合わせて最適化されているため、プロジェクトを切り替えるたびに手動で再設定する必要はありません。
- チームと共有するプロジェクトのバージョン管理をセットアップするときにワークスペース設定を含めると、全員がそのプロジェクトに対して同じ設定を使用します。
前提条件
-
VS Code で、
メニューを使用して、ワークスペースまたはフォルダーを開くか、新しいフォルダーを作成する。これは、ワークスペースの設定を保存するファイルがフォルダーまたはワークスペースに固有であるため必要です。
手順
Ansible 拡張機能の設定を開きます。
-
アクティビティーバーで、
Extensions アイコンをクリックします。
Ansible 拡張機能を選択し、'歯車' アイコン、Extension Settings の順にクリックして拡張機能設定を表示します。
-
または、
をクリックして Settings ページを開きます。
-
または、
-
検索バーに
Ansibleと入力して拡張機能の設定を表示します。
-
アクティビティーバーで、
現在の VS Code ワークスペースの設定を行うには、Workspace タブを選択します。
-
Workspace タブが表示されない場合は、
メニューを使用してフォルダーを開くか、新しいフォルダーを作成します。
-
Workspace タブが表示されない場合は、
Ansible 拡張機能の設定は事前に入力されています。要件に合わせて設定を変更します。
-
ansible-lint を有効にするには、
ボックスをオンにします。 -
実行環境を使用するには、
Ansible Execution Environment: Enabledボックスをオンにします。 - Ansible > Execution Environment: image フィールドで使用する実行環境イメージを指定します。
- Red Hat Ansible Lightspeed を使用するには、Ansible > Lightspeed: Enabled ボックスをオンにし、Lightspeed の URL を入力します。
-
ansible-lint を有効にするには、
3.1.6. YAML ファイルに Ansible 言語を手動で追加する リンクのコピーリンクがクリップボードにコピーされました!
Ansible VS Code 拡張機能は、ファイルに関連付けられた言語が Ansible に設定されている場合にのみ機能します。この拡張機能は、自動補完、マウスオーバー、診断など、Ansible Playbook の作成に役立つ機能を提供します。
Ansible VS Code 拡張機能は、Ansible 言語をファイルに自動的に関連付けます。以下の手順では、Ansible ファイルとして認識されないファイルの言語を設定する方法を説明します。
3.1.6.1. Ansible 言語を YAML ファイルに関連付ける リンクのコピーリンクがクリップボードにコピーされました!
次の手順では、VS Code で開いている YAML ファイルに Ansible 言語を手動で割り当てる方法を説明します。
手順
- VS Code で YAML ファイルを開くか作成します。
- VS Code ウィンドウの下部にあるステータスバーに表示されている言語の上にカーソルを置き、Select Language Mode リストを開きます。
リストから Ansible を選択します。
ファイルの VS Code ウィンドウの下部にあるステータスバーに表示される言語が Ansible に変更されます。
3.1.6.2. Ansible 言語の永続的なファイル関連付けを settings.json に追加する リンクのコピーリンクがクリップボードにコピーされました!
Ansible 言語を YAML ファイルに手動で関連付ける代わりに、settings.json ファイルに Ansible 言語のファイル関連付けを追加できます。
手順
settings.jsonファイルを開きます。-
をクリックして、コマンドパレットを開きます。 -
検索ボックスに
Workspace settingsと入力し、Open Workspace Settings (JSON) を選択します。
-
次のコードを
settings.jsonに追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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に設定します。