• ansible 入门


    ansible 入门
    ansible是一款简单的运维自动化工具,只需ssh协议连接即可进行系统管理,自动化执行命令,部署等
    特点:
    1、不需要单独安装客户端,不需启动任何服务
    2、是python中一套完整的自动化执行任务模块
    3、playbook采用yaml配置,对于自动化任务执行一目了然
    组成结构:
    a、ansible,命令工具,核心执行工具,一次性或临时执行的操作都是通过该命令
    b、ansible playbook 任务剧本,编排定义ansible任务集的配置文件,顺序依次执行,yaml格式
    c、inventory 管理主机的清单,默认/etc/ansible/hosts
    d、modules 执行命令的功能模块
    e、plugins 插件
    f、api 提供给第三方程序调用的应用程序编程接口

    环境:
    server:192.168.10.193
    client:192.168.10.191 192.168.10.192 192.168.10.194 192.168.10.195 192.168.10.196
    centos7.6

    1、配置epol源并安装ansible
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    yum clean all
    yum makecache
    yum -y install ansible
    ansible --version

    2、ansible inventory文件
    #inventory通常用于定义要管理的主机的认证信息,如ssh登录用户名密码及key等相关信息.可以同时操作一个组的多台主机,组和主机组之间的关系都是通过inventory文件配置,/etc/ansible/hosts

    2.1、基于密码连接
    cat /etc/ansible/hosts
    [web1]
    192.168.10.191 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass="123456"
    192.168.10.192 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass="123456"
    [web2]
    192.168.10.19[4:6] ansible_ssh_user=root ansible_ssh_pass="123456"

    [web3]
    192.168.10.19[5:7]
    [web3:vars]
    ansible_ssh_user=root ansible_ssh_pass="123456" ansible_ssh_port=22

    2.2、基于密钥连接
    主机开启密钥认证方式
    ssh-keygen
    for i in {2,4,5}; do ssh-copy-id 192.168.10.19$i;done

    [web4]
    192.168.10.19[4:7]:22

    [web5]
    pay1 ansible_ssh_host=192.168.10.191 ansible_ssh_port=22
    pay2 ansible_ssh_host=192.168.10.192 ansible_ssh_port=22
    pay4 ansible_ssh_host=192.168.10.194 ansible_ssh_port=22

    2.3、主机组的使用
    #主机组变量名+主机组
    [web3]
    192.168.10.19[5:7]
    [web3:vars]
    ansible_ssh_user=root ansible_ssh_pass="123456" ansible_ssh_port=22

    #主机组子群组
    [webserver:children]
    web4
    web5

    2.4、临时指定inventory
    #定义主机清单
    cat /etc/dockers
    [dockers]
    192.168.10.192 ansible_ssh_pass='123456'

    #指定主机清单执行命令
    ansible dockers -m ping -i /etc/dockers -o
    192.168.10.192 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"}
    ansible 入门
    ansible是一款简单的运维自动化工具,只需ssh协议连接即可进行系统管理,自动化执行命令,部署等
    特点:
    1、不需要单独安装客户端,不需启动任何服务
    2、是python中一套完整的自动化执行任务模块
    3、playbook采用yaml配置,对于自动化任务执行一目了然
    组成结构:
    a、ansible,命令工具,核心执行工具,一次性或临时执行的操作都是通过该命令
    b、ansible playbook 任务剧本,编排定义ansible任务集的配置文件,顺序依次执行,yaml格式
    c、inventory 管理主机的清单,默认/etc/ansible/hosts
    d、modules 执行命令的功能模块
    e、plugins 插件
    f、api 提供给第三方程序调用的应用程序编程接口

    环境:
    server:192.168.10.193
    client:192.168.10.191 192.168.10.192 192.168.10.194 192.168.10.195 192.168.10.196
    centos7.6

    1、配置epol源并安装ansible
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    yum clean all
    yum makecache
    yum -y install ansible
    ansible --version

    2、ansible inventory文件
    #inventory通常用于定义要管理的主机的认证信息,如ssh登录用户名密码及key等相关信息.可以同时操作一个组的多台主机,组和主机组之间的关系都是通过inventory文件配置,/etc/ansible/hosts

    2.1、基于密码连接
    cat /etc/ansible/hosts
    [web1]
    192.168.10.191 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass="123456"
    192.168.10.192 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass="123456"
    [web2]
    192.168.10.19[4:6] ansible_ssh_user=root ansible_ssh_pass="123456"

    [web3]
    192.168.10.19[5:7]
    [web3:vars]
    ansible_ssh_user=root ansible_ssh_pass="123456" ansible_ssh_port=22

    2.2、基于密钥连接
    主机开启密钥认证方式
    ssh-keygen
    for i in {2,4,5}; do ssh-copy-id 192.168.10.19$i;done

    [web4]
    192.168.10.19[4:7]:22

    [web5]
    pay1 ansible_ssh_host=192.168.10.191 ansible_ssh_port=22
    pay2 ansible_ssh_host=192.168.10.192 ansible_ssh_port=22
    pay4 ansible_ssh_host=192.168.10.194 ansible_ssh_port=22

    2.3、主机组的使用
    #主机组变量名+主机组
    [web3]
    192.168.10.19[5:7]
    [web3:vars]
    ansible_ssh_user=root ansible_ssh_pass="123456" ansible_ssh_port=22

    #主机组子群组
    [webserver:children]
    web4
    web5

    2.4、临时指定inventory
    #定义主机清单
    cat /etc/dockers
    [dockers]
    192.168.10.192 ansible_ssh_pass='123456'

    #指定主机清单执行命令
    ansible dockers -m ping -i /etc/dockers -o
    192.168.10.192 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"}
    ansible 入门
    ansible是一款简单的运维自动化工具,只需ssh协议连接即可进行系统管理,自动化执行命令,部署等
    特点:
    1、不需要单独安装客户端,不需启动任何服务
    2、是python中一套完整的自动化执行任务模块
    3、playbook采用yaml配置,对于自动化任务执行一目了然
    组成结构:
    a、ansible,命令工具,核心执行工具,一次性或临时执行的操作都是通过该命令
    b、ansible playbook 任务剧本,编排定义ansible任务集的配置文件,顺序依次执行,yaml格式
    c、inventory 管理主机的清单,默认/etc/ansible/hosts
    d、modules 执行命令的功能模块
    e、plugins 插件
    f、api 提供给第三方程序调用的应用程序编程接口

    环境:
    server:192.168.10.193
    client:192.168.10.191 192.168.10.192 192.168.10.194 192.168.10.195 192.168.10.196
    centos7.6

    1、配置epol源并安装ansible
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    yum clean all
    yum makecache
    yum -y install ansible
    ansible --version

    2、ansible inventory文件
    #inventory通常用于定义要管理的主机的认证信息,如ssh登录用户名密码及key等相关信息.可以同时操作一个组的多台主机,组和主机组之间的关系都是通过inventory文件配置,/etc/ansible/hosts

    2.1、基于密码连接
    cat /etc/ansible/hosts
    [web1]
    192.168.10.191 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass="123456"
    192.168.10.192 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass="123456"
    [web2]
    192.168.10.19[4:6] ansible_ssh_user=root ansible_ssh_pass="123456"

    [web3]
    192.168.10.19[5:7]
    [web3:vars]
    ansible_ssh_user=root ansible_ssh_pass="123456" ansible_ssh_port=22

    2.2、基于密钥连接
    主机开启密钥认证方式
    ssh-keygen
    for i in {2,4,5}; do ssh-copy-id 192.168.10.19$i;done

    [web4]
    192.168.10.19[4:7]:22

    [web5]
    pay1 ansible_ssh_host=192.168.10.191 ansible_ssh_port=22
    pay2 ansible_ssh_host=192.168.10.192 ansible_ssh_port=22
    pay4 ansible_ssh_host=192.168.10.194 ansible_ssh_port=22

    2.3、主机组的使用
    #主机组变量名+主机组
    [web3]
    192.168.10.19[5:7]
    [web3:vars]
    ansible_ssh_user=root

    ansible_ssh_pass="123456"

    ansible_ssh_port=22

    #主机组子群组
    [webserver:children]
    web4
    web5

    2.4、临时指定inventory
    #定义主机清单
    cat /etc/dockers
    [dockers]
    192.168.10.192 ansible_ssh_pass='123456'

    #指定主机清单执行命令
    ansible dockers -m ping -i /etc/dockers -o
    192.168.10.192 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"}

      #内置参数


    3、ansible ad-hoc
    #ad-hoc 临时的,指在ansible中快速执行,并且不需要保存的命令.就是执行简单的命令(一条命令),而复杂的命令则为playbook,类似于saltstack的state sls状态文件

    3.1、命令格式
    Usage: ansible <host-pattern> [options]
    -a MODULE_ARGS   #模块参数
    -C, --check  #检查语法
    -f FORKS #并发
    --list-hosts #列出主机列表
    -m MODULE_NAME #模块名字
    -o 使用精简的输出

    ansible web1 -m shell -a 'uptime' -o
    192.168.10.192 | CHANGED | rc=0 | (stdout)  15:49:55 up 7 days,  6:11,  2 users,  load average: 0.00, 0.01, 0.05
    192.168.10.191 | CHANGED | rc=0 | (stdout)  15:49:55 up 7 days,  6:12,  3 users,  load average: 0.00, 0.01, 0.05
    #ansible--需执行命令的目标主机或群组--选项指定用到模块--模块--选项指定模块中要用的参数--模块中的参数(shell命令)
    command target option module option cmd
    #不加-m,默认执行shell命令,-a必有,其它自取即用-o精简输出

    3.2、host-pattern格式
    目标主机,主机组匹配方式

    --主机匹配---
    ansible 192.168.10.191 -m ping
    #多台主机用逗号隔开,所有主机用 all表示

    --主机组匹配---
    [root@pay3 ~]# ansible web1 --list  #查看组信息, 包含哪些主机
      hosts (2):
        192.168.10.191
        192.168.10.192

    ansible 'web2:!web3' -m ping -o    #匹配web2中有,但web3组中没有的所有主机
    ansible 'web2:&web4' -m ping -o    #匹配两个组都有的主机,并集
    ansible 'web2:web3' -m ping -o    #匹配两个组所有的主机

  • 相关阅读:
    keycloak~管理平台的查询bug与自定rest中文检索
    gRPC四种模式、认证和授权,C#实战演示
    asp.net core 集成JWT
    从不同使用场景来介绍git的基础命令
    用scikit-learn进行LDA降维——以前没有注意,原来LDA降维竟然这么好用!对无监督的任务使用PCA进行降维,对有监督的则应用LDA。
    ID3/Cart/C4.5区别
    超参数调优——google Vizier采用迁移学习的思想,主要是从之前调参的经验中学习,为新算法提出最佳超参数
    sklearn 绘制roc曲线
    原来ROC曲线更加健壮地反映模型的效果,看来还是比较关键的(就像逻辑回归,你总是希望模型让0/1分类的数据尽可能都向两端靠对不对,ROC就是反映这个好坏的指标)
    word2vec的原理——根据单词的上下文去预测单词出现,然后让整体的概率最大化。学习这样一个神经网络,然后选择隐藏作为vector表示。最初单词是onehot编码!
  • 原文地址:https://www.cnblogs.com/xiefugui/p/12156613.html
Copyright © 2020-2023  润新知