1

ansible 安装

python3 版本大于3.8
查看python3版本 python3 --version
ubuntu安装pip3
apt install python3-pip
安装ansible
python3 -m pip install --user ansible
安装完成之后提示安装路径加入PATH中
vi ~/.bashrc 添加PATH导入
export PATH=/root/.local/bin:$PATH
执行source ~/.bashrc生效

配置

远程主机配置

  • 路径 /etc/ansible/hosts
    配置格式

    [自定义类型]
    主机IP:PORT key=value
    ansible_ssh_user #远程登录用户
    ansible_ssh_pass #远程登录密码,如果开启证书免密登录,可以不用配置
    ansible_sudo_pass #进入root权限的密码

    例如:

    [web]
    10.101.0.121 ansible_ssh_user=user ansible_ssh_pass=1 ansible_sudo_pass=1
    10.101.0.122 ansible_ssh_user=user ansible_sudo_pass=1
    10.101.0.123 ansible_ssh_user=user ansible_ssh_pass=1 ansible_sudo_pass=1
    10.101.0.124 ansible_ssh_user=user ansible_ssh_pass=1 ansible_sudo_pass=1
    10.101.0.125 ansible_ssh_user=user ansible_ssh_pass=1 ansible_sudo_pass=1
    10.101.0.127 ansible_ssh_user=user ansible_ssh_pass=1 ansible_sudo_pass=1
    10.101.0.128 ansible_ssh_user=user ansible_ssh_pass=1 ansible_sudo_pass=1
    10.101.0.129 ansible_ssh_user=user ansible_ssh_pass=1 ansible_sudo_pass=1

ansible配置

  • 路径 /etc/ansible/ansible.cfg
    ansible-config init可以生成默认配置文件(默认生成有问题)
    使用下面配置

    [defaults]
    forks          = 8 #执行任务线程数量
    host_key_checking = False #初次连接主机,信息没写入known_hosts,登录会有提示,False取消登录提示

    ansible-config view 查看配置

使用方法

ansible基本使用

  1. 测试主机是否连通 ansible web -m ping
    image.png
  2. 执行command命令
    ansible web -m command -a "screen -ls"
    image.png
  3. 使用root 执行命令
    --become --become-user root 使用root用户执行
    ansible web -m command -a "screen -ls" --become --become-user root
    image.png
  4. 指定机器执行命令
    --limit 指定机器执行命令,多个用逗号隔开
    ansible web -m command -a "screen -ls" --become --become-user root --limit 10.101.0.121
    image.png

ansible-console 使用

  • 控制台交互界面,命令批量下发到每台机器执行并返回结果;一次操作多台机器;

    ansible-console 进入命令
    --become --become-user root 使用root用户执行
    --limit 指定机器执行命令,多个用逗号隔开
    ansible-console --become --become-user root --limit 10.101.0.121,10.101.0.122
    image.png
    (2) 表示2台机器
  • 执行pwd返回结果
    image.png
  • exit 退出交互界面
  • 进入指定分组 newGroup 分组的机器
    ansible-console newGroup

ansible-playbook 使用

批量执行指定配置文件的任务,配置文件是yaml格式

例如:使用root账户批量下载文件

- name: download #名称
  hosts: web
  become: yes
  become_method: sudo
  tasks:
    - name: test connection #测试主机是否连通
      ping:
    - name: download file
      get_url:
        url: https://test.com/client
        dest: /tmp/client
        mode: 0755
        force: yes
      ignore_errors: True #忽略失败,继续执行任务,没有此项失败就停止了
  • 检查配置文件,不要做任何改变;尝试预测一些可能发生的变化
    ansible-playbook -C download.yaml
  • 批量执行
    ansible-playbook download.yaml
  • 指定主机执行
    ansible-playbook --limit=10.101.0.125 update.yaml

dd9527
20 声望0 粉丝