zoukankan      html  css  js  c++  java
  • ansible学习

    下载python3.5安装包:

    wget --no-check-certificate https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz

    解压到当前目录:

    tar -zxvf Python-3.5.0.tgz

    cd Python-3.5.0

    ./configure --prefix=/usr/local/python3.5 --enable-shared

    make & make install

    ln -s /usr/local/python3.5/bin/python3 /usr/bin/python3

    此时运行python3命令的话会报错,缺少.so文件,我们需要进行如下操作:

    cp -R /usr/local/python3.5/lib/* /usr/lib64/

    ok!此时python3的基础环境已经安装完成!

    为什么学习ansible  ansible是Python开发的 所以安装pip 利用pip安装ansible

    二、安装pip以及setuptools

    毕竟丰富的第三方库是python的优势所在,为了更加方便的安装第三方库,使用pip命令,我们需要进行相应的安装。

    1、安装pip前需要前置安装setuptools

    wget --no-check-certificate  https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26

    tar -zxvf setuptools-19.6.tar.gz

    cd setuptools-19.6

    python3 setup.py build

    python3 setup.py install

    报错: RuntimeError: Compression requires the (missing) zlib module

    我们需要在linux中安装zlib-devel包,进行支持。

    yum install zlib-devel

    需要对python3.5进行重新编译安装。

    cd python3.5

    make & make install

    又是漫长的编译安装过程。

    重新安装setuptools

    python3 setup.py build

    python3 setup.py install

    2、安装pip

    wget --no-check-certificate  https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb

    tar -zxvf pip-8.0.2.tar.gz

    cd pip-8.0.2

    python3 setup.py build

    python3 setup.py install

    如果没有意外的话,pip安装完成。

    测试:

    我们使用pip安装一个python3第三方库: python3 -m pip install paramiko

    纳尼!!!!又报错了!

    ImportError: cannot import name 'HTTPSHandler'

    根据老衲多年的经验,应该是缺少openssl的开发环境,我们继续安装

    yum install openssl-devel

    继续重新编译安装python3.5

    ok,我们终于完成了整个python3环境的安装。

    安装ansible

    python3 -m pip install ansible 

    简单介绍下  ansible有两个文件很重要

    ansible.cfg :ansible执行需求的全局性、默认的配置文件

    hosts:默认的主机清单文件

    /usr/local/python3.5/bin/ansible --version

    修改 默认配置文件

    export ANSIBLE_CONFIG=/usr/local/python3.5/lib/python3.5/site-packages/ansible/galaxy/data/container_enabled/tests/ansible.cfg

    ansilbe 优先级:

    优先读取变量下的

    ANSIBLE_CONFIG

    没有做设置的话会读取当前执行ansible命令下有没有

    ./ansible,cfg

    如果没有回去家目录

    ~/ansible.cfg

    /etc/ansible/ansible.cfg

    ansible的配置文件ansible.cfg常用的配置项梳理

    1inventory 该参数表示资源清单inventory文件的位置,资源清单就是一些Ansible需要连接管理的主机列表 inventory = /root/ansible/hosts 

    2library Ansible的操作动作,无论是本地或远程,都使用一小段代码来执行,这小段代码称为模块,这个library参数就是指向存放Ansible模块的目录 library = /usr/share/ansible 

    3forks 设置默认情况下Ansible最多能有多少个进程同时工作,默认设置最多5个进程并行处理。具体需要设置多少个,可以根据控制主机的性能和被管理节点的数量来确定。 forks = 5 

    4sudo_user 这是设置默认执行命令的用户,也可以在playbook中重新设置这个参数 sudo_user = root //注意:新版本已经作了修改,如ansible2.4.1下已经为: default_sudo_user = root 

    5remote_port 这是指定连接被关节点的管理端口,默认是22,除非设置了特殊的SSH端口,不然这个参数一般是不需要修改的 remote_port = 22

    6host_key_checking 这是设置是否检查SSH主机的密钥。可以设置为TrueFalse host_key_checking = False 

    7timeout 这是设置SSH连接的超时间隔,单位是秒。 timeout = 20 

    8log_path Ansible系统默认是不记录日志的,如果想把Ansible系统的输出记录到人i治稳健中,需要设置log_path来指定一个存储Ansible日志的文件 log_path = /var/log/ansible.log 另外需要注意,执行Ansible的用户需要有写入日志的权限,模块将会调用被管节点的syslog来记录,口令是不会出现的日志中的 

    9private_key_file 在使用ssh公钥私钥登录系统时候,使用

         private_key_file=/path/to/file.pem

     

    1inventory 该参数表示资源清单inventory文件的位置,资源清单就是一些Ansible需要连接管理的主机列表 inventory = /root/ansible/hosts 2library Ansible的操作动作,无论是本地或远程,都使用一小段代码来执行,这小段代码称为模块,这个library参数就是指向存放Ansible模块的目录 library = /usr/share/ansible 3forks 设置默认情况下Ansible最多能有多少个进程同时工作,默认设置最多5个进程并行处理。具体需要设置多少个,可以根据控制主机的性能和被管理节点的数量来确定。 forks = 5 4sudo_user 这是设置默认执行命令的用户,也可以在playbook中重新设置这个参数 sudo_user = root //注意:新版本已经作了修改,如ansible2.4.1下已经为: default_sudo_user = root 5remote_port 这是指定连接被关节点的管理端口,默认是22,除非设置了特殊的SSH端口,不然这个参数一般是不需要修改的 remote_port = 22 6host_key_checking 这是设置是否检查SSH主机的密钥。可以设置为TrueFalse host_key_checking = False 7timeout 这是设置SSH连接的超时间隔,单位是秒。 timeout = 20 8log_path Ansible系统默认是不记录日志的,如果想把Ansible系统的输出记录到人i治稳健中,需要设置log_path来指定一个存储Ansible日志的文件 log_path = /var/log/ansible.log 另外需要注意,执行Ansible的用户需要有写入日志的权限,模块将会调用被管节点的syslog来记录,口令是不会出现的日志中的 9private_key_file 在使用ssh公钥私钥登录系统时候,使用的密钥路径。 private_key_file=/path/to/file.pem
    作者: Jeson老师 
    链接:https://www.imooc.com/article/22513
    来源:慕课网

  • 相关阅读:
    SVN中建立项目
    Dojo 学习笔记 之 Dojo hitch&partial
    Javascript的“上下文”(context)
    栅格那点儿事(四E)
    栅格那点儿事(四D)
    栅格那点儿事(四C)
    Sqoop Import数据库时中文乱码解决方案
    Sqoop架构
    Sqoop环境安装
    Sqoop概述
  • 原文地址:https://www.cnblogs.com/394510636-ff/p/8955762.html
Copyright © 2011-2022 走看看