そうそう、adachin-serverをクラウドへリプレイスしようと思いAnsible化してplaybook作ってdry runしたらエラーが出た。ちなみにOSはうぶんちゅ。
■なんじゃこりゃ
fatal: [126.235.13.154]: UNREACHABLE! => {“changed”: false, “msg”: “Authentication or permission failure. In some cases, you may have been able to authenticate and did not have permissions on the remote directory. Consider changing the remote temp path in ansible.cfg to a path rooted in \”/tmp\”. Failed command was: ( umask 77 && mkdir -p \” echo ~/.ansible/tmp/ansible-tmp-1490430435.64-164784626395809
\” && echo ansible-tmp-1490430435.64-164784626395809=\” echo ~/.ansible/tmp/ansible-tmp-1490430435.64-164784626395809
\” ), exited with result 1″, “unreachable”: true}
基本ローカルからadachin-serverに叩くのだが、こんなエラーは初めて見たぞ!
グるとUbuntuでハマってる海外の人がいた。
■Change Ansible Temporary Directory
https://davesnigier.com/changing-ansible-temporary-directory/
参考にした上記のブログだが、基本Ansibleは対象ホストに実行可能ファイルを作って、(ホームディレクトリに)それを実行していることがわかる。 実行後はそのファイルをrmで削除している。流れ的なものはansible実行時に-vvvvオプションをつければ見れるはず。なので、ホームディレクトリ配下にしないようにしてエラーを出さないようにしている。
1 2 |
$ vim ansible.cfg remote_tmp = /tmp/.ansible-${USER}/tmp |
やってみたが。。。なんかできなかったw
■もう少し調べてみた
しょうがないので実行ユーザのホームディレクトリの.ansibleディレクトリを調べてみた。
1 2 |
rvirus@adachin-server > ll -al drwx------ 3 root root 4096 10月 19 17:43 .ansible/ |
ん10月になんかやってるぞwということで一旦削除する。
・playbook叩く
1 2 3 4 5 6 7 8 9 |
RVIRUS@Adachin-mini > ansible-playbook -i hosts -u rvirus adachinserver.yml --check PLAY [adachin] ***************************************************************** TASK [setup] ******************************************************************* ok: [126.235.13.154] TASK [mackerel-agent : add repository 'mackerel'] ****************************** changed: [126.235.13.154] |
できた。
■まとめ
Ansible化もしたし、どのクラウドにしようか迷う。AWSは普段使ってるからGCPにしたいんだけど、意外と値段が高かった。。
https://cloud.google.com/pricing/list?hl=ja
1コア4GBで3500円くらいか・・・AWSの方が安いんじゃないの。あとはdigital oceanか。
→https://www.conoha.jp/docs/compute-create_vm.htmlと思ったけどconohaのapi豊富!
0件のコメント