您好,欢迎来到网暖!

当前位置:网暖 » 站长资讯 » 建站基础 » 网络技术 » 文章详细 订阅RssFeed

Ansible安装配置(linux客户端)

来源:网络整理 浏览:186次 时间:2020-07-03

yum安装

yum install epel-release -y
yum install ansible –y

ansible配置文件

inventory = /etc/ansible/hosts1    这个参数表示资源清单inventory文件的位置,资源清单就是一些ansible需要连接管理的主 机列表。这个参数的配置实例如下:library = /usr/share/ansible1            ansible的操作动作,无论是本地或远程,都使用一小段代码来执行,这小段代码称为模块,这个library参数就是指向存放ansible模块的目录。配置实例如下:ansible支持多个目录方式,只要用冒号“ : ”隔开就可以,同时也会检查当前执行playbook位置下的./library目录。forks = 51                                        设置默认情况下ansible最多能有多少个进程同时工作, 从ansible 1.3开始,fork数量默认自动设置为主机数量或者潜在的主机数量,默认设置最多5个进程并行处理。具体需要设置多少个,可以根据控制主机的性能和被管节点的数量来确定,可能是 50或100。默认值5是非常保守的值。sudo_user = root1                             这是设置默认执行命令的用户,也可以在playbook中重新设置这个参数。配置实例如下:remote_port = 221                          这是指定连接被管节点的管理端口,默认是22。除非设置了特殊的SSH端口,不然这个参数一般是不需要修改的。 host_key_checking = False1      这是设置是否检查SSH主机的密钥。可以设置为True或False,关闭后第一次连接没有提示配置实例timeout = 601                                    这是设置SSH连接的超时间隔,单位是秒。配置实例如下:log_path = /var/log/ansible.log1  统默认是不记录日志的,如果想把ansible系统的输出记录到日志文件中,需要设置log_path来指定一个存储ansible日志的文件。配置实例如下:

ansible配置公私钥

1、首先生成秘钥
##执行下条指令后一路回车即可!
[root@CentOS7-master ~]# sudo ssh-keygen -t rsa12

2、然后向主机分发秘钥:
##所有添加到主机清单中的IP地址或者主机名,全部都要用下条指令执行一遍。
[root@CentOS7-master ~]# sudo ssh-copy-id root@主机名或IP地址12

3、如果出现以下情况:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.123.45
-bash: ssh-copy-id: command not found

#请尝试:yum -y install openssh-clientsansible

ansible主机清单设置 ,编辑/etc/ansible/hosts,在ansible主机添加其他所有主机的hostname

vim /etc/hosts
192.168.123.45 server-1
192.168.123.46 server-2
192.168.123.47 server-3
192.168.123.48 server-4
192.168.123.49 server-5
192.168.123.50 server-6

如果被控端是pem文件就将pem文件传到ansible-server端指定路径

vim /etc/ansible/hosts  [zhandian1]server-1    ansible_ssh_user=centos ansible_ssh_private_key_file=/home/centos/aws_secret/nginx.pemserver-2    ansible_ssh_user=centos ansible_ssh_private_key_file=/home/centos/aws_secret/nginx.pemserver-4    ansible_ssh_user=centos ansible_ssh_private_key_file=/home/centos/aws_secret/nginx.pemserver-5    ansible_ssh_user=centos ansible_ssh_private_key_file=/home/centos/aws_secret/nginx.pemserver-6    ansible_ssh_user=centos ansible_ssh_private_key_file=/home/centos/aws_secret/nginx.pem

如ssh端口有修改还需添加 ansible_ssh_port=3333

开放安全组,22端口

ansible命令集/usr/bin/ansible                    # Ansibe AD-Hoc 临时命令执行工具,常用于临时命令的执行/usr/bin/ansible-doc            # ansible 模块功能查看工具/usr/bin/ansible-galaxy         # 下载/上传优秀代码或Roles模块 的官网平台,基于网络的/usr/bin/ansible-playbook   # ansible 定制自动化的任务集编排工具/usr/bin/ansible-pull               # ansible远程执行命令的工具,拉取配置而非推送配置(使用较少,海量机器时使用,对运维的架构能力要求较高)/usr/bin/ansible-vault          # ansible 文件加密工具/usr/bin/ansible-console        # ansible基于Linux Consoble界面可与用户交互的命令执行工具

ansible常用命令

执行远程家目录脚本                                       ansible all -m shell -a 'sudo sh aaa.sh '指定节点上的权限,属主和数组为root                         ansible '*' -m file -a "dest=/tmp/t.sh mode=755 owner=root group=root"指定节点上定义一个计划任务,每隔3分钟到主控端更新一次时间   ansible '*' -m cron -a 'name="custom job" minute=*/3 hour=* day=* month=* weekday=* job="/usr/sbin/ntpdate 172.16.254.139"'指定节点上创建一个组名为aaa,gid为2017的组              ansible all -m group -a 'gid=2017 name=a'在节点上创建一个用户aaa,组为aaa                         ansible all -m user -a 'name=aaa groups=aaa state=present'删除用户示例                                              ansible all -m user -a 'name=aaa groups=aaa remove=yes'在节点上安装httpd                                         ansible all -m yum -a "state=present name=httpd"在节点上启动服务,并开机自启动                             ansible all -m service -a 'name=httpd state=started enabled=yes'检查主机连接                                              ansible '*' -m ping执行远程命令                                              ansible '*' -m command -a 'uptime'执行主控端脚本                                         ansible '*' -m script -a '/root/test.sh'执行查看zabbix                                          ansible '*' -m shell -a 'ps aux|grep zabbix'类似shell                                                 ansible '*' -m raw -a "ps aux|grep zabbix|awk '{print \$2}'"创建软链接                                               ansible '*' -m file -a "src=/etc/resolv.conf dest=/tmp/resolv.conf state=link"删除软链接                                               ansible '*' -m file -a "path=/tmp/resolv.conf state=absent"复制文件到远程服务器                                      ansible '*' -m copy -a "src=/etc/ansible/ansible.cfg dest=/tmp/ansible.cfg owner=root group=root mode=0644"节点上运行hostname                                       ansible all -m raw -a 'hostname|tee'将指定url上的文件下载到/tmp                               ansible all -m get_url -a 'url=http://10.1.1.116/favicon.ico dest=/tmp'![](https://s1.51cto.com/images/blog/202001/11/e984a040a871de7ff58f52935e4bcf8f.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

推荐站点

  • 腾讯腾讯

    腾讯网(www.QQ.com)是中国浏览量最大的中文门户网站,是腾讯公司推出的集新闻信息、互动社区、娱乐产品和基础服务为一体的大型综合门户网站。腾讯网服务于全球华人用户,致力成为最具传播力和互动性,权威、主流、时尚的互联网媒体平台。通过强大的实时新闻和全面深入的信息资讯服务,为中国数以亿计的互联网用户提供富有创意的网上新生活。

    www.qq.com
  • 搜狐搜狐

    搜狐网是全球最大的中文门户网站,为用户提供24小时不间断的最新资讯,及搜索、邮件等网络服务。内容包括全球热点事件、突发新闻、时事评论、热播影视剧、体育赛事、行业动态、生活服务信息,以及论坛、博客、微博、我的搜狐等互动空间。

    www.sohu.com
  • 网易网易

    网易是中国领先的互联网技术公司,为用户提供免费邮箱、游戏、搜索引擎服务,开设新闻、娱乐、体育等30多个内容频道,及博客、视频、论坛等互动交流,网聚人的力量。

    www.163.com
  • 新浪新浪

    新浪网为全球用户24小时提供全面及时的中文资讯,内容覆盖国内外突发新闻事件、体坛赛事、娱乐时尚、产业资讯、实用信息等,设有新闻、体育、娱乐、财经、科技、房产、汽车等30多个内容频道,同时开设博客、视频、论坛等自由互动交流空间。

    www.sina.com.cn
  • 百度一下百度一下

    百度一下,你就知道

    www.baidu.com