スカイラボ

~ いろいろと興味のあるものを ~

Raspberry Pi インストール後の作業を自動化する(Ansible 準備編)

Raspberry Pi を色々触っていくうちに設定を変更した設定ファイルが分からなくなったり、管理できなくなっていることありませんか?

もしくは、再インストールの際に過去のメモを参照したり Web で検索しながらインストール後のセットアップすることに辟易としていませんか?
f:id:goegoen:20180310230845p:plain

インストール関連やファイルの管理は Ansible で管理して Git にアップしておけばファイル管理できて楽ちんかも!ということでスタートです。

本ページで使用している機器の情報は 環境情報 を参考にしてください。

ssh 公開鍵認証

Ansible でパスワードを省略させるため ssh 公開鍵認証を使います。
公開鍵認証の設定がされていない場合は以下を参考に設定をしてください。

ssh 公開鍵認証

Homebrew のインストール確認

Mac で Ansible をインストールするために Homebrew を使用してサクッとインストールしますので、インストールされていない場合には以下を参考にインストールしておきます。

brew.sh

$ brew -v
Homebrew >1.2.0 (shallow or no git repository)
Homebrew/homebrew-core (no git repository)

Ansible のインストール実行

以下のコマンドでインストールします。

$ brew install ansible

2018/3月時点で実行すると以下のバージョンがインストールされました。

$ ansible --version
ansible 2.4.3.0

Ansible を使用した疎通確認

Ansible hosts ファイルの作成

Raspberry Pi にAnsible を使用して疎通確認を実行します。
~/.ssh/config/etc/ssh/ssh_config を使用して ssh の接続先 HOST を別途定義している場合は定義している名前を登録します。

実行例
$ mkdir -p ~/ansible/raspberrypi && cd $_

記述例
$ vi production-hosts
[raspberry]   # グループ名を定義
rasp1            # 接続先ホスト名を定義(/etc/ssh/ssh_config や ~/.ssh/configと記述を合わせる)

確認

以下のコマンドで ping による疎通確認を行います。

$ ansible -i production-hosts raspberry -m ping
rasp1 | SUCCESS => {
    "changed": false,
    "ping": "pong"

以上で Ansible で Raspberry Pi を操作可能な状況になります。 次回以降で Raspberry Pi の設定変更を実施していきます。