zoukankan      html  css  js  c++  java
  • ansible2.4安装和体验

    欢迎访问我的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

  • 相关阅读:
    浅谈iOS7 AVFoundation 二维码扫描
    使用ZBarSDK生成和读取二维码
    NSURLConnection与NSURLSession大比拼
    iOS开发------之runtime的运用-类与对象&&&获取当前网络状态
    XML之解析------使用NSXMLPaser(SAX)和GDataXML(DOM)
    Beta阶段项目总结
    星光小组第二阶段团队绩效
    第二阶段冲刺第十天
    第二阶段冲刺第九天
    第二阶段冲刺第八天
  • 原文地址:https://www.cnblogs.com/bolingcavalry/p/13824192.html
Copyright © 2011-2022 走看看