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
スクリーンショット 2018-06-01 20.55.07.png
    • ここまでで、環境は準備完了

 

    次回、Ansibleベストプラクティスに準拠した、基本的なルール実際の動作を確認

请参考

通过使用vagrant在host、web和db环境上创建并通过ssh连接来入门Ansible。
在ubuntu16.04上安装ansible。

广告
将在 10 秒后关闭
bannerAds