Raspberry Pi OS 上で Ansible を使えるようにする方法

Kubernetesクラスタ構築のための前準備(HA構成対応)です。

Kubernetesにおける HA構成を前提に、Raspberry Pi 5 Kubernetes 3ノードクラスタ構築ガイド(OpenShift Compact構成に準じた版)を作ろう。

まずはAnsibleを調べて、インストールする。3台をノード構成のK8sに、そして4台目のラスパイにAisibleを入れ、Kubernetesのセットアップを楽にしたい。なお4台目のRaspberry Pi5はRaspberry Pi OSがインストール済みです。ブラウザとして使う予定です。

🧰 Step 1:Ansibleとは?

✅ 概要

  • 構成管理・自動化ツール(Infrastructure as Code)
  • SSH経由で複数ノードに対して一括操作(OS更新、設定、パッケージ導入など)
  • Pythonベースで、エージェントレス(クライアントに特別なソフトは不要)

🖥 Step 2:Raspberry Pi OS での Ansible インストール手順(Debian系)


# Python と pip が必要(デフォルトで入ってることが多い)
sudo apt update
sudo apt install -y python3 python3-pip
sudo apt install -y python3-venv python3-full

# フォルダ準備
mkdir ansible-k8s-setup
cd ansible-k8s-setup

# ansible-k8s-setup内にvenvという名前の仮想環境を作る
python3 -m venv venv

# 仮想環境を有効化(プロンプトが変化します)
source venv/bin/activate

# pip で ansible をインストール
pip install --upgrade pip
pip install ansible

# パス設定(.bashrc に追記しておくと便利)
export PATH=$PATH:$HOME/.local/bin

# ちなみに仮想環境を抜けたいとき(まだ抜けないけど)
deactivate
# 再起動後にまた仮想環境に戻るにはansible-k8s-setup内に戻って再び下記コマンド
source venv/bin/activate
Python

確認:

(venv) $ ansible --version
Zsh

出力例:


ansible [core 2.18.5]
  config file = None
  configured module search path = ['/home/emboss/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/emboss/dev/edgeaiagent/ansible-k8s-setup/venv/lib/python3.11/site-packages/ansible
  ansible collection location = /home/emboss/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/emboss/dev/edgeaiagent/ansible-k8s-setup/venv/bin/ansible
  python version = 3.11.2 (main, Nov 30 2024, 21:22:50) [GCC 12.2.0] (/home/emboss/dev/edgeaiagent/ansible-k8s-setup/venv/bin/python3)
  jinja version = 3.1.6
  libyaml = True
Zsh

🗂 Step 3:Ansible管理ノードの構成

📁 ディレクトリ構成例

ansible-k8s-setup/
├── inventory/
│ └── pi-cluster.ini
├── playbooks/
│ ├── install-3node-cluster.yml
│ └── vars/
│ └── env.yml
├── group_vars/
│ └── all.yml
└── README.md

🔒 Step 4:パスワードレスSSHの準備(重要)

管理ノード(Ansibleインストール済みの4台目)から各PiにSSH接続できるようにします。

ssh-keygenを実行すると、SSH(Secure Shell)で使うRSA形式の公開鍵/秘密鍵のペアが生成されます。これは、パスワードなしでSSH接続を安全に行うために使われます。~/.ssh/id_rsaと、~/.ssh/id_rsa.pub ができます。既に作成済みなら新たに作る必要はありません。

# 管理ノードで鍵を生成

ssh-keygen -t rsa

# 各Piに公開鍵を配布
ssh-copy-id pi@192.168.0.101
ssh-copy-id pi@192.168.0.102
ssh-copy-id pi@192.168.0.103
Zsh

コメントする

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

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

上部へスクロール