uv + Ansible 動作確認テスト

最終更新日

Red Hat ロゴ

自宅ラボ環境で Ansible の動作確認 をしてみました。
今回は uv で環境を構築し、SSH 経由で対象ホストへ接続してテスト しています。

■ uv で環境構築

まずはプロジェクトディレクトリを作成。

uv init ansible-lab
cd ansible-lab

Ansible を追加します。

uv add ansible

これで uv 管理下の仮想環境に Ansible がインストールされます。
システムPython環境を汚さずに管理できるのがメリットです。


■ SSH 設定

接続を簡単にするため、~/.ssh/config に設定を追加します。

※ IPアドレスやユーザー名は環境に合わせて変更してください。

Host XXX
  HostName 192.168.10.143
  User pi
  Port 22
  IdentityFile ~/.ssh/秘密鍵

これで以下のように簡単に接続できます。

ssh XXX

Ansible もこの SSH 設定を利用します。


■ Ansible 設定

inventory.ini

SSH config で定義した Host 名を使用して inventory を作成します。

[my_network]
vm1 ansible_host=XXX

[all:vars]
ansible_python_interpreter=/usr/bin/python3

Raspberry Pi や Ubuntu 系では /usr/bin/python3 を指定しておくと安定します。

■ ping テスト(疎通確認)

まずは Ansible の基本である ping モジュールで接続確認を行います。

uv run ansible all -i inventory.ini -m ping

実行結果:

vm1 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}

SUCCESS"pong" が表示されれば成功です。

■ apt update 相当の実行

apt update 相当の処理を実行してみます。

uv run ansible all -i inventory.ini -b -m apt -a "update_cache=yes"

実行結果:

vm1 | SUCCESS => {
    "cache_update_time": 1771211128,
    "cache_updated": false,
    "changed": false
}

こちらも SUCCESS が表示されました。

-b は sudo 実行(become)を意味します。
必要に応じて -K を付ければ sudo パスワード入力が可能です。


リンク

更に理解を深めるために


■ まとめ

  • uv で安全な Ansible 環境を構築
  • SSH config を使うことで接続管理が楽になる
  • inventory を定義すれば複数台の管理も可能
  • ping と apt update の実行に成功

少しずつですが、
複数台を一括で操作できる感覚が掴めてきました。

今後は playbook 化や role 分割をやってみたいと思います。

以上になります。またお会いしましょう

鹿児島県の出水市という所に住んでいまして、インターネット周辺で色々活動して行きたいと思ってるところです。 Webサイト作ったり、サーバ設定したり、プログラムしたりしている、釣りと木工好きなMacユーザです。 今はデータサイエンスに興味を持って競馬AI予想を頑張ってます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください