• Ansible笔记(1)---基本概念


    一、ansible的作用以及工作结构

    1.1、ansible简介:

    ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:

    • 连接插件connection plugins:负责和被监控端实现通信;
    • host inventory:指定操作的主机,是一个配置文件,里面定义监控的主机;
    • 各种模块核心模块、command模块、自定义模块;
    • 借助于插件完成记录日志邮件等功能;
    • playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。

    1.2、ansible的架构:

    连接其他主机默认使用ssh协议!

     

    二、ansible基本概念

    2.1ansible安装

    使用yum源的方式安装ansible,安装ansible需要epel源,我配置了ali的epel源和centos7镜像源,yum配置如下:

    # pwd
    /etc/yum.repos.d
     
    # cat aliBase.repo
    [aliBase]
    name=aliBase
    baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/
    enabled=1
    gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/RPM-GPG-KEY-CentOS-$releasever
     
    # cat aliEpel.repo
    [aliEpel]
    name=aliEpel
    baseurl=https://mirrors.aliyun.com/epel/$releaseverServer/$basearch/
    enabled=1
    gpgcheck=0

    安装ansible:

    $ yum  -y install ansible 

    查看生成的主要配置文件:

    $ rpm -ql ansible | head 15

    查看ansible相关信息:
    $ yum info ansible
     

    2.2 ansible默认配置清单

    如果想要通过ansible管理主机,需要将要管理的主机信息添加到ansible的“配置清单”中,在/etc/ansible/hosts文件,在文件最底部添加主机信息;

    node11 ansible_host=10.1.1.60 ansible_port=20 ansible_user=root ansible_ssh_pass=123456

    node11:给主机启一个别名

    ansible_host:受控主机ip

    ansible_port:ssh链接端口,根据实际端口填写,可不填写

    ansible_user:用于链接对应主机的用户名

    ansible_ssh_pass:用于链接对应主机的密码

    注意:ansible2.0之前的版本,应该写为:

    ansible_ssh_host

    ansible_ssh_port

    ansible_ssh_user

    2.2.1清单配置详情:

    (1)全部列表

    192.168.1.1
    192.168.1.2
    192.168.2.1
    182.168.2.2

    # ansible all -m ping

    (2)分组列表

    [A]
    192.168.1.2
    192.168.1.3
    
    [B]
    192.168.2.1
    192.168.2.2

    # ansible A -m ping

    # ansible B -m ping

    (3)连续ip简写

     192.168.1.1
    
     192.168.1.2
    
     192.168.1.[1:2]    //连续IP简写

    (4)域名解析简写

    [A]
    
    dnsver-a.com
    
    dnsver-b.com
    
    dnsver-[a:b].com

    (5)组内嵌套

    [proA]
    192.168.1.1
    192.168.1.2
    
    [porB]
    192.168.2.1
    192.168.2.2
    
    [pro:children]
    proA
    proB

    执行pro组时,会将proA、proB组的主机都执行。

    2.3设置免密登录

    在ansible主机生成秘钥,并进行相应的配置

    首先,生成默认格式的密钥对,私钥与公钥:

    # ssh-keygen

    然后,将生成的公钥加入到受控主机的认证列表

    # ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.1.1.60

    设置免密登录后,配置清单就可以写简写为:

    node11 ansible_host=10.1.1.60 ansible_port=20

     

  • 相关阅读:
    自我学习笔记08
    自我学习笔记07
    自我学习笔记06
    自我学习笔记05
    自我学习笔记04
    自我学习笔记03
    自我学习笔记02
    WebApi HttpUtils
    Android 正则表达式,Pattern,Matcher基本使用
    Andriod项目结构
  • 原文地址:https://www.cnblogs.com/lizhewei/p/11725162.html
Copyright © 2020-2023  润新知