美文网首页
ansible(1) 安装和介绍

ansible(1) 安装和介绍

作者: hk_faith | 来源:发表于2021-02-21 15:28 被阅读0次

    简介

    ansible是新出现的自动化运维工具,急于python开发。实现了批量系统配置,批量程序部署,批量运行命令等,
    特性:部署简单:基于python和ssh,安全基于:OpenSSH,模块化:调用特定的模块 完成特定的任务。幂等性:一个任务执行1遍和执行n遍效果一样。等

    怎么运行

    主控端的服务器用ssh连接上被控端上,被控端服务器要预装python2.5或更新的版本。ansible就可以批量管理被控端服务器。
    如图:


    ansible架构.png

    安装

    因为是基于python开发,ansible是python的一个包,用pip安装就可。

    先安装 pyenv

    基于mac 环境已经安装了 zsh. 参考:github pyenv

    1.Check out pyenv

    git clone https://github.com/pyenv/pyenv.git ~/.pyenv
    

    2.Define environment variable

    echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
    echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
    

    3.Add pyenv init to your shell

    echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.zshrc
    

    4.Restart your shell so the path changes take effect.

    exec "$SHELL"
    

    5.安装python环境依赖

    brew install openssl readline sqlite3 xz zlib
    

    6.使用参考 pyenv使用文档

    用pipenv来安装指定项目的ansible

    1.vim Pipfile

    [[source]]
    verify_ssl = true
    url = "https://mirrors.aliyun.com/pypi/simple"
    name = "pypi"
    
    [requires]
    python_version = "3.7"
    
    [dev-packages]
    
    [packages]
    ansible = "*"
    

    2.安装

    pipenv install
    

    安装ansible

    1.安装

    pip list 
    pip install ansible
    ansible --version
    

    2.ansible 配置 用pip安装的ansible没有ansible.cfg,需要我们自行的创建配置文件。
    获取最新的官方配置 官方ansible.cfg文件
    中文指南-配置文件
    例如:简单的ansible.cfg

    [defaults]
    inventory = inventory/hosts
    # Host key checking is enabled by default
    host_key_checking = False
    roles_path = roles
    # Default user to use for playbooks if user is not specified
    # Uses the connection plugin's default, normally the user currently executing Ansible,
    # unless a different user is specified here.
    #
    #remote_user = root
    

    使用户可以查看所有可用的配置设置

    ansible-config view 
    

    3.ansible.cfg 我们放在哪里

    ansible会按照如下的位置和顺序来查找 ansible.cfg文件.找到之后就不向下面找

    1. ./ansible.cfg
    2. ~/.ansible.cfg
    3. /etc/ansible/ansible.cfg
      我们一般会把 配置文件和ansible项目放在一个目录里面。当我们执行palybook时候会读取当前的项目配置。保证了各自的项目是隔离的。

    ansible 访问被控主机

    1.密码明文访问主机,不安全
    vim inventory/hosts

    192.168.1.100 ansible_port=22 ansible_user=root ansible_ssh_pass=redhat
    

    ansible_port 是客户端sshd服务的端口
    ansible_user 是客户端用户
    ansible_ssh_pass 是客户端用户密码
    2.测试

    ##查看被控的主机
    ansible all --list-host
    ## ping
    ansible all -m ping
    

    2。设置主机别名访问主机
    vim inventory/hosts

    service1  ansible_host=192.168.1.101 ansible_port=22 ansible_user=root ansible_ssh_pass=redhat
    

    3.免密访问主机
    首先先建立双方的ssh免密码安全链接

    #把本地的ssh公钥文件安装到远程主机对应的账户下
    ssh-copy-id user@server 
    ssh-copy-id -i ~/.ssh/id_rsa.pub user@server
    

    vim inventory/hosts

    service2  ansible_host=192.168.1.102 
    

    ansible的官方文档链接

    自带的模块

    官方文档 docs

    all modules and plugins

    相关文章

      网友评论

          本文标题:ansible(1) 安装和介绍

          本文链接:https://www.haomeiwen.com/subject/uadqfltx.html