网站备案跟做哪个推广有关系吗,南昌微信公众号制作,深圳网站设计教程,WordPress允许评论编辑介绍安装配置注意事项yum安装验证安装配置host配置主机清单配置主控端被控端 常用模块命令组成command模块shell模块copy模块script模块 日志信息最后 介绍 Ansible 是一个开源 IT 自动化引擎#xff0c;可自动执行供应、配置管理、应用程序部署、编排和许多其他 IT 流程。它可… 介绍安装配置注意事项yum安装验证安装配置host配置主机清单配置主控端被控端 常用模块命令组成command模块shell模块copy模块script模块 日志信息最后 介绍 Ansible 是一个开源 IT 自动化引擎可自动执行供应、配置管理、应用程序部署、编排和许多其他 IT 流程。它可以免费使用并且该项目受益于数千名贡献者的经验和智慧。 红帽® Ansible 自动化平台将十多个上游项目整合到一个统一的、安全性强化的企业平台中以实现任务关键型自动化。它建立在开源项目的基础上为跨职能团队创建端到端的自动化体验。
安装配置
注意事项
ansible的安装主机一般称为主控端中控master或堡垒机ansible 2.4版本开始主控端Python版本需要2.6或以上CentOS 5 Python版本为 2.4.3被控端Python版本小于2.4的需要安装python-simplejson被控端如开启SELinux需要安装libselinux-pythonwindows不能做为主控端ansible不是服务只在需要的时候启动本质是Python脚本
yum安装
epel-release
yum install epel-release -yansible
yum install ansible -y验证安装 ansible --version配置
去配置目录会有三个文件
cd /etc/ansible/配置 ansible.cfg
vim /etc/ansible/ansible.cfg[defaults]
#inventory /etc/ansible/hosts # 主机列表配置文件
#library /usr/share/my_modules/ # 库文件存放目录
#remote_tmp $HOME/.ansible/tmp # 临时py命令文件存放在远程主机目录
#local_tmp $HOME/.ansible/tmp # 本机的临时命令执行目录
#forks 5 # 默认并发数,同时可以执行5次
#sudo_user root # 默认sudo 用户
#ask_sudo_pass True # 每次执行ansible命令是否询问ssh密码
#ask_pass True # 每次执行ansible命令是否询问ssh口令
#remote_port 22 # 远程主机的端口号(默认22)# 建议调整项
host_key_checking False # 检查对应服务器的host_key建议取消注释
log_path/var/log/ansible.log # 日志文件建议取消注释
module_name command # 默认模块可以改为shellhost配置 主机清单配置
主控端
IP11.0.1.141执行命令生成ssh-keygen -t rsa一直按默认的执行 在该目录存在文件/root/.ssh
被控端
IP11.0.1.150、11.0.1.151、11.0.1.152上传公钥至被控机器
ssh-copy-id -i /root/.ssh/id_rsa.pub root11.0.1.151
ssh-copy-id -i /root/.ssh/id_rsa.pub root11.0.1.152
ssh-copy-id -i /root/.ssh/id_rsa.pub root11.0.1.153root11.0.1.151 被控机的账号IP输入密码信息
ansible * -m ping # (*表示所有主机)
ansible 192.168.1.* -m ping
ansible *srvs -m ping常用模块
命令组成
ansible host-pattern [-m module_name] [-a args]
ansible 被管理的主机(ALL) 模块 参数--help 显示帮助--version 显示版本-m module 指定模块默认为command-v 详细过程 –vv -vvv更详细--list-hosts 显示主机列表可简写 --list-k, --ask-pass 提示输入ssh连接密码,默认Key验证-C, --check 检查并不执行-T, --timeoutTIMEOUT 执行命令的超时时间,默认10s-u, --userREMOTE_USER 执行远程执行的用户-b, --become 代替旧版的sudo切换--become-userUSERNAME 指定sudo的runas用户,默认为root-K, --ask-become-pass 提示输入sudo时的口令command模块
默认模块支持简单的linux命令不支持管道、重定向等不建议使用
ansible k8s -m command -a pwd
ansible k8s -m command -a echo testa|grep a #这个不能正常使用
ansible k8s -m command -a echo bb /tmp/testansible #重定向也无法正常使用shell模块
ansible k8s -m shell -a echo testa|grep a #支持管道
ansible k8s -m shell -a echo bb /tmp/testansible #支持重定向
ansible k8s -m shell -a cat /etc/passwd|awk -F: {print \$1} #遇到特殊符号需要加入\转义这样子ansible才能正常运行copy模块
从ansible主控机复制文件到目录到远程主机常用参数 src源文件/目录 dest指定目标路径 mode设置权限 backup备份源文件 content代替src将本机指定内容传至远程主机并生成目标文件 # src指定本地文件dest指定远程主机目录或者文件
ansible k8s -m copy -a src/home/ansible/ansible.txt dest/home/ansible/拷贝文件夹
ansible k8s -m copy -a src/home/ansible/ dest/home/ #ansible文件夹没拷贝
ansible k8s -m copy -a src/home/ansible dest/home/ #ansible文件夹拷贝了script模块
在远程主机上运行ansible服务器上的脚本优点是不需手动传送脚本至每个服务器。其实是ansible自动传到远程主机、执行然后再删除脚本即copyshelldelete
ansible k8s -m script -a /home/ansible/test.sh日志信息
之前配置的ansible日志目录log_path/var/log/ansible.log # 日志文件建议取消注释
最后
之前运维多台主机的时候都是挨个执行命令可能主机只有几台但是还是感觉有些许重复的操作现在通过ansible主控操作效率提升还在主动探索中。。。