于今腐草无萤火,终古垂杨有暮鸦。这篇文章主要讲述ansible2.4安装和体验相关的知识,希望能为你提供帮助。
欢迎访问我的GitHub
关于ansible
ansible是常用的开源配置管理工具,简单易用,可以高效的帮助我们对服务器进行远程操作,下图来自ansible官网,可见一台安装了ansible的机器可以远程控制亚马逊的EC2、S3服务器:
文章图片
官方文档:https://docs.ansible.com
环境
- 操作系统:CentOS Linux release 7.7.1908
- ansible版本:2.4.2.0
- 本次实战用到两台机器,信息如下:
hostname | IP地址 | 作用 |
---|---|---|
ansible | 192.168.133.160 | 装了ansible,在此机器执行ansible命令操作cdh002机器 |
cdh002 | 192.168.133.162 | 从ansible机器上,通过ansible命令和脚本,操作cdh002 |
- root账号登录ansible机器,一行命令安装:
yum install -y ansible
- 查看版本:
[root@ansible playbooks]# ansible --version
config file = /root/playbooks/ansible.cfg
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
【ansible2.4安装和体验】executable location = /usr/bin/ansible
python version = 2.7.5 (default, Aug7 2019, 00:51:29) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
安装成功,接下来开始体验;
### 配置机器信息
1. ==root==账号登录ansible机器,创建文件夹==playbooks==;
2. ==playbooks==目录下创建名为hosts的文件,内容如下,==cdh-group==是群组名,该群组内有一个机器配置信息,包含名称、IP地址,SSH端口,SSH账号密码等:
```shell
[cdh-group]
cdh002 ansible_host=192.168.133.162 ansible_port=22 ansible_user=root ansible_password=888888
- ==playbooks==目录下创建名为==ansible.cfg==的文件,内容如下,这是个ansible的配置文件,执行ansible命令时用到,这里面指定了主机信息在hosts文件中查找:
[defaults] inventory = ~/playbooks/hosts host_key_checking = False
体验
- root账号登录ansible机器,执行命令ansible cdh002 -m command -a "
free -m"
,如下所示,成功的输出了cdh002的内存信息:
[root@centos7 playbooks]# ansible cdh002 -m command -a "free -m" cdh002 | SUCCESS | rc=0 > > totalusedfreesharedbuff/cacheavailable Mem:15866904736742131456500 Swap:204702047
- 上述命令中,==-m command==是指使用command模块, ==-a " free -m" ==是要在test机器上执行的命令;
- 也可以省略==-m command==:
[root@centos7 playbooks]# ansible cdh002 -a "free -m" cdh002 | SUCCESS | rc=0 > > totalusedfreesharedbuff/cacheavailable Mem:15866906636482131516480 Swap:204702047
playbook实战
- 直接执行ansible命令虽然操作简单,但是不适合复杂的远程操作,这时候用脚本来配置和执行更合适,接下来编写一个脚本文件,再用ansible执行这个脚本文件,达到给cdh002机器安装应用==redhat-lsb==的目标;
- 在==/root/playbooks==文件夹下创建文件==test_install.yml==,内容如下:
- name: test cdh-group hosts: cdh-group gather_facts: True tasks: - debug: var=ansible_distribution - name: install redhat-lsb yum: name=redhat-lsb state=present
- 执行命令==ansible-playbook test_install.yml==,控制台信息如下,表示执行成功(changed=0表示本次实际上没有安装,因为该应用已经存在了):
文章图片
- 验证==redhat-lsb==应用是否已在cdh002机器安装成功,如下图,操作系统信息成功输出,表示redhat-lsb安装成功:
文章图片
更多命令
ansible支持丰富的命令,参考官方文档:https://docs.ansible.com/ansible/latest/modules/modules_by_category.html
欢迎关注51CTO博客:程序员欣宸
推荐阅读
- #yyds干货盘点#MSSQLS开启审计功能操作
- Linux之rcp命令
- 通过JConsoler监控Tomcat的JVM内存 #yyds干货盘点#
- 日志服务管理&CGI与FASTCGI区别
- docker安装及基础命令
- 基于 Gitee 搭建个人网站-入门教程
- ClickHouse镜像在阿里云镜像站首发上线
- Docker——Docker consul集群
- 锵锵锵,报名开始啦!51CTO博客「2022年度博主之星」评选活动开启