zoukankan      html  css  js  c++  java
  • ansible--ansible基础

    配置文件

    ansible的配置文件只有一个,即ansible.cfg,它可以存在于多个地方,ansible读取配置文件的顺序依次是当前命令执行目录->用户家目录下的.ansible.cfg->/etc/ansible.cfg,先找到哪个就使用哪个。

    我这里使用docker作为测试工具,使用冻仁提供的镜像作为线上服务器使用,具体配置可以看链接内的介绍,这里贴出简单操作步骤

    // 拉取镜像
    docker pull chusiang/ansible-managed-node:centos-7
    // 建立并执行容器
    docker run --name server1 -d -P chusiang/ansible-managed-node:centos-7
    // 查看容易绑定的端口,之后有用
    docker ps
    
    CONTAINER ID        IMAGE                                    COMMAND               CREATED             STATUS              PORTS                   NAMES
    0a59028c1842        chusiang/ansible-managed-node:centos-7   "/usr/sbin/sshd -D"   2 hours ago         Up 2 hours          0.0.0.0:32773->22/tcp   server1
    

    添加配置文件

    首先建立一个新文件夹,然后创建ansible.cfg文件

    mkdir ansible
    cd ansible
    vi ansible.cfg
    // 输入内容
    [defaults]
    host_key_checking = False    // 首次连接是否需要检查key认证
    remote_user = docker // 此处为镜像配置好的,其他地方一般不需要指定
    inventory = hosts // 存储目标主机分组列表,此处写hosts会从当前目录的hosts文件开始查找
    

    ansible inventory配置

    inventory是管理主机信息的配置文件

    定义主机和组

    inventory可以用一下方式配置

    • 直接为ip地址
    192.168.0.2
    
    • ip + 端口号
    192.168.0.2:22
    
    • 分组,中括号内的内容标识一个分组的开始,气候的主机均属于该组成员,空行后的主机仍属于该组
    // 此处例子为实际使用例子
    vi hosts
    // 输入
    server1 ansible_ssh_host=127.0.0.1 ansible_ssh_port=32773 ansible_ssh_pass=docker
    
    [local]
    server1
    
    // 如果有多台主机可以这么设置,[1:10]表示1~10之间的所有数字(字母同理)
    server[1:10]
    

    ansible正则

    基本用法

    ansible <pattern> -m <module_name> -a <arguments>

    一些基本模式

    All(全量)匹配

    匹配所有主机,all*号功能相同,如下例

    // 检测所有主机存活情况
    ansible all -m ping
    ansible "*" -m ping
    

    逻辑或(or)匹配

    如果希望同时对多台主机或多个组执行,相互之间用“:”分隔。

    ansible "server1:server2" -m ping
    

    逻辑非(!)匹配

    主要针对多重条件的匹配规则

    webservers:!phoenix
    

    逻辑与(&)匹配

    也主要针对多重条件的匹配规则

    webservers:&staging
    

    模糊匹配

    使用*通配符表示一个或多个字符

    server*
    

    域切割

    可以直接使用python语法的切割

    正则表达式

    使用"~"开始标识正则匹配

    参考书目:《Ansible权威指南》

  • 相关阅读:
    ubuntu安装 scala
    提交jar作业到spark上运行
    在IDEA上用python来连接集群上的hive
    spark在eclipse上配置
    【Spring AOP】Spring AOP的使用方式【Q】
    【Spring 源码】ApplicationContext源码
    【Spring 源码】Spring 加载资源并装配对象的过程(XmlBeanDefinitionReader)
    【Spring Cloud】Spring Cloud使用总结
    【坑】不要使用各种框架提供的内部List
    Lombok的使用
  • 原文地址:https://www.cnblogs.com/peilanluo/p/11890054.html
Copyright © 2011-2022 走看看