欢迎访问我的GitHub

https://github.com/zq2599/blog_demos

内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;

关于ansible

ansible是常用的开源配置管理工具,简单易用,可以高效的帮助我们对服务器进行远程操作,下图来自ansible官网,可见一台安装了ansible的机器可以远程控制亚马逊的EC2、S3服务器:



官方文档:https://docs.ansible.com

环境

  1. 操作系统:CentOS Linux release 7.7.1908
  2. ansible版本:2.4.2.0
  3. 本次实战用到两台机器,信息如下:
hostname IP地址 作用
ansible 192.168.133.160 装了ansible,在此机器执行ansible命令操作cdh002机器
cdh002 192.168.133.162 从ansible机器上,通过ansible命令和脚本,操作cdh002

安装

  1. root账号登录ansible机器,一行命令安装:
yum install -y ansible
  1. 查看版本:
[root@ansible playbooks]# ansible --version

ansible 2.4.2.0

  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

  executable location = /usr/bin/ansible

  python version = 2.7.5 (default, Aug  7 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账号密码等:
[cdh-group]
cdh002 ansible_host=192.168.133.162 ansible_port=22 ansible_user=root ansible_password=888888
  1. playbooks目录下创建名为ansible.cfg的文件,内容如下,这是个ansible的配置文件,执行ansible命令时用到,这里面指定了主机信息在hosts文件中查找:
[defaults]
inventory = ~/playbooks/hosts
host_key_checking = False

体验

  1. root账号登录ansible机器,执行命令ansible cdh002 -m command -a "free -m",如下所示,成功的输出了cdh002的内存信息:
[root@centos7 playbooks]# ansible cdh002 -m command -a "free -m"
cdh002 | SUCCESS | rc=0 >>
total used free shared buff/cache available
Mem: 15866 9047 3674 21 3145 6500
Swap: 2047 0 2047
  1. 上述命令中,-m command是指使用command模块, -a "free -m"是要在test机器上执行的命令;
  2. 也可以省略-m command:
[root@centos7 playbooks]# ansible cdh002 -a "free -m"
cdh002 | SUCCESS | rc=0 >>
total used free shared buff/cache available
Mem: 15866 9066 3648 21 3151 6480
Swap: 2047 0 2047

playbook实战

  1. 直接执行ansible命令虽然操作简单,但是不适合复杂的远程操作,这时候用脚本来配置和执行更合适,接下来编写一个脚本文件,再用ansible执行这个脚本文件,达到给cdh002机器安装应用redhat-lsb的目标;
  2. 在/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
  1. 执行命令ansible-playbook test_install.yml,控制台信息如下,表示执行成功(changed=0表示本次实际上没有安装,因为该应用已经存在了):

  2. 验证redhat-lsb应用是否已在cdh002机器安装成功,如下图,操作系统信息成功输出,表示redhat-lsb安装成功:

更多命令

ansible支持丰富的命令,参考官方文档:https://docs.ansible.com/ansible/latest/modules/modules_by_category.html

至此,ansible2.4版本安装和体验都完成了,如果您想尝试ansible,希望本文能给您一些参考

欢迎关注公众号:程序员欣宸

微信搜索「程序员欣宸」,我是欣宸,期待与您一同畅游Java世界...

https://github.com/zq2599/blog_demos

最新文章

  1. pt-table-checksum
  2. parseInt实例详解
  3. Vue 入门指南
  4. Python_Day_02 str内部方法总结
  5. Hadoop生态圈
  6. Vuejs使用笔记 --- 框架
  7. .NET项目开发的几个非常重要的项目设置
  8. u3d单词学习plane
  9. hdu 4403 简单搜索
  10. 由阿里巴巴一道笔试题看Java静态代码块、静态函数、动态代码块、构造函数等的执行顺序
  11. Word Ladder——LeetCode
  12. SpringMVC 异常处理
  13. Spring自学教程-注解的使用(三)
  14. CSS height:100%无效
  15. Spring Cloud微服务实战:手把手带你整合eureka&zuul&feign&hystrix
  16. 从0开始的Hexo主题制作
  17. PHP基础入门(五)---PHP面向对象实用基础知识
  18. IDEA快捷键 日常整理
  19. 用jQuery写的轮播图
  20. mysql索引类型-方法-形式-使用时机-不足之处--注意事项

热门文章

  1. 支持MySQL数据库的agumaster版本
  2. jQuery的那些事儿
  3. Python实现加密的RAR文件解压(密码已知)
  4. Django总结(Django十一)
  5. oracle之三备份恢复概述
  6. 【吴恩达课程使用】keras cpu版安装【接】- anaconda (python 3.7) win10安装 tensorflow 1.8 cpu版
  7. 按正常步骤对github的仓库进行push自己本地的代码提示push rejected
  8. Cloudera Manager和CDH安装部署
  9. spring boot之支持http和https并行(http不跳转)
  10. tomcat源码之概述