前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ansible 使用体验

Ansible 使用体验

作者头像
大江小浪
发布2021-07-16 11:50:11
4210
发布2021-07-16 11:50:11
举报
文章被收录于专栏:小狼的世界小狼的世界

安装

1. Yum 安装

只需要在管理机上安装,推荐使用 yum install ansible。 被管理机上需要有python环境。

2. 离线安装

本文在Red Hat Enterprise Linux Server release 7.6 上验证了离线安装 ansible 2.9.7

因为测试环境不支持互联网,因此需要在离线环境下安装 ansible。安装的过程参考了参考资料2的文章,这里只是简单复述一下过程和中间遇到的问题。

首先是安装一些前置的包,可以使用本地的 yum 源,执行 yum install python-devel opssl-devel libffi-devel

从官方下载源代码包 ansible-2.9.7,同时需要去 https://pypi.org/ 上下载依赖的模块包,具体的内容可以看参考资料2。这时体验到连网的好处,因为一个个下载安装真的是比较烦。

按照顺序先安装依赖包,最后安装 ansible ,可以看到安装成功后的提示信息

代码语言:javascript
复制
ansible --version
ansible 2.9.7
  config file = None
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible-2.9.7-py2.7.egg/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.5 (default, Apr 11 2018, 07:36:10) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]

快速体验

Ansible 管理节点连接被管节点有两种方式,一种是设备间配置互信后免密登陆,这种方式的危害性很大,管理节点相当于堡垒机,一旦被攻破后果不堪设想。另一种方法是通过用户密码登陆,但是需要管理节点安装 sshpass,并且用户口令是明文写在 hosts 配置文件中的。

机器配置

先在配置文件中维护被管主机列表 /etc/ansible/hosts 支持多种模式,默认不分组,分组支持使用通配符匹配等。

代码语言:javascript
复制
[zookeeper]		#定义机器的分组组名
192.168.0.104 ansible_ssh_pass=password ansible_ssh_user=root
192.168.0.103 ansible_ssh_pass=password ansible_ssh_user=root
192.168.0.102 ansible_ssh_pass=password ansible_ssh_user=root

使用

ansible使用有两种方式,Ad-hoc 命令行方式和 yaml 方式。

Ad-hoc 方式
代码语言:javascript
复制
# ansible host|group -m module_name -a `module_parameters` ansible_parameters
[root@devops-105 software]# ansible zookeeper -m ping
192.168.0.104 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}
192.168.0.102 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}
192.168.0.103 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}
[root@devops-105 software]# ansible zookeeper -m command -a "uptime"
192.168.0.104 | CHANGED | rc=0 >>
 16:31:15 up  1:32,  2 users,  load average: 0.00, 0.02, 0.05

192.168.0.102 | CHANGED | rc=0 >>
 16:31:12 up 34 min,  2 users,  load average: 0.01, 0.05, 0.05

192.168.0.103 | CHANGED | rc=0 >>
 16:31:14 up  1:31,  2 users,  load average: 0.02, 0.05, 0.05
YAML 方式

yaml 方式支持通过 yaml 文件来定义复杂的操作,具体内容另外开一篇文章介绍。

常用模块

  • ping 模块
  • command 模块
  • shell 模块
  • yum 模块
  • service 模块
  • copy 模块
  • unarchive 模块
  • file 模块

参考资料

  1. Ansible Module Docs
  2. CentOS7 Linux生产环境源码编译离线安装Ansible自动化运维工具
  3. Linux之间配置SSH互信
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-07-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
    • 1. Yum 安装
      • 2. 离线安装
      • 快速体验
        • 机器配置
          • 使用
            • Ad-hoc 方式
            • YAML 方式
          • 常用模块
            • 参考资料
            相关产品与服务
            堡垒机
            腾讯云堡垒机(Bastion Host,BH)可为您的 IT 资产提供代理访问以及智能操作审计服务,为客户构建一套完善的事前预防、事中监控、事后审计安全管理体系,助力企业顺利通过等保测评。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档