Ansible(二) - 配置及命令简介

Ⅰ. Ansible配置

# mkdir /etc/ansible
# touch /etc/ansible/hosts
# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.137.6 client
192.168.137.5 server
192.168.137.7 web1
192.168.137.8 web2
# cat /etc/ansible/hosts
[local]
server
client
[web]
web1
web2

我这里就添加了两个主机组:local、web,每个主机组两台主机。

这里你可以把同一类主机或者是想统一管理的主机放在一个主机组里。

Ⅱ. Ansible命令

1> 执行第一条ansible命令

# ansible local -m ping  #使用ping模块
                server | UNREACHABLE! => {
                      "changed": false,
                      "msg": "Failed to connect to the host via ssh: Permission denied  (publickey,gssapi-keyex,gssapi-with-mic,password).\r\n",
               }

                client | UNREACHABLE! => {
                      "changed": false,
                      "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).\r\n",
               }

由于ansible是基于ssh,这里我们先要配置公钥。

# ssh-keygen -t rsa

# ssh-copy-id -i [email protected]192.168.137.6 #为ansible管理的主机安装server的公钥

再次运行上一条命令:

# ansible local -m ping
                server | SUCCESS => {
                    "changed": false,
                    "ping": "pong"
                }

                client | SUCCESS => {
                    "changed": false,
                    "ping": "pong"
                }

2> 其他命令简介

查看local组主机内存使用情况:

# ansible local -a "free -m"
server | SUCCESS | rc=0 >>
              total        used        free      shared  buff/cache   available
Mem:           1496         540         325          10         630         751
Swap:          2047           0        2047
client | SUCCESS | rc=0 >>
              total        used        free      shared  buff/cache   available
Mem:           1496         453          91           6         951         844
Swap:          2047           3        2044
 

若要执行带有管道的命令,可使用shell模块:

# ansible local -m shell -a "df -h | grep /home"
server | SUCCESS | rc=0 >>
/dev/mapper/cl-home   16G  187M   16G   2% /home
client | SUCCESS | rc=0 >>
/dev/mapper/cl-home   16G  187M   16G   2% /home

限定命令只在一台client主机生效:

# ansible -a "df -h" --limit "client"

其他ansible参数可使用ansible -h查看。

3> 常用模块命令举例

①file模块

创建文件符链接:

# ansible local -m file -a "src=/etc/resolv.conf dest=/tmp/resolv.conf state=link"

更改文件权限为755,属组为root:root:

ansible local -m file -a "dest=/tmp/resolv.conf mode=755 owner=root group=root"

②service模块

启动NTP服务:

# ansible local -m service -a "name=ntpd state=started enabled=yes"

③copy模块

将本地文件拷贝到远程服务器:

# ansible local -m copy -a "src=/etc/ansible/ansible.cfg dest=/tmp/ansible.cfg owner=root group=root mode=0644"

更多模块请参考命令ansible-doc -l

模块官网http://docs.ansible.com/ansible/latest/list_of_all_modules.html

时间: 2024-10-06 22:10:58

Ansible(二) - 配置及命令简介的相关文章

Linux命令:网络配置常用命令

网络配置常用命令简介:    在Linux中网络属于内核的功能 1. 执行命令生成地址:(执行后立即生效,服务重启后失效) RHEL5: /etc/modprobe.conf  RHEL6: /etc/udev/rules.d/70-persistent-net.rules  alias ifconfig [ethX]     -a: 显示所有接口的配置住处      ifconfig ethX IP/MASK [up|down]     配制后立即生效,重启后网络服务或主机失效 网络服务:  

思科命令配置小技巧二:macro命令

在 思科命令配置小技巧一中,我们谈到,使用range命令可以简化我们的配置 但是如果我们经常对一组不连续的端口进行操作 比如 interface-range  fa1/1 ,fa1/3 ,fa1/5 ,fa1/7 ,fa1/11 即使使用range命令也会显得很繁琐 我们总想越简单越好(命令敲再多,工资还是那个数,要是按命令字数算工资多好) 此时交换机的宏命令就派上用场了 suzhouxiaoniu(config)#define interface-range abc fa1/1 ,fa1/3

maven学习教程(二)—— 常见命令、配置解析、HelloWorld

[摘要] |-- 常见命令介绍 |-- maven项目骨架介绍 |-- maven项目配置文件介绍 |-- DEMO:HelloWolrd |-- 通过一个简单的项目 |-- 熟悉项目骨架 |-- 熟悉常见命令及常见命令的作用 |-- 熟悉配置文件的一些常见配置 |-- 常见命令操作 |-- (1)mvn clean--使用maven清空编译:运行清理操作,会默认吧target目录清理掉 |-- (2)mvn clean compile--使用maven编译项目:运行清理,再运行编译操作:代码编

ansible安装配置

ansible配置与安装 一.安装 1.安装python # tar xvzf Python-2.7.8.tgz # cd Python-2.7.8 # ./configure --prefix=/usr/local # make --jobs=`grep processor/proc/cpuinfo | wc -l` # make install 或者直接安装好yum源 yum install python* 因为ansible是python语言写的.所以需要python的支持. 2.安装an

自动化部署工具——Ansible二次探索

playbook简介     playbook是ansible用于配置.部署和管理被控节点的剧本,通过playbook的详细描述,执行其中的一系列tasks,可以让远程主机达到预期的状态,playbook就像Ansible控制器给被控节点列出的一系列to-do-list,而被控节点必须要完成. 也可以这样理解,pplaybook是由一个或多个"play"组成的列表.play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色.从根本上来讲所谓task

su和sudo命令简介

一.su命令简介及用法 1.su命令简介 su用于用户之间的切换.但是前面的用户依然保持在登录状态.这种切换如果超级权限用户root向普通或虚拟用户切换不需要密码,而普通用户切换到其它任何用户都需要密码验证. 2.常用用法说明 普通用户在使用su命令时不加参数及使用参数-所带来的结果是有区别的: su在不加任何参数,默认为切换到root用户,这里需要输入root用户的密码,但没有转到root用户家目录下,也就是说这时虽然是切换为root用户了,但并没有改变为root登录环境: su 加参数 -

嵌入式 Linux根文件系统移植(二)——根文件系统简介

嵌入式 Linux根文件系统移植(二)--根文件系统简介 根文件系统是内核启动时挂载的第一个文件系统,内核代码映像文件保存在根文件系统中,而系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行. 一.嵌入式设备文件系统 在嵌入式Linux应用中,主要的存储设备为 RAM(DRAM, SDRAM)和ROM(常采用FLASH存储器),常用的基于存储设备的文件系统类型包括:jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tm

Ansible 二(新手上路)

Ansible 二(新手上路) 1.远程连接概述 远程控制: ansible1.2版本及以前的版本,默认使用python写的paramiko模块进行控制linux主机. ansible1.3版本以后,默认使用openssh进行控制linux主机,并开启了ControlPersist来优化连接速度和认证(centos6.0/RHEL6以后全已经支持). 远程传输: 默认使用SFTP传输:如果不支持可以修改配置文件为SCP模式传输. ansible配置文件详解:http://www.ansible.

(一)ansible 安装配置

CentOS 7.5 一,安装 yum -y install ansible 二,配置hosts文件 /etc/ansible/hosts s1 ansible_ssh_port=65522 ansible_ssh_host=10.0.0.1 ansible_ssh_user=simon 常用参数配置: ansible_ssh_host # 目标主机地址 ansible_ssh_port # 目标主机端口,默认22 ansible_ssh_user # 目标主机用户 ansible_ssh_pa