• Char02 Ansible 安装与配置


    Char02 Ansible 安装与配置

    Ansible 配置管理系统由 控制主机和被管理节点组成

    控制主机,目前不支持windows OS

    1 Install 

    1.1 源码安装

       Tar包安装方式

       制作rpm包安装方式

    1.2 包管理安装

      2 Ubuntu :

    sudo apt-gett install software-properties-common
    sudo apt-add-repository ppa:ansible/ansible
    sudo apt-get udpate
    sudo apt-get install ansible
    

      3 Homebrew ( Mac OSX )安装方式

      4 PIP

    2.3 配置运行环境

    1 ANSIBLE_CONFIG

      ./ansible.cfg -> ~/.ansible.cfg -> /etc/ansible.cfg   

    2 使用公钥认证

    2.3.3 配置linux 主机ssh 无密码访问

      step 1 : ansbie control 上创建秘钥: 

    root@Ly:~# ssh-keygen -t rsa -C "YL@XXX"
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): 
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in /root/.ssh/id_rsa.
    Your public key has been saved in /root/.ssh/id_rsa.pub.
    The key fingerprint is:
    2a:c8:b2:7a:13:94:81:a9:e4:fe:5f:ac:7c:4b:b6:24 YL@XXX
    The key's randomart image is:
    +--[ RSA 2048]----+
    | o               |
    |o..              |
    |+  o             |
    |..o              |
    |..      S        |
    | o..  ..         |
    |. +..E.*         |
    | oo...B..        |
    |+. ..+.o.        |
    +-----------------+
    

      setp 2 : 下发密钥:

        控制主机将公钥id_rsa.pub下发到被管理节点上用户的.ssh目录

    # ssh-copy-id -i ~/.ssh/id_rsa.pub jenkins@TestSlave5
    The authenticity of host 'testslave5 (172.17.150.21)' can't be established.
    ECDSA key fingerprint is 5e:a9:90:86:c8:73:4f:05:e1:7d:05:d3:1c:53:b0:d9.
    Are you sure you want to continue connecting (yes/no)? yes
    /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
    /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
    jenkins@testslave5's password: 
    
    Number of key(s) added: 1
    
    Now try logging into the machine, with:   "ssh 'jenkins@TestSlave5'"
    and check to make sure that only the key(s) you wanted were added.
    

      

    2.4 Ansible 测试

    2.4.1 主机连通性测试

      step 1 : 修改主机与组配置 , ansible_hosts 格式为ini

    # cat ansible_hosts 
    127.0.0.1
    [TestSlavesMonkey]
    TestSlave[5:6]
    

      

         step 2 : 

    # ansible -i ansible_hosts  TestSlavesMonkey -m ping -u jenkins 
    TestSlave6 | success >> {
        "changed": false,
        "ping": "pong"
    }
    
    TestSlave5 | success >> {
        "changed": false,
        "ping": "pong"
    }
    

      

    2.4.2 在被管理节点上批量执行

    # ansible -i ansible_hosts  TestSlavesMonkey -u jenkins -m shell -a 'echo hello ansible' 
    TestSlave5 | success | rc=0 >>
    hello ansible
    
    TestSlave6 | success | rc=0 >>
    hello ansible
    

    2.5 获取帮助信息

    # ansible-doc -h
    Usage: ansible-doc [options] [module...]
    
    Show Ansible module documentation
    
    Options:
      --version             show program's version number and exit
      -h, --help            show this help message and exit
      -M MODULE_PATH, --module-path=MODULE_PATH
                            Ansible modules/ directory
      -l, --list            List available modules
      -s, --snippet         Show playbook snippet for specified module(s)
      -v                    Show version number and exit
    

      

    ansible-doc -l 列出了Ansible 系统支持的模块,Ansible 安装后能够列出259个模块

  • 相关阅读:
    springboot启动时不加载数据库
    ElasticSearch常用的查询操作
    Windows10 搭建ElasticSearch集群服务
    windows10安装ElasticSearch7.5遇到两个警告解决方法
    MybatisPlus自动生成代码配置
    初识RabbitMQ ------基本概念
    深拷贝与浅拷贝的区别
    Java8中 LocalDateTime与Date互相转换
    Spring中常用的工具类StringUtils、DateUtils、CollectionUtils等
    SpringBoot定时任务 @Scheduled cron 表达式说明
  • 原文地址:https://www.cnblogs.com/zsr0401/p/6293226.html
Copyright © 2020-2023  润新知