Ansible
どこに行きたいのか? 「次に何をしたらいいですか?」とよく聞かれる。 第7章では、次の2つの問に答えるところからリーン活動に着手するように勧めた。 1.どのように顧客価値を作り出し、利益を上げようとしているのか? 2.現時点の最大の問題は、具…
相乗効果 パートナーシップを結ぶのは、コスト削減のためでも、リスク軽減のためでも、また能力向上のためでもない。 パートナーシップが必要となる最大の理由は、相乗効果、人(や会社)が協力し合えば、個人が別々に取り組むよりも、優れた成果が出せる。 …
機能 serviceモジュールを使用することで、hostsで指定したサーバで以下のような操作を実施できる サービスのstart/stop/restart/reload サービスのenable化/disable化 使用例 サービス起動及び自動起動設定 nginxサービスを起動させ、enable(有効状態)とす…
機能 commandモジュールを使用することで、hostsで指定したサーバで以下のような操作を実施できる ■commandモジュールの特徴 + shellを通さない + 環境変数を読めない + &,パイプ,リダイレクトの利用が不可 + Shellを通さないのでユーザ環境の影響を受けにく…
機能 templateモジュールを使用することで、Ansibleマシンのローカルに存在するテンプレートファイルをhostsで指定したサーバへ転送することが出来る。 テンプレートファイル内では変数を使用可能 テンプレートファイル内ではjinja2というpython用のテンプレ…
機能 unarchiveモジュールを使用することで次のような操作を実施できます。 Ansibleマシン側ローカルにある圧縮ファイルをhostsで指定した転送先サーバ上で解凍する。 hostsで指定したサーバに存在する圧縮ファイを解凍する 使用例 hostsで指定したサーバ側…
機能 userモジュールを使用することで、hostsで指定したサーバで以下の操作が実施できる ユーザの追加/削除 ユーザのパスワード設定 ユーザのホームディレクトリ設定 ユーザのグループ設定 ユーザのログインシェル設定 使用例 使用例 ユーザの新規作成 - hos…
yum yumモジュールを使用することで、hostsで指定したサーバで以下の操作が実施できる パッケージのインストール/アンインストール パッケージのアップデート 使用例 使用例 nginxのインストール - hosts: all become: yes tasks: - name: Install sauid yum…
機能 Linuxのグループ作成、編集、削除 コマンドgroupadd,groupmod,groupdelを実行する 使用例 hogeグループをGID:1001で作成 - hosts: all become: yes tasks: - name: download nginx group : name: hoge gid: 1001 全パラメータ パラメータ 必須 デフォル…
機能 ファイルやシンボリックリンク、ディレクトリを作成、削除、属性変更が出来るモジュール以下のような操作ができます。 + 指定したファイル/ディレクトリのパーミッション変更 + 空ファイルの作成 + ディレクトリの新規作成 + ハードリンク/シンボリック…
機能 コマンドにより以下の操作が可能 + 指定した内容の行を指定した位置に追加 + 指定した内容の行の削除 + 正規表現での行のマッチング 使用例 /root/test.conf の「bbbb:」項目の後に 「cccc: 3」 を挿入する - hosts: all become: yes tasks: - name: li…
機能 HTTP、HTTPS、またはFTPからファイルをダウンロードします。 補足説明 デフォルトで`_proxy~は、ターゲットホストに環境変数が設定されている場合、リクエストはそのプロキシを介して送信されます。 この動作は、このタスクの変数を設定するか(環境の…
機能 対象ホストから管理サーバへファイルをコピーする 使用例 srcに指定したファイルをdestで指定したフォルダにコピーする - name: 対象ホスト上の/tmp/somefileファイルを./fetchedフォルダにコピーする fetch: src: nginx.conf dest: /usr/local/nginx/ …
機能 Ansibleがインストールされている端末のローカル環境に存在するファイルやディレクトリをhostsで指定したサーバへ転送することが出来る。 使用例 転送元(クライアントローカル側):/root/index.conf 転送先(指定したサーバ側):/root/index.conf 所有ユ…
4.タスクの実行結果を制御する shellで実行したコマンドの戻り値が0でない場合は失敗以降の処理は実行されなくなる。が、 戻り値が0以外でも正常終了として次の処理を実行したい場合 ignore_errors failed_when要素を利用する 4.1.実行失敗とみなされた…
3.条件分岐でタスクの事項要否を制御する タスクを実行するかどうかの判定を行う方法を紹介 3.1.条件を使ってタスクの実行を成業する「when」 一部のタスクは特定のOSだけで実行したい場合 タスクに対しwhen要素を追加、whenの値として条件式を記述し、…
2.繰り返し実行 複数のファイルをコピーしたり、複数のユーザを追加したい場合 追加したい数だけ対応するモジュールを書くことで実現できるが、Playbookが長く読みづらくなる。 その際は、以下のようにタスクの繰り返しを扱う機能を使うと良い。 2.1.単…
1.変数の利用 変数定義にはvars要素を使用します。 定義した変数の値を参照するには{{user_name}}のように{{変数名}}という形式を使います。 1.1.一般的な使い方 記載例 vars: user_name:hoge dest_file_path:/home/{{ user_name }}/ 但し、以下のように …
5.動作用のイベントリーパラメーター 変数を設定して、Ansibleがリモートホストと対話する方法を制御します。 パラメータ 説明 ansible_connection ホストへの接続の種類ansiblleの接続プラグインの名前を使用できます。SSHプロトコルタイプは、smart、ssh…
インベントリーへの変数追加 特定のホストまたはグループに関連する変数の値をイベントリーに保存できます。 メインのイベントリーファイルのホスト及びグループに変数を直接追加することが出来ます。 管理ノードをAnsibleイベントリーに追加するため、変数…
インベントリーの構築方法 Ansibleは、インベントリーと呼ばれるリスト、またはリストのグループを使用して インフラストラクチャーにある複数管理ノードまたは「ホスト」に対して同時に機能します。 インベントリーのデフォルトの場所は以下のファイルです…
Playbookの実行 並列処理レベル10を使用してPlaybookを実行 ansible-playbook playbook.yml -f 10 Ansible-Pull ansible-pullは、gitから設定手順のリポジトリをチェックアウトし、そのコンテンツに対してansible-playbookを実行する小さなスクリプトです…
各Playにはタスクリストが含まれている タスクは、次のタスクに進む前に、ホストパターンに一致するマシンに対して、一度に1つずつ順番に実行されます。 Play内では、全てのホストが同じタスクディレクティブを取得することを理解することが重要。 Playの目…
Playbookの各Playについて インフラストラクチャー内のどのマシンを対象にするか どのリモートユーザがステップ(タスクと呼ばれる)を完了するか選択できます。 hosts 行は、パターン: ホストおよびグループを対象とするのドキュメントで説明されているように…
Playbookについて Playbookとは、アドホックタスク実行モードとは完全に異なる方法でAnsibleを使用する。 Playbookはは、既存のものとは異なり、非常にシンプルな構成管理とマルチマシンデプロイメントシステムの基礎 となりますが、複雑なアプリケーション…