Ansible的安装及简单使用

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

## Ansible的安装及简单使用 ##

一.Ubuntu安装Ansible

sudo apt update
sudo apt install ansible
#使用以下命令检查安装是否成功:
ansible --version

二.配置Ansible

#进入配置文件目录
cd /etc/ansible/
ls

文件含义

ansible.cfg #ansible配置文件,默认基本不用动,全注释
hosts #主机清单文件,存放被控端主机信息, 默认指定的hosts文件

修改ansible配置

vim ansible.cfg

把第七十一行的配置,取消注释。这一行的作用是当 Ansible 连接到新创建的虚拟机时,不会要求手动验证主机密钥,而是自动跳过验证,从而简化自动化部署过程。

添加主机列表清单

vim hosts

含义

第一段 #被控端主机ip
ansible_ssh_user=root #ssh中setup模块的系统变量,指定为远程主机的用户为root
ansible_ssh_pass=123 #同上,为远程主机的root的密码

[web]:主机组的名称

1. 使用ping模块检测所有主机是否存活
#执行
ansible -i hosts web -m ping

语句含义

-i hosts web #指定我们ansible工具针对的是 hosts主机文件中的 web为我们刚才配置文件中的主机组
-m ping #-m 指定使用的模块为ping,用于检测主机,返回pong

还要注意的是,此命令执行命令的路径是/etc/ansible,所以hosts可以不指定文件目录。如果在其他文件目录下执行命令则需要加上

该配置文件的根路径。ansible -i /etc/ansiblehosts web -m ping

2.ansible命令执行的过程说明
  • ansible会先加载配置/etc/ansible/ansible.cfg文件
  • 然后加载模块文件(如上面的ping模块)
  • ansible会将我们执行的命令或模块,生成一个临时的python的脚本文件,将这个脚本文件发送到被控端的家目录/.ansible/tmp/目录下,并授权执行
  • 执行完成后返回执行结果,并清除临时文件
3. 常用模块
1. command 模块

这个模块就是平时使用命令的习惯,比如ls、cd、pwd、cp、mv操作等等都可以实现,但是要注意的是\command模块是不支持正则及特殊符号的

并且该模块是默认附加的,也就是说。即使你不加-m command 也可以使用

#查看web组所有主机下,/root目录内容
ansible -i hosts web -m command -a "ls /root"

#-a 是代表要执行的命令,相当于在所有主机上执行的

如图,效果是一样的。

2. shell 模块

shell模块和command模块类似,但是支持正则及特殊符号。

ansible -i /etc/ansible/hosts web -m shell -a "echo test > /home/1.txt"
ansible -i /etc/ansible/hosts web -m shell -a "cat /home/1.txt"
3. copy模块

拷贝文件,从ansible主机上把文件发送到被控端主机上

ansible -i /etc/ansible/hosts web -m copy -a "src=/home/test_copy.txt dest=/home"
ansible -i /etc/ansible/hosts web -m shell -a "ls /home"

三.使用案例以及问题发现

给web组的主机安装docker

#配置安装环境
ansible -i /etc/ansible/hosts web -m shell -a "apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common"
#添加密钥
ansible -i /etc/ansible/hosts web -m shell -a "curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -"
#添加阿里云国内镜像仓库地址
ansible -i /etc/ansible/hosts web -m shell -a "add-apt-repository \"deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu \$(lsb_release -cs) stable\""
#更新软件源,列出可安装版本
ansible -i /etc/ansible/hosts web -m shell -a "apt-get update"
ansible -i /etc/ansible/hosts web -m shell -a "apt-cache madison docker-ce"
#安装指定版本docker
ansible -i /etc/ansible/hosts web -m command  -a "apt-get install -y docker-ce=5:20.10.13~3-0~ubuntu-focal docker-ce-cli=5:20.10.13~3-0~ubuntu-focal"
#重启并检查安装是否成功
ansible -i /etc/ansible/hosts web -m shell  -a "systemctl restart docker && docker --version"

问题:ansible在执行shell命令的时候,如果该命令在执行的时候出现提示键入y回车继续之类的情况时,会使该命令陷入死锁。

例:假如我这一步ansible -i /etc/ansible/hosts web -m command -a "apt-get install -y docker-ce=5:20.10.133-0ubuntu-focal docker-ce-cli=5:20.10.133-0ubuntu-focal"这里采用apt-get install -y,其目的是跳过软件安装时的所以确认步骤,默认为y。如果安装时采用,apt-get install去安装docker,则会因为无法键入y而是web主机组的apt-get install命令陷入死锁,从而导致无法更新和下载其他包文章来源地址https://www.toymoban.com/news/detail-655014.html

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

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

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

相关文章

  • 红帽8.5 ansible 安装和部署 |(简单版)

            Ansible是一款基于OpenSSH开源的自动化运维工具,可以用它来配置系统、部署软件和编排更高级的 IT 任务,并且使用具有极高的安全性,ansible是当前市面上主流的自动化运维工具之一         比较直观的说,当你管理10台服务器安装系统的时候,没有使用ansibl

    2024年02月13日
    浏览(36)
  • ansible 使用roles简单部署LAMP平台

    目录 一、了解roles目录 二、基于构建LAMP平台创建roles目录 1、在192.168.115.148创建目录 2、书写php的测试页面 3、编写httpd角色的main.yml文件 4、编写mysql角色的main.yml文件 6、编写lamp的playbook 7、启动剧本 8、访问 在Ansible中,roles是一种组织和复用任务和变量的方式。Roles是一种可

    2024年02月09日
    浏览(31)
  • ubuntu ansible 安装使用

    /etc/ansible/hosts 是主机清单配置文件,由 ansible.cfg文件中的 inventory 变量配置,默认值为/etc/ansible/hosts 在使用ansible命令前,需要对hosts文件进行相关主机清单配置 1.可以不对主机进行分组,如果不指定分组,需要配置在所有的分组前 2.可以对主机进行分组,中括号里包含的名字

    2024年02月13日
    浏览(25)
  • 使用 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)
  • 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日
    浏览(41)
  • OpenStack Yoga安装部署,手把手使用kolla-ansible部署OpenStack

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

    2024年02月06日
    浏览(59)
  • [自动化运维工具] Ansible的简单介绍与常用模块详解

    自动化运维工具,也叫 机器管理工具 。 可以实现 批量管理多台(成百上千)主机 ,是应用级别的 跨主机编排工具 。 无客户端agent存在,不需要在被控制的节点上安装额外的客户端应用 通过 ssh协议 与被控制节点通信 基于模块工作的,可以通过模块实现在被控制节点上执

    2024年02月05日
    浏览(81)
  • Ansible:简单、快速、安全、最强大的 IT 自动化系统 - 开源日报 No.140

    ansible/ansible Stars: 59.6k License: GPL-3.0 Ansible 是一个极其简单的 IT 自动化系统,它处理配置管理、应用部署、云提供、临时任务执行、网络自动化和多节点编排。Ansible 使得像零停机滚动更新与负载均衡器一样复杂的更改变得容易。主要功能包括: 极其简单的设置过程和最小学习

    2024年02月22日
    浏览(68)
  • Ansible:简单、快速、安全、最强大的 IT 自动化系统 | 开源日报 No.140

    Stars: 59.6k License: GPL-3.0 Ansible 是一个极其简单的 IT 自动化系统,它处理配置管理、应用部署、云提供、临时任务执行、网络自动化和多节点编排。Ansible 使得像零停机滚动更新与负载均衡器一样复杂的更改变得容易。主要功能包括: 极其简单的设置过程和最小学习曲线 快速并

    2024年01月20日
    浏览(67)
  • ansible实训-Day2(ansible基本问题及部署安装)

            该篇是对ansible实训第二天内容的归纳总结,主要包括ansible的一些基本问题以及ansible的部署安装。 Q1:什么是ansible         Ansible是一种自动化IT工具,它可以帮助管理和自动化IT基础架构。使用Ansible,管理员可以通过编写Playbooks和Roles来描述所需状态,然后

    2024年02月11日
    浏览(35)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包