ansible安装和常用的命令

简介:

wKiom1evSELiSw8AAACIlNGJTgU249.png-wh_50

1.建立ssh无秘钥认证的关系

1
yum  -y  install   expect

 1.1cat auto_deploy.sh 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/sh
/etc/init .d /functions
#1.product key pair
ssh -keygen -t dsa -P  ''  -f ~/. ssh /id_dsa  > /dev/null  2>&1
  if  [ $? - eq  0 ]; then
   action  "create dsa success"  /bin/true
  else
   action  "create dsa failed"  /bin/false
   exit  1
fi
#2.dis pub key
for  ip  in   ` cat  ip.txt`
do
  expect expect_fenfagongyao.exp  ~/. ssh /id_dsa .pub $ip > /dev/null  2>&1
   if  [ $? - eq  0 ]; then
      action  "$ip"  /bin/true
   else
      action  "$ip"  /bin/false
   fi
done

1.2cat expect_fenfagongyao.exp 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/expect
    if  { $argc != 2 }  {
        send_user   "usege: expect expect_fenfagongyao.exp file host\n"
        exit
       }
##define var
set  file  [lindex $argv 0]
set  host [lindex $argv 1]
set  password  "123456"
spawn  ssh -copy- id  -i $ file  "-p 22 root@$host"
     expect  {
             "yes/no"   {send  "yes\r" ;exp_continue}
              "*password"   {send  "$password\r" }
     }
expect eof   
exit  -onexit {
   send_user  "say good bye to you!\n"
}

1.3 cat ip.txt 

1
2
172.16.1.10
172.16.1.27

2.安装ansible

说明:采用yum安装,源码包安装特别麻烦

2.1.基本的设置

1
2
3
4
5
6
7
8
9
yum -y  install  ansible
cd   /etc/ansible
ll
ansible.cfg    #ansible的系统配置文件
  hosts       #客户端的主机的配置文件
/etc/ansible/hosts 文件的最后添加:
[webservers]
172.16.1.10
172.16.1.27

2.2查看常用的模块

1
2
3
4
5
6
7
8
9
10
[root@centos67 ansible] # ansible-doc  -l
a10_server                         Manage A10 Networks AX /SoftAX/Thunder/vThunder  devices                          
a10_service_group                  Manage A10 Networks devices' service  groups                                     
a10_virtual_server                 Manage A10 Networks devices' virtual servers                                    
acl                                Sets and retrieves  file  ACL information.                                        
add_host                           add a host (and alternatively a group) to the ansible-playbook  in -memory inventor...
airbrake_deployment                Notify airbrake about app deployments                                           
alternatives                       Manages alternative programs  for  common commands                                
apache2_module                     enables /disables  a module of the Apache2 webserver                              
apk                                Manages apk packages

2.2ansible常用的命令总结

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ansible  webservers   #webservers模块
ansible  all   #所有的模块
ansible webservers -m  ping    #查看主机存活状态
  ansible webservers -m shell  -a  "bash  /tmp/test.sh"   #远程执行shell脚本,执行客户端的/tmp/test.sh 脚本
ansible webservers  -m script -a  '/root/run.sh'   #执行脚本/root/run.sh  为本地的脚本
ansible webservers  -m    command   -a   'uptime'   #远程执行命令
ansible webservers  -m  command   -a   'yum  -y install  httpd'   #远程安装apache
ansible   webservers  -m service  -a   'name=httpd state=started'
name:软件的名字
stated:有started  stoped  restarted  reloaded
  ansible webservers  -m copy -a   'dest=/tmp src=/root/run.sh'  #本机的/root/run.sh 拷贝到客户机/tmp下
ansible all  -m  cron   -a   'name="cron job" minute=*/5 hour=* day=* month=* weekday=* job="/usr/sbin/ntpdate time.nist.gov"'     #定时任务
ansible webservers -m  file  -a  "dest=/tmp/test.sh mode=777 owner=sanlang group=sanlang"  #修改客户端文件权限
  ansible -i  /etc/ansible/hosts   webservers   -m setup   #查看客户端主机的详细信息
ansible webservers -m  file   -a   "src=/etc/fstab dest=/tmp/fstab state=link"  #创建软连接









本文转自 小小三郎1 51CTO博客,原文链接:http://blog.51cto.com/wsxxsl/1837689,如需转载请自行联系原作者
目录
相关文章
|
7月前
|
Kubernetes Shell 网络安全
ansible的安装和简单的块使用
Ansible是一种自动化工具,用于配置管理、应用程序部署和协调云部署。它是一个开源工具,使用Python编写,通过SSH协议与远程主机通信。
185 2
ansible的安装和简单的块使用
|
4月前
|
存储 Ubuntu Linux
在Ubuntu 14.04上安装和配置Ansible的方法
在Ubuntu 14.04上安装和配置Ansible的方法
38 1
|
5月前
|
Shell 数据安全/隐私保护
Ansible Ad-hoc,命令执行模块
Ansible Ad-hoc,命令执行模块
62 1
|
5月前
|
Serverless 网络安全 Python
Ansible原理和安装
Ansible原理和安装
86 1
|
4月前
|
JSON 运维 Ubuntu
在Ubuntu 18.04上安装和配置Ansible的方法
在Ubuntu 18.04上安装和配置Ansible的方法
76 0
|
4月前
|
JSON 运维 Linux
在CentOS 7上安装和配置Ansible的方法
在CentOS 7上安装和配置Ansible的方法
202 0
|
7月前
|
存储 运维 Shell
Ansible自动化运维工具安装和基本使用
Ansible 是一款无代理的IT自动化工具,通过SSH连接目标主机执行配置管理、应用部署和云端管理任务。它使用YAML编写的Playbook定义任务,核心组件包括Playbook、模块、主机清单、变量等。Ansible的优势在于易用、功能强大、无须在目标主机安装额外软件,并且开源。安装过程涉及配置网络源、yum安装和SSH密钥设置。通过定义主机清单和使用模块进行通信测试,确保连接成功。
260 2
Ansible自动化运维工具安装和基本使用
|
7月前
|
运维 Linux Shell
Ansible的介绍与安装
**自动化与Linux系统管理**\n\n学习自动化运维能减少手动任务的错误和遗漏,提高效率。Ansible是一款Python开发的自动化工具,支持多平台,实现批量配置、部署和命令执行。它是无代理的,通过SSH连接管理主机,无需在远程主机安装额外软件。\n\nAnsible具有跨平台、人类可读的自动化语言、描述应用状态、易版本控制、动态清单管理和与其他系统集成等优点。\n\nAnsible的工作流程包括ad-hoc和playbook模式。安装涉及配置YUM源、EPEL源,然后通过yum或dnf安装软件包。在无网络环境下,可以下载rpm包离线安装。
|
7月前
|
存储 安全 Shell
Ansible安装基本原理及操作(初识)
Ansible安装基本原理及操作(初识)
108 0
|
7月前
|
Linux Python
百度搜索:蓝易云【centos使用pip安装ansible教程。】
以上是在CentOS中使用pip安装Ansible的简要步骤。请注意,这是一个基本指南,实际操作中可能会有特定的配置和依赖项。建议参考Ansible官方文档或其他详细教程以获得更全面和准确的信息。
101 0