从最佳实践开始使用Ansible

目标

对于对Ansible感兴趣,并且想要亲自使用Ansible进行服务器配置管理体验的人。

首先

本次活动我们将按照Ansible官方网站上公开的目录布局,进行实际的Ansible操作实践。

关于Ansible的最佳实践

请在实践之前先阅读下面的幻灯片。

现场操作

准备环境

    • Virtual Box

 

    Vagrant

GitHub -> GitHub(一个代码托管平台)

虚拟环境建立

$ git clone https://github.com/yukihirai0505/ansible-best-practice-hands-on
$ cd ansible-best-practice-hands-on
$ vagrant up

在这里暂且。

ansible最佳实践-实操/httpd存储

我试着看一下里面的内容。

这次的形象

    • ステージング

 

    プロダクション

尝试在每个环境中安装Nginx,并将简单的HTML文件显示出来。

尝试通过选项对本地主机进行配置管理。

关于库存的问题

以下的文件对应于库存文件。

    • localhost

 

    • stage

 

    production

写有关管理哪台服务器的文件。

在这里,我们将写下IP地址、主机名以及每个阶段的变量等内容。

关于Playbook

以下的文件相当于Playbook。

    • site.yml

 

    • fooapp.yml

 

    • localhost.yml

 

    rolesディレクトリ配下

在这里我们将安装Nginx,并描述配置服务器,包括传输模板文件等。

关于命令

    • ansible

 

    • ansible-playbook

 

    ansible-galaxy

关于Ansible

ansible all -m ping

可以很容易地验证Ansible的运行行为。

有关ansible-playbook

可以在指定的库存中执行Playbook。

ansible-playbook -i [inventory] [playbook].yml

另外还可以执行干运行。

ansible-playbook -i [inventory] [playbook].yml --check

关于ansible-galaxy

如果你是Ansible的初学者,可以先从Ansible Galaxy开始尝试,根据一篇文章所说,阅读galaxy中的配置也可以作为学习ansible的一个途径。

关于模块

实际亲自尝试运行

在主机服务器上进行ansible配置。

首先,在执行ansible的服务器上进行ansible的安装和ssh的配置。

    ansibleのインストール
$ vagrant ssh host
vagrant@host$ wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
vagrant@host$ sudo rpm -Uvh epel-release-6-8.noarch.rpm
vagrant@host$ sudo yum -y install ansible
# ansible2系が入っているか確認
vagrant@host$ ansible --version
vagrant@host$ touch ~/.ssh/config
    sshの設定
Host stage
 HostName 192.168.43.52
Host production
 HostName 192.168.43.53
vagrant@host$ chmod 600 .ssh/config
vagrant@host$ ssh-keygen -t rsa
vagrant@host$ ssh-copy-id stage
# Enter yes,vagrant
vagrant@host$ ssh-copy-id production
# Enter yes,vagrant

现在可以在这个环境下运行ansile了。

接下来,在主机服务器上,将目录更改为 /var/www/html。

vagrant@host$ cd /var/www/html

你可以使用各自的Playbook。

为了舞台表演而设计

vagrant@host$ ansible-playbook -i stage site.yml

只需提供一种中文选项:
适用于生产线的

vagrant@host$ ansible-playbook -i production site.yml

通过访问各自的IP地址,您可以查看 index.html 的内容。

Host stage
 HostName 192.168.43.52
Host production
 HostName 192.168.43.53

在本地环境下执行

也可以对主机服务器进行配置管理。

首先,使用ansible-galaxy工具安装Java角色。

ansible-galaxy install -p ./roles geerlingguy.java

接下来执行适用于本地主机的playbook。

vagrant@host$ ansible-playbook -i localhost localhost.yml

我们实际上可以确认主机服务器上已经安装了Java。

java -version
bannerAds