想问一下Ansible是什么?构建管理工具「Ansible」的安装步骤
现在虽然有点晚,但是我很想装作厉害的样子问一句“先暂停吗?”或者“不先暂停吗?”所以要去学习。
环境
管理サーバー
OS : CentOS 6.6 64bit Plain (CentOS 64bit)
Ansibleをインストールするサーバー
管理対象サーバー
OS : CentOS 7.1 64bit Plain (CentOS 64bit)
Ansibleを使って構築される(する)サーバー
クラウドサービスで払い出したばかりで何もしていないです
设置管理服务器
Ansible 的安装
-
- epelリポジトリが追加済みであればyumでインストールできます
yum install ansibleで完了
バージョン:1.9.4-1.el6(2016/03/05現在)
設定公開鍵認證
根据所使用的云服务规范,只允许使用公钥认证进行SSH连接,因此我们已经对管理服务器进行了相应设置,以便能够连接到受管理的服务器。
-
- 创建密钥文件夹的目录结构
mkdir ~/.ssh/identityFile
更改密钥文件夹的权限
chmod 700 ~/.ssh/identityFile
配置私钥文件
例如放置在以下位置
~/.ssh/identityFile/×××.pem
更改私钥文件的权限
chmod 400 ~/.ssh/identityFile/×××.pem
创建.ssh/config文件。
为了方便从管理服务器轻松地通过ssh连接到受管理的服务器,创建一个~/.ssh/config文件。由于Ansible需要通过ssh连接到受管理的服务器并将配置信息传输过去,因此设置别名会更加方便。
Host hogeee #接続ホストのエイリアス(あだ名)
Hostname ×××.×××.×××.××× #管理対象サーバーのIP
Port 22 # sshのポート(要変更)
User root # ログインユーザ
IdentityFile ~/.ssh/identityFile/×××.pem # 秘密鍵のPATH
パーミッションを600に変更
chmod 600 .ssh/config
管理サーバーからssh hogeeeで接続できればOK
创建事件文件
-
- Ansibleでは管理対象のサーバーをインベントリファイルに記載する必要があります
-
- デフォルトでは実行時に/etc/ansible/hostsを読み込む
- オプションで読み込むイベントリファイルを指定することができるので、今回はホームディレクトリ配下にinventoryファイルを作成してしまう
mkdir ~/ansible
echo hogeee > ~/ansible/inventory
使用Ansible启用.ssh/config文件。
-
- ansible.cfgでAnsibleがssh接続する際に作成した~/.ssh/configをロードする様に明記する
/etc/ansible/ansible.cfgの[ssh_connection]の部分に以下を追加
~/.ssh/configと書くとansibleの実行時にユーザが切り替わるらしく『No such file or directory』と言われるのでフルPATHで指定
[ssh_connection]
ssh_args = -F /hoge/hoge/.ssh/config
如果忘记了这个设置, 即使运行$ ansible -i ~/ansible/inventory hogeee -m ping ,也会显示“未找到匹配的主机”
设置受管理的服务器
-
- 特になし!(強いて言うならFWの確認くらい?Pythonもデフォルトで入っているし。)
Chefのchef-clientみたいなものも入れる必要もない!
确认
测验方式
-
- AnsibleのPingModuleを使って確認する
PingModuleは管理対象ホストに接続し、Pythonが利用可能か確認し可能であればpongを返してくれるテスト用モジュール
振り払う
-
- 管理サーバーでansibleを実行して管理対象サーバーと疎通確認
-iオプションでイベントリファイルを指定する
-mオプションで利用モジュールを指定
鍵認証のPWが聞かれるので入力(結構しつこく聞かれるのでのちのち簡略化させる)
ansible -i ~/ansible/inventory hogeee -m ping
hogeee | success >> {
"changed": false,
"ping": "pong"
}
- 上記の様に返却されればOK。セットアップ完了。
下次,我将认真地沟通/交流。
在中文中只需要一个选项来表达参考。
-
- Documentation
-
- Inventory-File
-
- Ansible Tutorial
- ansible.cnfでssh_configを設定する