ようやくAnsibleの入り口にたどりつけた…
VagrantでCentOSの仮想環境を作って、Ansibleでアプリデプロイが今風らしいので(出遅れ)勉強してみたんですが、Ansibleで小さなサンプル動かせるくらいの入り口に辿り着くまで、結構かかってしまった…(´・ω・`)
帰宅して子供が寝てから1,2時間ペースなのでボチボチ前進すな。
一方、今月はじめから客先常駐になってしまってAzure資格の方はさっそく頓挫しております。
だいたい、やりますって宣言すると頓挫するよね。(ダメ)
常駐案件で使うべくAnsibleの勉強を先にやっとこうかなと。
PowerShellもSSH対応されたらAnsibleからAzure操作できるようになるんじゃろか。
さて、ではAnsible入り口までの足跡を備忘として書いてみます。
Mac OS X 10.10.3 Yosemite 使っていますけど、Macも初心者です。(´・ω・`)
やったこと。
1. Vagrantをインストール…の前にHome brew インストール
Macでソフトウェア管理ってよく知らなかったので、Homebrew を入れることにしました。
以下、参考にさせていただきました。Homebrew-cask でVirtualBoxとかも扱えるんですね。
Homebrewでパッケージ管理を行う方法 ‹ 技術の犬小屋
2. VirtualBoxとVagrantをインストール
brew cask からインストールしました。
VirtualBox+Vagrant を作っても仮想OSインストールするの面倒だなと思ってたら、ネットからイメージを取ってくるサービスがあるんですね。すごい。
Vagrantbox
http://www.vagrantbox.es/
でも、こういうのってセキュリティの心配とか大丈夫なんでしょうか。
勉強で使う分には、まぁいいけど業務で使う場合には自前でOSインストールからやったほうがいいんですかね。(´・ω・`)
3. Vagramtをさわってみる
Boxから仮想イメージを取得してOSの起動と停止をやりました。
vagrant box add ...
vagrant up
vagrant ssh
vagrant halt
vagrant destroy あたりを試しました。
とりあえず、コマンドラインから起動・ログイン・停止あたりができればOKかな?
4.Ansible チュートリアルに取り組む
Ansibleを使って複数台ホストを操作するいい感じのチュートリアルを発見したので、ここからは以下のサイトをなぞることに。(そして、少しハマることに)
Ansible チュートリアル | Ansible Tutorial in Japanese
Ansible はbrew からインストールしました。
4.1 Vagrantfile を編集して2台起動できるように
上記サイトにある通りにVagrantfile を編集して node1, node2を起動可能にしました。
自分の目標はnode1にWebサーバー環境を作って、fluentdでnode2にログを送って node2側 fluentdで集計する…までやってみたいところですが。果たして。
4.2 Ansibleのssh接続にVagrant用秘密鍵をコピー
node1からnode2へも ansibleでpingが打てるように秘密鍵をコピーとのことですが、ここで少しハマりました。秘密鍵がない!!(あるけど鍵が違ってて接続できない。だったかな?)
どうも vagrant 1.7 より秘密鍵ファイルの場所が変わったぽいです。
Vagrant 1.7.1導入したら若干不具合が発生したのでメモ - re:inventing the wheel
前:~/.vagrant.d/insecure_private_key
後:./.vagrant/machines/default/virtualbox/private_key
なおVagrantfile に以下を記述すれば、個別フォルダにキーが作成されない模様
config.ssh.insert_key = false
4.3 Ansibleでsshユーザーを指定する
以下を参考にさせて頂きました。
インベントリファイルに ansible_ssh_private_key_file と ansible_ssh_user を書いています。
Ansibleでsshユーザを指定する - Qiita
4.4 pingは通るがcopyでハマる
上記までで、ansibleコマンドから node1 にping が打てるようになりました。
momoizo$ ansible all -i hosts -m ping 192.168.33.11 | success >> { "changed": false, "ping": "pong" }
が、Macからnode1にファイルコピーを試してみたらエラー(´・ω・`)
momoizo$ ansible all -i hosts -m copy -a "src=/xxx/momoizo.txt dest=~/momoizo.txt" 192.168.33.11 | FAILED >> { "checksum": "4c31f8b889d4b1c477941a45ec2d2ccd48775b94", "failed": true, "msg": "Aborting, target uses selinux but python bindings (libselinux-python) aren't installed!" }
どうも CentOS(node1)でSELinuxが有効になっているせいらしいです。
解決策としては、libselinux-python をインストールせよ・・・と
4.5 Ansibleでlibselinux-python をインストールする
playbookで SELinuxがインストールされている場合で、かつ無効でない場合に libselinux-python をインストールするように組んだ方を発見。すごい。
Ansible GalaxyにGitBucketのroleを登録した
http://sankakuvalidator.hatenablog.com/
というわけで参考にさせていただき、初playbook に挑戦
playbook のひな形は以下のサイトの下の方に出てくる ping モジュールを使った Yaml ファイルをベースにしました。task:部分に上記サイトのタスクをコピーっと。
Ansibleのドキュメントを読んでみたメモ - Qiita
4.6 getenforce で ”[Errno 2] No such file or directory” でハマる
上記で作った playbook を実行してみると、どうも No such file or directoryエラーが出て動かない。YAMLの書き方の問題なのか切り分けができなかったので、ansibleコマンドで単体実行してみる。
momoizo$ ansible all -i hosts -m command -a "getenforce" 192.168.33.11 | FAILED | rc=2 >> [Errno 2] No such file or directory
やっぱりダメ。
vagrant sshでログインして getenforceしたら動くので、ansibleに何か足りないんじゃろか?と思ってたら違いました。
ansibleでsshした際のパスが足りてなくて"コマンドが見つかりません”的な状態が上記エラーで出てました。
なーんだ。
momoizo$ ansible all -i hosts -m command -a "which getenforce" 192.168.33.11 | FAILED | rc=1 >> which: no getenforce in (/opt/python-2.7/bin:/usr/local/bin:/bin:/usr/bin) momoizo$ ansible all -i hosts -m command -a "/usr/sbin/getenforce" 192.168.33.11 | success | rc=0 >> Enforcing
getenforceをフルパス指定したら動いた。
というわけで、playbook の方は一旦 sudo: true を記述して動くようにしました。 無事 node1 に libselinux-python がインストールされてファイルコピーも動くようになったぽい。
でもsudoで解決もイマイチのような… sshログイン時とsshコマンド実行時のパスの違いをでなくする方法を調べなくては。
で。今ここです。
進みは遅いですが、vagrant, ansible のssh関連の設定場所が分かったし、コマンドの使い方や playbook の使い方も少しわかりました。
ようやく入り口にたどりつけた感じ…
次は node1にwebサーバー環境作って、fluentd入れてログ収集して… というのを目指したいと思います。
あと、Webで調べると誰かのまとめ記事がすぐ見つかって入門者としてはすごくありがたい反面、ソフトウェアのバージョンが古くて動作が違ってハマるということもしばしばでした。 英語力をアップして、まずは公式のGetting Start的なものから読み始めるくらいになりたいなぁと改めて思いました。 がんばらんと(´・ω・`)
↓これは買いました。自分はAmazonじゃなくてGumroad からです。
- 作者: 若山史郎
- 発売日: 2014/07/30
- メディア: Kindle版
- この商品を含むブログ (2件) を見る
Microsoft Azureの資格に向けて勉強してみます
Microsoft Azure のMachine Learning (機械学習)が面白そうだよね。みたいな感じの話に会社でなりまして。
会社で詳しい人がいないので(多分)、社内で第一人者っぽくなれれば仕事もらえるんじゃないかと思い資格取得にチャレンジしてみようと思います。(´・ω・`)
それにしても、ちょっとググってみたんですが資料少ないですね・・・ 書籍もAmazonで調べてみても大半が2012年頃出版でタイトルもWindows Azureだし。
(2014年にMicrosoft Azureに変わってたんですね)
模擬試験ぽいものを探したら、なんか日本語怪しいサイトばっかりなんですが・・・
最新70-532日本語試験問題集、70-532日本語過去問、70-532日本語資格認定
最近、より多くの人たちがMicrosoft 70-532日本語資格を取得したいです。 … ここまでになるまだ不安がありましたら、JPshikenを利用する前に、一部の問題と解答を無料にダウンロードしてみることもできます。 さあ、JPshikenを信じって、自分の道路を踏み始めましょう!
不安だよ。超不安だよ。この日本語力 ”信じって”ってなんや… (´・ω・`)
最新の高効率のMicrosoft 70-532日本語試験問題集、100%合格できます!
万が一70-532日本語認定試験に落ちると、こちらも全額返金を承諾いたします。だから弊社で安心で購入することができて、後顧の憂いがありません。
まぢかよー ”後顧の憂い”って調べちゃったよ…日本語教わってしまった(´・ω・`)
ちゃんとしたのが見つからないんだけど、これ買っても大丈夫なのかなぁ・・・
購入者の方、おられましたら評価教えて頂けると嬉しいです。
とりあえず公式サイトの情報に目を通してみて考えよう。
ASP.NETも業務では使ったことないし、IISも6をちょっと触った程度だけど 果たして資格取得にどのくらいかかるやら。
これからはMacでDockerでClojureやるっしょ!と思って、MacBookPro買っちゃたんだけどなぁ。
とりあえずWindows環境どうしよ・・・
- 作者: Bruce A. Tate,まつもとゆきひろ,田和勝
- 出版社/メーカー: オーム社
- 発売日: 2011/07/23
- メディア: 単行本(ソフトカバー)
- 購入: 9人 クリック: 230回
- この商品を含むブログ (63件) を見る
プロフィール画像が変わらないとか。
うぅむ
プロフィール画像設定してるつもりなんだけどな… 変わらん…(´・ω・`)
はてなブログのヘルプ見たら”強制再読み込みをしても反映されない場合には、1~2日程度お待ちいただき、再度強制再読み込みを行ってください。”ってなってた。
タイトル画像、今日の1枚、プロフィール画像を変更したのですが、変更が反映されません。 http://www.hatena.ne.jp/faq/qa/diary#190190368495538719
結構時間かかのねん… テンプレート変えたら反映されるかと思ってデザイン変えちゃったよ。
というわけでカワイイ感じになってますがオッサンが書いてます。すみません。(´・ω・`)
そういえば昨今はQiitaを使うのも流行ってるみたいですね。 私もどちらをメインで使うべきか一瞬迷ったんですが、そうなるとブログとの住み分けがまた悩ましい。 で、調べてみたところ「Qiitaはプログラミングの知識共有目的で事実を書く。それ以外はブログ。」と解説されてる方がおられました。
自分的にも割りとシックリ感があったので、そんな感じで頑張ってみようと思います。
とは言え、まずはアウトプットの継続力を上げていくところからなので、整理した記事をQiitaにアップ出来る日は少し遠そうではあります… ブログ継続とかムズい(´・ω・`)
20代の頃は「xxx言語が出来ます」とか「xxxフレームワーク使えます」を売り文句に仕事が選べたものですが、40過ぎるとなかなかそうも行きません。 子育てしながら新しい技術のキャッチアップってだけでもヒィヒィなのに、ライバルが若くて優秀なエンジニアってわけですからもう、とりあえず現実逃避してパズドラですよ。
ガチャ回しちゃうぞーこのー
そんなオッサンエンジニアの残り20年生き残り戦略の一つとしては、アウトプット力を高めて、社内エバンジェリスト的ポジションを狙え得ないかなと思う次第なのであります。
「いい歳なんだから素直にマネジメント力とコミュ力を上げなさい」という天のお告げが耳元でささやきますが…もうちょっとだけプログラミングしたいやん。(´・ω・`)
英語で指
- finger は、日本語で言うところの”指(手・足問わず指)”ではない。(!)
- finger は手の指のみを指す。さらに、親指を含むかどうかで意見が分かれる模様
親指は thumb その他4本の指がfingerで、親指はfingerではない!という意見がある
人差し指をfirst fingerと言う場合があるのも、この考え方から来ているのかも
一方、fingerは語源のfive(5)とつながるので、親指を含まないとも言い切れないという説も - 足の指は toe を使う。finger は使わない
- digit は、手・足の指を指すのに使える
指折り数える--デジタルの語源
http://www2.kyoto-wu.ac.jp/club/blog-kyoin/blog.cgi?mode=detail&teacher_id=mizuno&entry_id=490
MacBookPro買いました
齢40歳を前に、いまさら「スマホ開発でもやってみるか〜」
ということで、おもむろにMacBookPro (Retina 15inch Late 2013)を
mac整備済品で買ってみました。
開発環境は少し高くても新しいものがいいと思っていたのですが、調べてみたら2014年に発表されたMacBookProってCPUのクロック以外変わってないらしく、0.2Ghzのために4万円はちょっとなぁ・・・
「差額でプラレール買ってやれるなぁ」とか脳裏をよぎってしまったあたりで、コスパを優先することに決めました。
Haswell Refreshってなんぞや?と思って、こちらも調べてみたんですが本当にクロック数以外変わってないみたいだし。
2015年登場予定のbroadwellまでのつなぎって感じなんでしょうか。
ばばーん
梱包時の写真も撮ってたつもりだったんですが、みつからず・・・いきなり開封後の写真になってしまった。
ちょっと味気ない箱(?)に入った状態で送られてきましたが、中身はまったく問題ありませんでした。
Apple製品って箱開ける前のワクワク感も半端ないイメージなので、そのあたりは整備済品の違いかもしれません。Mac買うの初めてなので通常盤の梱包がわかりませんが・・・
なんとか、この年末年始の休み中にiPhoneアプリ一個くらいつくりたいなぁ
Macの使い方もおぼつかないけど大丈夫かいな。(気がつけばコピー&ペーストするのにCaps+C, Caps+V押しちゃってるし・・・)
キーボード光るのいいですね。
あと起動がめっちゃ早くて感動しました。