池の上にも

平均以下の理解力で、色々アウトプットしてみるブログ

Ansible でノート PC を構築するときの備忘

前情報

うちのノート PC は、OS に Lubuntu を使っています。壊れたりして、初期化が必要になったら、Lubuntu インストール後に Ansible を使って初期設定するようにしてます。

なお、初期化に必要な設定ファイル(.vimrcとか、.tmux.confとか)は、bitbucketに置いています。Ansible playbook も bitbucket に置いてます。

bitbucket.org

今回試した環境(2017/5/1)

  • Lubuntu 16.04.2 LTS
  • ansible 2.3.0.0

Ansible を実行するために

Lubuntu をインストール後に、Ansible を実行するまでの手順が必要です。そこは、自動化できないので、備忘として記載しておきます。

SSHD インストール

Lubuntu には openssh-server が入っていないので、インストールします。

$ sudo apt install openssh-server

Ansible インストール

まずは、どのversionがインストールされるか確認

$ sudo apt show ansible

バージョンが2.1.0以上であることを確認します。 2.1.0より低かったり、パッケージが見つからない場合は、リポジトリを追加します。

$ sudo apt-add-repository ppa:ansible/ansible
$ sudo apt update

その後、インストールして、バージョンを確認します。

$ sudo apt install ansible
$ ansible --version

bitbucket の SSH key 作成

Ansible playbook 内で設定ファイルをgit cloneするときに必要なため、SSH鍵を作成して bitbucket に登録しておきます。bitbucket専用の鍵にしたいので、鍵の移動と名前も変更しておきます。

$ ssh-keygen
$ mkdir ~/.ssh/bitbucket/
$ mv ~/.ssh/id_rsa* ~/.ssh/bitbucket/
$ cd ~/.ssh/bitbucket/
$ mv id_rsa bitbucket.id_rsa
$ mv id_rsa.pub bitbucket.id_rsa.pub 

bitbucket.id_rsa.pubをbitbucketのSSH keyとして登録します。その後、~/.ssh/configにコンフィグを記載しておきます。

Host bitbucket.org
  HostName bitbucket.org
  IdentityFile ~/.ssh/bitbucket/bitbucket.id_rsa
  User git

Ansible playbook ダウンロード

構築用のAnsible playbookをどこかのディレクトリに適当に配置

SSH でのアクセス設定

SSH Agentを起動し、自ホスト向けの鍵を登録しておきます。

$ ssh-keygen
$ eval `ssh-agent`
$ ssh-add ~/.ssh/id_rsa

自ホストからのSSHアクセス用の公開鍵を登録します。

$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys

SSH鍵で自ホストにログインできることを確認、うまく言っていればパスワードを聞かれずにログインできます。

$ ssh <user>@127.0.1.1

playbook 実行

playbookのディレクトリに移動し、以下を実行。site.ymlの設定を確認して、対象のホストに間違いがないかは見ておく必要ありです。

ansible-playbook -i production site.yml --ask-sudo-pass