臆病者のための Ansible
Target Links 臆病者のための確認コマンド 基本 確認 hosts 制限 hosts 確認 tasks 確認 最終 〆 Target Ansible を使ってみてその便利さに驚愕するとともに、他人が作ったPlaybookを引き継ぐ怖さも知る。
全て手順書のように書いていればいいのだが、多数のRoleを使い高度に書かれたAnsible playbookを引き継ぎ、メンテまたは代わりに実行するのはとても怖い。
playbook実行する前に何がどうなるのか確認しまくりたい。
そんな自分のための初心者ガイド
Links 実行の仕方など基礎的な事は公式ドキュメント参照
Hello world
http://docs.ansible.com/ansible/intro_getting_started.html
どうやって使うかのオススメ、ディレクトリ配置など
http://docs.ansible.com/ansible/playbooks_best_practices.html
確認コマンド playbook は実行前に色々確認したいですよね。
基本 ansible-playbook playbook.yml これで playbook が実行されます、設定がしっかりしてる環境であれば、外部サーバに実際に変更を行ったり、時には取り返しのつかない変更が実行されたりします。何も考えずに実行するのは危険
確認 hosts ansible-playbook playbook.yml –list-hosts playbook は実行されません。
playbookが実行される相手先をリストアップするだけです。
host は hosts ファイルなどで定義された ansible のためのサーバー接続先設定のことです。
制限 hosts ansible-playbook playbook.yml -l hoge –list-hosts -l の後に host 名もしくは hostgroup 名を入力すれば playbook の接続先を制限することができます。 –list-hosts と組み合わせると捗ります。
確認 tasks ansible-playbook playbook.
PureScriptでHello world
関数型言語系の本山(と思ってる)Haskell を勉強したいけど、
折角勉強しても使い道を思いつかなかった時に PureScript を知る。
PureScript は Haskell -> Javascript のコンパイラ。
正しくは Haskell “風"らしいが、最終系は Haskell になるのだろ。
Mac 上で Hello world してみる。
まず Cabal をインストールする( Cabal は Haskell のパッケージシステム)。
ついでに実行環境用に node もインストール
brew install ghc cabal-install node 次に PureScript のインストール
psc –main=Main hello.purs > hello.js もし psc と打ち込んでもTerminalが反応しなかったら以下のようにパスを通す。
export PATH="$HOME/.cabal/bin:$PATH" Hello world を書く。ファイル名は hello.purs とする。
module Main where import Debug.Trace main = trace "Hello, PureScript!" コンパイル
cabal update cabal install purescript 実行
Microsoft Azure で ubuntu サーバー立てて sshで繋いでみる
AWSに関しては散々方々で語られているのでAzureに手を出してみた。
Windowsしか作れないと思ってたらちゃんとubuntuも用意されているし、最近追加された新ビューだとMySQLも作れるようになっている。
Windows上にsshを入れる(読み飛ばし可) ubuntuに繋げるためにsshが必要、鍵作成にopensslもいるので
msygitをインストール。
今後の事を考え、CUIベースのパッケージ管理ソフトが欲しい。
chocolateyが流行っぽいのでchocolatey経由でmsygitをインストールする。
chocolatey installation
https://github.com/chocolatey/chocolatey/wiki/Installation
作業はPowerShellでやった。成功するとcinstコマンドが認識される。
msysgitをインストールする
cinst msysgit でmsysgitをインストールこれでsshもopensslも使える。
それぞれのコマンドを打てば認識されているのがわかる。
もし認識されていないようだったらパスが通っていない可能性があるので通す。
SSHの鍵作成 適当に鍵を作ると、サーバー作成時に以下のエラーが出てサーバー作成に失敗する。
The certificate is in an invalid format. X.509 standard format in a .cer or .pem file is supported.。
回避するには以下リンク先の手順通りに鍵を作成する必要がある。
How to Use SSH with Linux on Azure
http://azure.microsoft.com/ja-jp/documentation/articles/virtual-machines-linux-use-ssh-key/
Get OpenSSL on Windowsのセクションに
msysgitインストールからの手順が書かれている。
鍵が出来たら、chocolateyのルートディレクトリに.sshがあるので(無ければ作る)
そこに突っ込んでおく。
Ubuntuサーバー作成 Azureにubuntuを立てる方法は
Newメニューを開いてUbuntuを選択し作るだけ(デフォルトでは12系と14系が選べる)、
UIの画面込みで説明したいけど、すぐUI構成変わりそうなので割愛。
どこに作ればいいのかは料金表と睨めっこして決める
料金詳細:http://azure.microsoft.com/ja-jp/pricing/details/virtual-machines/#linux
作成時に、SSH用の公開鍵を指定する箇所があるので指定する。 指定したusernameをメモっておく。 Createを押して暫く待つと出来てる。
Ubuntuに繋げる sshの接続には以下コマンドを使用する。
ssh -i myPrivateKey.key -p username@servicename.cloudapp.net