iij / ansible-exercise

IIJ Bootcamp Ansibleの講義用教材

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ansible Exercise

IIJ Bootcamp のAnsibleの講義用教材です。

参加者の方々は以下のコマンドを実行してこのレポジトリをローカルにダウンロードしておいて下さい。

git clone https://github.com/iij/ansible-exercise.git

Overview

この教材は、ハンズオン形式でAnsibleの使い方について学べるものです。 ハンズオンを実施するにあたって、いくつかの環境整備が必要です。 下記内容に従って環境を整えましょう。

所要時間: 10min - 30min

Index

Caution

このハンズオンを実施する際にはVPN接続を切っておきましょう。 VPN接続をしたままハンズオンを実施すると、正常に動作しないので注意して下さい。

プロキシ配下でこのハンズオンを実施する場合、vars/proxy.ymlにプロキシ情報を記載してから実施して下さい。

---
proxy_env:
  http_proxy: http://hoge.proxy.com:8080
  https_proxy: https://198.51.100.10

Requirements

このハンズオンを実施する上での必須ツールのセッティング方法になります。

Docker

このハンズオンではDockerコンテナ(以下、コンテナ)をVMに見立てて使用します。 具体的には、Ansibleの入ったコンテナとCentOS7のコンテナを使用します。 したがって、ハンズオンを実施するPCへDockerをインストールする必要があります。

インストールしていない方はこちらを参考にしてインストールしておきましょう。

Docker-Compose

このハンズオンではVMに見立てるコンテナをDocker-Composeを用いて起動します。 公式サイトを参考にインストールしておきましょう。 Docker Desktop for Windows(Mac)をインストールした人は既にインストールされています。

Recommended

このハンズオンでの推奨環境としてVisual Studio Code(以下、vscode)を指定します。 ソースコードエディタや開発環境に特にこだわりがない人は、以下の環境を整えておくとスムーズにハンズオンを進めることができます。

VScode

vscodeとはマイクロソフトが開発したオープンソースのソースコードエディタです。 拡張機能(extension)をインストールすることで様々な言語のソースコードを効率よく編集することができます。 Stack Overflow 2019 Developer Surveyでは、vscodeが最も人気のある開発者環境ツールとしてランクインしています。

公式サイトから環境に合わせてインストールしましょう。

Remote - Containers

vscodeにはコンテナ内でソースコードを編集できるようにする拡張機能としてRemote - Containersというものがあります。 このハンズオンではコンテナ内に入ってファイルを編集したり、コマンドを実行したりします。 vscodeを使ってこのハンズオンを実施する場合は、この拡張機能を使用すると良いでしょう。

こちらを参考にインストールしておきましょう。

Japanese Language Pack

vscodeの表示言語は英語です。 日本語化したい人は以下の拡張機能をインストールすると良いでしょう。

https://marketplace.visualstudio.com/items?itemName=MS-CEINTL.vscode-language-pack-ja

Test

上記の環境準備が整ったら、テストをしておきましょう。

vscode

vscodeを開きCtrl(Command)+Shift+pでコマンドパレットを開いたら、remote containersと入力し、 フィルターされたコマンドの中からOpen Folder in Container...を選択します。 フォルダの選択画面が表示されたら、ダウンロードしたこのフォルダを選択し、コンテナを起動します。

しばらく待つとエディタが開きますので、terminal(ターミナル)を選択して下記のコマンドをコンテナ内で実行します。

ansible -m ping db1

以下の出力が確認できれば成功です。

db1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}

vscodeを閉じるとコンテナも停止します。

以上でテスト完了です。

other

ダウンロードしたこのフォルダ内で、下記コマンドをシェル上で実行してコンテナを起動します。

Windows

docker-compose -f docker-compose\docker-compose.yml up -d

Mac/Linux

docker-compose -f docker-compose/docker-compose.yml up -d

エラーなくコマンドが終了すれば成功です。 次に下記コマンドを実行し、コンテナの中に入ります。

docker exec -it docker-compose_ansible_1 bash

エラーなくコンテナ内に入れたら下記コマンドを実行します。

ansible -m ping db1

以下の出力が確認できれば成功です。

db1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}

最後に、コンテナを停止しておきましょう。 コンテナからexitまたはCtrl(Command)+dで抜けてから、下記コマンドを実行します。

Windows

docker-compose -f docker-compose\docker-compose.yml stop

Mac/Linux

docker-compose -f docker-compose/docker-compose.yml stop

以上でテスト完了です。

Contact

上記準備でお困りの際は、周りの先輩に相談するか、Teamsやメールでmafuyu-sogaまでご相談下さい。

About

IIJ Bootcamp Ansibleの講義用教材


Languages

Language:Dockerfile 100.0%