zoukankan      html  css  js  c++  java
  • ansible部署(pip安装)

    centos7 pip安装 ansible

    首先ansible基于python2.X 环境
    默认centos都已经安装好了python2环境

    安装可选性

    ansible可以通过源码,yum,pip等方式安装
    本文采用pip安装方式

    centos默认没有安装pip,这里我们要安装pip

    参考文献:传送门

    1 curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
    2 
    3 python get-pip.py
    4 
    5 [root@localhost ~]# pip -V
    6 pip 19.0.2 from /usr/lib/python2.7/site-packages/pip (python 2.7)

    安装基础环境

    yum install gcc glibc-devel zlib-devel rpm-build openssl-deve -y  
    yum install -y python-devel

    安装ansible

    [root@localhost ~]# pip install ansible
    
    [root@localhost ~]# ansible --version
    ansible 2.7.7
      config file = None
      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, Oct 30 2018, 23:45:53) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]
    pip安装是没有config file文件的 我们可以将官网的默认文件上传到服务器
    官方文档:传送门 mkdir /etc/ansible touch /ect/ansible.cfg

    创建后ansible会自动搜索,无需操作

    [root@localhost ~]# ansible --version
    ansible 2.7.7
      config file = /etc/ansible/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, Oct 30 2018, 23:45:53) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]

    到这里pip安装ansible就算完成了,接下来来实现一些具体的操作

    ansible操作

    主机说明
    控制主机:10.0.15.59   用于控制其它机器的主机 
    管理主机:10.0.15.60      被控制的主机
    管理主机:10.0.15.66      被控制的主机
    A.在控制主机创建秘钥
        ssh-keygen -t rsa
        在root/.ssh目录下存在两个文件
        id_rsa是私钥(不能外泄),id_rsa.pub这个是公钥
    B.将控制主机的公钥远程传输到管理主机
        ssh-copy-id -i ~/.ssh/id_rsa.pub 10.0.15.60
        ssh-copy-id -i ~/.ssh/id_rsa.pub 10.0.15.66
        输入密码后查看管理主机的.ssh目录下是否出现authorized_keys
    C.测试免密是否成功
        ssh root@10.0.15.60
        ssh root@10.0.15.66
    配置免密登录

    配置管理主机

    vim /etc/ansible/hosts
    [group1] 10.0.15.60:2222 10.0.15.66
    [group2]
    10.0.15.66

    A.方括号[]中是组名,用于对系统进行分类,便于对不同系统进行个别的管理.

    B.一个系统可以属于不同的组

    C.如果有主机的SSH端口不是标准的22端口,可在主机名之后加上端口号,用冒号分隔

    等等一些详细的说明可以查看:官方文档

    测试

    [root@localhost ~]# ansible group1 -m ping
    10.0.15.66 | SUCCESS => {
        "changed": false, 
        "ping": "pong"
    }
    10.0.15.60 | SUCCESS => {
        "changed": false, 
        "ping": "pong"
    }
    
    磁盘检测
    [root@localhost ~]# ansible all -m shell -a "df -hP|awk 'NR>1 && int($5) '"
    10.0.15.60 | CHANGED | rc=0 >>
    /dev/mapper/centos-root  9.8G  5.0G  4.9G   51% /
    tmpfs                    488M  7.7M  480M    2% /run
    /dev/mapper/centos-home  8.1G  2.6G  5.5G   32% /home
    /dev/sda1                197M  120M   77M   61% /boot
    
    10.0.15.66 | CHANGED | rc=0 >>
    /dev/mapper/centos-root   17G  1.1G   16G    7% /
    tmpfs                    488M  7.7M  480M    2% /run
    /dev/sda1               1014M  130M  885M   13% /boot
  • 相关阅读:
    maven父子模块deploy 问题
    lua post参数获取,参数截断
    PhpStorm, XDebug, and DBGp Proxy
    Dia Diagram Mac OSX Yosemite Fix 闪退 xterm
    sql优化-隐形转换危害
    分页栏页码输入框校验
    ftp文件服务器搭建
    按照配置node环境
    openssl 生成ssh证书
    n-Queens(n皇后)问题的简单回溯
  • 原文地址:https://www.cnblogs.com/charles1ee/p/10399892.html
Copyright © 2011-2022 走看看