ubuntu ansible 安装使用

这篇具有很好参考价值的文章主要介绍了ubuntu ansible 安装使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考:ansible 学习_ansible中文文档_Direct_的博客-CSDN博客

安装:

sudo apt-get install ansible

sudo apt install -y sshpass

pip install ansible
# 设置初次登录远程ssh机器的时候不需要验证
sed -i 's/#host_key_checking = False/host_key_checking = False/g' /etc/ansible/ansible.cfg

/etc/ansible/hosts 文件的作用

/etc/ansible/hosts 是主机清单配置文件,由 ansible.cfg文件中的 inventory 变量配置,默认值为/etc/ansible/hosts
在使用ansible命令前,需要对hosts文件进行相关主机清单配置

使用说明

1.可以不对主机进行分组,如果不指定分组,需要配置在所有的分组前
2.可以对主机进行分组,中括号里包含的名字代表组名
3.主机可以使用域名,主机名,ip地址表示,一般以IP居多
4.常用内置参数

参数名称 作用说明 举例
ansible_ssh_host #用于指定被管理的主机的真实IP ansible_ssh_host=192.168.1.1
ansible_ssh_port #用于指定连接到被管理主机的ssh端口号,默认是22 ansible_ssh_port=2000
ansible_ssh_user #ssh连接时默认使用的用户名 ansible_ssh_user=dba
ansible_ssh_pass #ssh连接时的密码 ansible_ssh_pass=test1234
ansible_sudo #sudo用户 ansible_sudo=dba
ansible_sudo_pass  #使用sudo连接用户时的密码 ansible_ssh_pass=test1234
ansible_sudo_exec #如果sudo命令不在默认路径,需要指定sudo命令路径 ansible_sudo_exec=/usr/bin/sudo
ansible_ssh_private_key_file #秘钥文件路径,秘钥文件如果不想使用ssh-agent管理时可以使用此选项 ansible_ssh_private_key_file=/root/key
ansible_shell_type #目标系统的shell的类型,默认sh ansible_shell_type=bash
ansible_connection SSH 连接的类型: local , ssh , paramiko,在 ansible 1.2 之前默认是 paramiko ,后来智能选择,优先使用基于 ControlPersist 的 ssh (支持的前提) ansible_connection=local
ansible_python_interpreter #用来指定python解释器的路径,默认为/usr/bin/python 同样可以指定ruby 、perl 的路径 ansible_python_interpreter=/usr/bin/python2.7
ansible_*_interpreter  #其他解释器路径,用法和ansible_python_interpreter类似,这里"*"可以是ruby或才perl等其他语言 ansible_*_interpreter=/usr/bin/ruby

hosts文件写法举例

# vi /etc/ansible/hosts 

连续的IP写法

 
  1. # 连续的IP写法,表示192.168.1.20到192.168.1.50,共31台主机:

  2. [test1]

  3. name1 ansible_ssh_host=192.168.1.[20:50] ansible_ssh_user="root" ansible_ssh_pass="1234" ansible_ssh_port=22

不进行分组的写法 

 
  1. # 放在所有分组前面,可以为server起个名字,

  2. # 可以显示加参数的方式,也可以直接写ip,分组时写法也一样:

  3. # 这里name1,name2为别名

  4. name1 ansible_ssh_host=172.16.79.231 ansible_ssh_user=dba ansible_ssh_pass=test1234

  5. name2 ansible_ssh_host=172.16.79.232

  6. 172.16.79.233

分组写法

 
  1. # 中括号内为分组名,可以对某一类型的服务器进行分类,执行命令时,可按照组进行操作

  2. [oraservers]

  3. name1 ansible_ssh_host=172.16.79.231 ansible_ssh_user=dba ansible_ssh_pass=test1234

  4. name2 ansible_ssh_host=172.16.79.232

  5. 172.16.79.233

  6. [webservers]

  7. web1 ansible_ssh_host=172.16.79.233

  8. web2 ansible_ssh_host=172.16.79.234

带参数的群组写法

 
  1. # 带参数的群组,为组内所有的成员指定共同的参数,

  2. # 这样就不需要在每一个IP后面重复写系统的参数,格式为 [组名:vars]

  3. [parserver]

  4. name1 ansible_ssh_host=172.16.79.232

  5. name2 ansible_ssh_host=172.16.79.233

  6. [parserver:vars]

  7. ansible_ssh_user=dba

  8. ansible_ssh_pass=test1234

群组整合

 
  1. # 群组整合,格式为 [<newgroup_name>:children],

  2. # children底下为父群的子群组,可直接调用父组名

  3. [group:children]

  4. oraservers

  5. webservers

  6. #示例二

  7. [nginx]

  8. 192.168.56.108

  9. [tomcat]

  10. 192.168.56.109

  11. [zabbix-agent:children]

  12. nginx

  13. tomcat

单独秘钥管理 

 
  1. #ssh root@服务器B

  2. #ssh-****** 如果要重命名可以自己指定, 回车后生成**对

  3. # echo ~/.ssh/id_rsa.pub >> known_hosts 这里把生成的公钥放入known_hosts

  4. # 如果自己配置了ssh_config, 关闭了known_hosts, 可能就需要写进~/.authorized_keys里面去了.

  5. # 把服务器B上的私钥回传到ansible执行的服务器A的ssh_keys里, 命名为

  6. # 服务器B_ip_.key

  7. # 给ssh_keys文件夹授权为700, 一定要700, 其它的都会报错.

  8. # 建立hosts文件里面指定server, 每个server一行.

  9. [test_server]

  10. 10.0.1.5 ansible_ssh_private_key_file=ssh_keys/10.0.1.5.key ansible_ssh_user=root

Ansible 命令调用方式

  • 按名称调用
    • ansible name1 -m ping
  • 调用所有host机器
    • ansible  all  -m ping
  • 按ip调用
    • ansible 172.16.79.233 -m ping
  • 按组调用
    • ansible webservers -m ping
  • 两个组一起调用,以":"连接多个组
    • 调用两个主机组的写法,以下webservers和dbservers都会被调用:
    • ansible parserver:oraservers -m ping
  • 在webservers组中但不在dbsersers中的调用
    • ansible webservers:!dbservers -m win_ping
  • 在webservers组中并且在dbservers组中的才会调用:
    • ansible webservers:&dbservers -m ping
  • 对整合后的群组进行调用,会调用父群group下的子组oraservers和webservers下所有的成员
    • ansible group -m ping
  • 在调用前加~,代表正则表达式
    • ​​​​​​​ansible ~(web|db).*.91it.org -m win_ping
  • 组合的例子
    • ​​​​​​​webserver:dbservers:&nginx:!ntp
  • 列出主机清单
    • ansible <groupname>|<ip>|<name> --list
    • Eg: ansible oraservers --list
  • 自定义新的主机清单文件
    • cat /etc/ansible/test-hosts
    • [testserver]
      10.10.10.1
      10.10.10.2

      # 以-i指定新的主机清单文件
      ansible -i /etc/ansible/test-hosts testserver -m ping

  • hosts文件中没有定义的IP或别名,在进行调用中,会提示错误。ansible对单台服务器的调用,服务器IP或域名必须有写在hosts里文章来源地址https://www.toymoban.com/news/detail-648922.html

到了这里,关于ubuntu ansible 安装使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ubuntu18.04安装编译ffmpeg库

    Download FFmpeg 在cd到ffmpeg的文件夹下,执行以下命令,配置安装路径: 安装: 修改 /etc/profile文件: 最后一行添加路径: 保存后source: 修改 /etc/ld.so.conf: 添加: 执行:

    2024年02月11日
    浏览(44)
  • Ubuntu 18.04 安装ffmpeg(支持GPU硬件加速)

    1:安装前请自行安装nvidia驱动和cudu cudnn 查看cuda版本 2:安装nv-codec-hearers 官网: https://docs.nvidia.com/video-technologies/video-codec-sdk/ffmpeg-with-nvidia-gpu/ 3:安装ffmpeg编码库 4:安装ffmpeg 5:建立软连接 增加安装目录的动态链接库 6 检查硬件加速 7:添加库连接 8 :运行实例检查 9:卸载

    2023年04月18日
    浏览(113)
  • Ansible的安装及简单使用

    ## Ansible的安装及简单使用 ## 一.Ubuntu安装Ansible 二.配置Ansible ansible.cfg #ansible配置文件,默认基本不用动,全注释 hosts #主机清单文件,存放被控端主机信息, 默认指定的hosts文件 修改ansible配置 把第七十一行的配置,取消注释。这一行的作用是当 Ansible 连接到新创建的虚拟机时

    2024年02月12日
    浏览(29)
  • 使用 Ansible Galaxy 安装角色

        使用 Ansible Galaxy 安装角色     使用 Ansible Galaxy 和要求文件 /home/curtis/ansible/roles/requirements.yml 。从以下 URL 下载角色并安装到 /home/curtis/ansible/roles :         http://rhgls.area12.example.com/materials/haproxy.tar 此角色的名称应当为 balancer         http://rhgls.area12.example.com//materials/

    2024年02月12日
    浏览(34)
  • ubuntu上ffmpeg使用framebuffer显示video

    这个主题是想验证使用fbdev(Linux framebuffer device),将video直接显示到Linux framebuffer上,在FFmpeg中对应的 FFOutputFormat 就是 ff_fbdev_muxer 。 先看一下怎么用,命令如下,将输入的视频文件 input.mp4 解码后输出到 Framebuffer 设备 /dev/fb0 ,命令执行没有问题,但是视频是看不到的,切换

    2024年02月09日
    浏览(43)
  • ansible入门指南 - 安装与简单使用

    ansible 是用来自动化管理远程操作系统的工具. ansible的三要素: 控制节点 , 被控节点 , 资产清单 ansible 可以通过pip直接安装 创建inventory文件, 把需要管理的机器登记在该文件中, 此处假装有两台被控机器, 划分在group1组中 配置免密登录主机, 根据提示输入密码 检查inventory的所有

    2024年02月12日
    浏览(59)
  • ansible的安装和简单的块使用

    目录 一、概述 二、安装 1、选择源 2、安装ansible 3、模块查看 三、实验 1、拓扑​编辑 2、设置组、ping模块 3、hostname模块 4、file模块 ​编辑 5、stat模块 6、copy模块(本地拷贝到远程) 7、fetch模块与copy模块类似,但作用相反。用于把远程机器的文件拷贝到本地。 8、user模块

    2024年02月09日
    浏览(34)
  • ansible自动化IT工具安装部署与使用验证

    目录 一、环境配置 1、关闭防火墙 2、免密登录配置 3、同步时区 二、服务端配置 1、安装软件 2、查看版本  3、实现远程控制huyang3  4、测试  结果验证: systemctl stop firewalld iptables -F setenforce0 【huyang3】ssh-keygen 【huyang3】ssh-copy-id 192.168.1.116 ntpdate huyang1 yum -y install ansible ansi

    2024年02月11日
    浏览(44)
  • 在Ubuntu虚拟机使用ffmpeg采集摄像头的yuv视频数据

    提取命令: ./cl.mp4为当前目录下的cl.mp4视频文件 -an其中a代表是audio,n代表是none,意思就是过滤掉音频 -c:v代表的是视频的编解码器 rawvideo代表我们使用rawvideo这个工具对视频进行处理 -pix_fmt yuv420p表示我们指定输出yuv视频的格式,这里我们指定为yuv420p 最后一个就是我们输出

    2023年04月11日
    浏览(83)
  • OpenStack Yoga安装部署,手把手使用kolla-ansible部署OpenStack

    基本上是按照官网文档快速入门进行安装,不过还有很多地方需要换源。重点在换源这块。如果说你的网关有魔法,那就不用看这篇文章了,直接复制官网命令安装。 部署OpenStack官方提供的Simple Configuration示例配置中的Web Application和Container Optimized两个组件配置清单。 其中包

    2024年02月06日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包