ansible的安装笔记
环境
-
- Vagrant
- ubuntu 16
To provide an alternative understanding of a given text, we would need the specific context or sentence that includes the word “目的” . Please provide more information to aid in paraphrasing accurately.
-
- 練習のため、ansibleが動作し簡単なサーバの設定ができることを確認
-
- 基本的なルール・文法の整理
- 一回目は環境の準備・動作確認まで
目标
-
- サーバに定義した設定が導入されていること
- ansibleの基本的な実行方法(次回)
过程
-
- 基本、ansible入門https://qiita.com/G-awa/items/93689f1814a192b5077e を参考にさせていただき、動作させるだけまで確認する
- 作業中気になった点、わからなかった点を調べ、注記する
居无定所的人 (jū wú suǒ de
-
- Vagrantfaileを作成
- ubuntu16を導入する
vagrant init bento/ubuntu-16.04
-
- Vagrantfileを以下設定する
- hostサーバとwebサーバ2台を用意する
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.define "host" do |node|
node.vm.box = "bento/ubuntu-16.04"
node.vm.hostname = "host"
node.vm.network :private_network, ip: "192.168.10.10"
end
config.vm.define "web" do |node|
node.vm.box = "bento/ubuntu-16.04"
node.vm.hostname = "web"
node.vm.network :private_network, ip: "192.168.10.11"
end
end
- この設定で、2台の仮想マシンを立ち上げることができる。
在给定链接的页面中,介绍了如何使用Vagrant同时启动多个虚拟机的多机器设置。
- vagrant ssh ホスト名 で接続ができる
vagrant ssh host
安装ansible
- ホストに接続し、ansibleのインストールを行う
sudo apt-get update
sudo apt-get install software-properties-common
sudo apt-add-repository ppa:ansible/ansible
sudo apt-get update
sudo apt-get install ansible
- インストール完了を確認
vagrant@host:~$ ansible --version
ansible 2.5.2
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/home/vagrant/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.12 (default, Dec 4 2017, 14:50:18) [GCC 5.4.0 20160609]
SSH的配置。
Note: The provided phrase is in Japanese.
-
- サーバ側(host)の設定
-
- クライアント(web)側公開鍵の共有を行う
- ~/に.sshディレクトリを作成し、以下で実行
vagrant@host:~/.ssh$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/vagrant/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/vagrant/.ssh/id_rsa.
Your public key has been saved in /home/vagrant/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:FpWqMDarPPqpc++sHvKdshpZWJZgEn637L4EuJJ4NkI vagrant@host
The key's randomart image is:
+---[RSA 2048]----+
|+o .. |
|+. . .. |
| .+. . .. |
| +o B . .. |
|.E.o B .S |
|o+. + .. |
|Oo=. o |
|oB**o. |
|+OBB*o. |
+----[SHA256]-----+
vagrant@host:~/.ssh$ ssh-copy-id 192.168.10.11 <- <<<< クライアントのIPアドレス
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/vagrant/.ssh/id_rsa.pub"
The authenticity of host '192.168.10.11 (192.168.10.11)' can't be established.
ECDSA key fingerprint is SHA256:l0knxlx4jHjdf9URnGpjQzHAaTPDlRZTyQq7ARpdAP4.
Are you sure you want to continue connecting (yes/no)? yes <- <<<<yesを入力
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
vagrant@192.168.10.11's password: <- <<<<パスワードを入力
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '192.168.10.11'"
and check to make sure that only the key(s) you wanted were added.
- ansibleのhostsファイルを設定
cd /etc/ansible
vim hosts
# This is the default ansible 'hosts' file.
#
# It should live in /etc/ansible/hosts
#
# - Comments begin with the '#' character
# - Blank lines are ignored
# - Groups of hosts are delimited by [header] elements
# - You can enter hostnames or ip addresses
# - A hostname/ip can be a member of multiple groups
# Ex 1: Ungrouped hosts, specify before any group headers.
## green.example.com
## blue.example.com
## 192.168.100.1
## 192.168.100.10
192.168.10.11 <- <<<< クライアント(web)のIPを追記
- クライアント側(web)にpythonを導入
sudo apt-get install -y python-simplejson
服务器和客户端之间的通信确认
- ansible クライアントのIP -m ping コマンドで確認
vagrant@host:/etc/ansible$ ansible 192.168.10.11 -m ping
192.168.10.11 | SUCCESS => {
"changed": false,
"ping": "pong"
}
如果在这个范围内发生错误,将会出现这样的消息
https://qiita.com/azuki19770922/items/ce101cad63f16702eff9#_reference-3003344051e9f97af6f8
主机端的hosts添加设置
-
- .sshディレクトリに
- .ssh/config ファイルを追加
Host web
HostName 192.168.10.11
- この設定によって、ipアドレスを使わなくても
ssh web
- でクライアント(web)側に接続できます
$ssh web
Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-87-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
0 packages can be updated.
0 updates are security updates.
Last login: Tue May 8 12:37:58 2018 from 192.168.10.10
-
- インベントリファイルの作成
ansibleから操作する時、グループ単位で対象を指定することができるように、インベントリファイルを作成する
[]でホストのグループ名を定義し、その下にipアドレスを指定していく
[web] 192.168.10.11
確認
ansible 対象名(全てならall)
-iオプションでインベントリファイルを指定
-mオプションでansibleコマンドを実行
ansible web -i hosts -m ping
-
- ここまでで、環境は準備完了
- 次回、Ansibleベストプラクティスに準拠した、基本的なルール実際の動作を確認
请参考
通过使用vagrant在host、web和db环境上创建并通过ssh连接来入门Ansible。
在ubuntu16.04上安装ansible。