在Ubuntu 16.04上设置Ansible

2020年12月31日19:40:48 发表评论 55 次浏览

介绍

Ansible是一种配置管理系统, 旨在使配置服务器的过程尽可能快速而轻松。尽管Ansible不能提供Chef或Puppet之类的工具的功能或灵活性, 但是许多系统管理员根本不需要或不需要这种复杂性。 Ansible易于使用, 易学且易于部署。

要求

  • 运行Linux的云服务器(Ubuntu 16.04)
  • 第二台运行Linux(任何版本)的Cloud Server用于测试。

安装Ansible

安装软件属性通用包:

sudo apt-get install software-properties-common

添加官方的Ansible PPA:

sudo apt-add-repository ppa:ansible/ansible

确保提示时单击Enter继续。

更新服务器:

sudo apt-get update

安装Ansible:

sudo apt-get install ansible

编辑Ansible主机和组

Ansible使用/ etc / ansible / hosts文件以检查它负责联系的服务器。打开此文件进行编辑:

sudo nano /etc/ansible/hosts

该文件包含许多示例(所有示例均用注释掉)。#符号), 你可以按照以下说明操作。最简单的形式是:

[group name]
IP address or domain name of server 1
IP address or domain name of server 2 
(etc.)

对于此测试, 我们将创建一个名为[pingtest]该地址将具有你要测试的第二台服务器的IP地址(192.168.0.1)。将以下两行添加到文件顶部:

[pingtest]
192.168.0.1

保存并退出文件。

为Ansible组创建目录:

sudo mkdir /etc/ansible/group_vars

为该文件创建一个文件平测组的变量并打开以进行编辑:

sudo nano /etc/ansible/group_vars/pingtest

你可以在这些组文件中放入许多变量。出于测试目的, 我们仅添加一个:Ansible将用于SSH到测试服务器的用户名192.168.0.1.

以以下身份登录测试服务器根, 在此文件中添加以下两行:

---
ansible_ssh_user: root

如果使用其他用户名登录, 请替换为该用户名。

保存并退出文件。

创建和部署SSH密钥

Ansible主服务器将需要能够SSH到其主机服务器, 而无需使用用户名和密码登录。为此, 我们将设置SSH密钥。

在主要的Ansible服务器上, 生成SSH密钥:

sudo ssh-keygen -t rsa

然后将公钥文件复制到测试服务器192.168.0.1:

sudo ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.1

要验证SSH密钥设置正确, 请从Ansible主服务器SSH到测试服务器:

ssh root@192.168.0.1

你无需输入用户名和密码即可登录到远程服务器。

测试Ansible部署

采用ansible -m ping全部ping所有主机, 以验证Ansible设置正确。服务器将响应:

root@localhost:~# ansible -m ping all
70.35.206.233 | SUCCESS => {
    "changed": false, "ping": "pong"
}
一盏木

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: