ansible 安装
python3 版本大于3.8
查看python3版本 python3 --version
ubuntu安装pip3apt install python3-pip
安装ansiblepython3 -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基本使用
- 测试主机是否连通
ansible web -m ping
- 执行command命令
ansible web -m command -a "screen -ls"
- 使用root 执行命令
--become --become-user root
使用root用户执行ansible web -m command -a "screen -ls" --become --become-user root
- 指定机器执行命令
--limit
指定机器执行命令,多个用逗号隔开ansible web -m command -a "screen -ls" --become --become-user root --limit 10.101.0.121
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
(2) 表示2台机器- 执行
pwd
返回结果 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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。