ansible 运维工具使用

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
    ansible 运维工具使用_第1张图片
  2. 执行command命令
    ansible web -m command -a "screen -ls"
    ansible 运维工具使用_第2张图片
  3. 使用root 执行命令
    --become --become-user root 使用root用户执行
    ansible web -m command -a "screen -ls" --become --become-user root
    ansible 运维工具使用_第3张图片
  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 退出交互界面

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运维)