skillup

技術ブログ

サーバー・ネットワーク

ansibleでのインストール

投稿日:2017年3月14日 更新日:

ansibleについてのメモなど。

ansibleって何?

構成管理ツール。一度設定しておけばサーバーの細かいインストールとかを自動でやってくれるツール。chefの兄弟みたいなもの(だと私は認識しています。)

インストールする側からコマンドをたたけば一発で複数サーバーにインストールなんてことも可能です。インストールされる側にはあらかじめなんの準備もいらないのがうれしい。

インストール前準備

2台のホスト(インストールする方とされる方)の用意。VPSを用意するかvagrantなどの仮想構築環境を使うのがいいです。自分はこの方法で2台のホストを動かして実行しました。

私の場合、installする環境が192.168.33.10 される側が192.168.33.11とします。ともにCentOS6.7です。

ansibleインストール

次にやることですが、どのホストをインストールするのかの情報を登録しておきます。

これまたいろんな書き方があるようですが、一番簡単なのは/etc/ansible/hostsに管理対象のホストを登録します。

今回の場合このファイルに

と書いてあげましょう。

SSH鍵登録

この状態でansible 192.168.33.11 -m ping とうつと( ansible 対象ホスト 命令 というコマンド)

下記のメッセージが帰ってきます。

SSHが登録されていませんよ~というエラーですね。

簡単な対応としてはパスワードの入力補完でkオプションをつけてあげるとパスワード
をいれてあげればOK。今度はSUCCESSというメッセージが帰ってきます。

ただこの方法だと毎回面倒なため、下記のように鍵を登録してあげるのがベターです。

ssh-copy-idで公開鍵をリモートホストへ登録する

今後は下記コマンドだけで飛ばせます。

ansible 192.168.33.11 -m ping

また鍵を明示的に指定するには

ansbile  --private-key=(秘密鍵のパス)  になります。

具体的なソフトウェアのインストール

例えばこのホストから対象ホストにapache(httpd)をインストールしてみましょう。

yaml形式で下記のようなファイルを作ります。

yum.yaml(拡張子がyamlであればファイル名は別になんでもいいです。)

これを書いた後、

ansible-playbook yum.yaml と入力すると一気にインストールができます。

最終的なansibleコマンドは下記で落ち着きそうです。

参考リンク&参考文献

さくらのナレッジ エージェントレスでシンプルな構成管理ツール「Ansible」入門

Ansible徹底活用ガイド

-サーバー・ネットワーク
-,

執筆者:


comment

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

関連記事

no image

Dockerfile作成での気づきなど(php+webサーバー)

実務で、Dockerfileを色々いじっていたんのでそこで得た気づきなどを。 Contents1 基本的な構成の考え2 アプリに関して 基本的な構成の考え 以前はCentOSを入れてその中にphp、M …

no image

ファイルアップロード・ダウンロードに関するシェルスクリプト

ファイルのアップロードやダウンロードに関するシェルスクリプトなんぞを。 地味ですが、以外に登場頻度は高いかと。 Contents1 FTP1.1 ダウンロード1.2 アップロード2 SCP2.1 アッ …

no image

CentOS7の基本に関して

以前も学習しようとしましたが、CentOSの基礎について。 Contents1 デーモン2 ポートの割り当て3 systemdの役割 デーモン Linux上で動くサービスを提供をするプログラムのこと。 …

no image

OSコマンドインジェクション

Contents1 OSコマンドインジェクションとは?2 被害3 対策4 参考リンク OSコマンドインジェクションとは? OSに対する命令文を不正に紛れ込ませて攻撃させる手法。 被害 サーバー内のファ …

no image

zabbixエージェント設定

本日はzabbixのエージェント設定について。 zabbixでは監視される側と監視する側があり、する側は通常Zabbix Serverになり、される側はzabbix Agentになります。 要はサーバ …