当前位置: 首页 > Linux

Ansible安装和使用简单

时间:2023-04-06 06:45:36 Linux

Ansible简介Ansible是一个IT自动化工具。主要应用场景包括配置系统、软件部署、持续发布和高级任务安排,实现不停机平滑滚动更新。Ansible本身非常简单易用,同时注重安全性和可靠性。它的特点是改动极少,使用OpenSSH进行数据传输(必要时可以采用其他传输方式或pull方式)。它的语言设计非常有利于人的阅读。即使对于Ansible新手也是如此。我们坚信,无论环境范围如何,简单都是必须的,因此我们的设计尽可能多地适应忙碌的人群:开发人员、系统管理员、发布工程师、IT管理员,以及所有类型的人。同时,Ansible适用于各种环境,完全可以满足从几台机器到几千台机器的企业实际环境。Ansible不使用C/S架构来管理节点,即没有Agent。这种架构使得Ansible无法升级远程Agent管理进程或者因为没有安装Agent而无法管理系统。因为OpenSSH是一个非常流行的开源组件,所以很少有安全问题。Ansible的去中心化管理方式在业界广受认可,即仅依赖OSKEY认证即可访问远程主机。如果需要,Ansible可以轻松地与Kerberos、LDAP或其他身份验证系统交互。安装ansible工具root@Ansible:~#aptupdate&&aptinstallansibleroot@Ansible:~#aptinstallsshpass创建秘钥root@Ansible:~#ssh-keygenGeneratingpublic/privatersakeypair.Enterfilewhichtosavethekey(/root/.ssh/id_rsa):Enterpassphrase(emptyfornopassphrase):Entersamepassphraseagain:Youridentificationhasbeensavedin/root/.ssh/id_rsaYourpublickeyhasbeensavedin/root/.ssh/id_rsa.pub密钥指纹为:SHA256:ZlnekfYdDkp4AA2zZLysbtr8Epcp6tMgFB2TGEY/zFUroot@Ansible密钥的随机图像为:+---[RSA3072]----+|.++oo.oE+。||.o+ooo.o.o。||.=.....o+。.||..o+oo.oo..||。.S…………||..+*||.=+||oo=||.o+oo。|+----[SHA256]-----+root@Ansible:~#批量抽取贝脚本root@Ansible:~#vimcopy_ssh_id.shroot@Ansible:~#catcopy_ssh_id.sh#!/bin/bashrm-f./authorized_keys;touch./authorized_keyssed-i'/StrictHostKeyChecking/s/^#//;/StrictHostKeyChecking/s/ask/no/'/etc/ssh/ssh_configsed-i"/#UseDNS/s/^#//;/UseDNS/s/yes/no/"/etc/ssh/sshd_configcathostsname.txt|同时读取主机ippwd;做sshpass-p$pwdssh-copy-id-f$ip2>/dev/nullssh-nq$ip"hostnamectlset-hostname$host"ssh-nq$ip"echo-e'y\n'|ssh-keygen-q-f~/.ssh/id_rsa-trsa-N''"echo"=====Copyid_rsa.pubof$ip====="scp$ip:/root/.ssh/id_rsa.pub./$host-id_rsa.pub#cat./$host-id_rsa.pub>>./authorized_keysecho$ip$host>>/etc/hostsdoneroot@Ansible:~#添加主机信息root@Ansible:~#vimhostsname.txtroot@Ansible:~#cathostsname.txtnode192.168.1.2123123node192.168.1.3123123node192.168.1.4123123node192.168.1.5123123node192.168.1.6123123node192.168.1.7123123node192.168.1.8123123node192.168.1.9123123------fetch模块:复制模块:1.从远程主机获取文件:root@Ansible:~#ansiblek8s-mfetch-a"src=/root/node.shdest=/root/test"2.从本地传输主机到远程:root@Ansible:~#ansiblek8s-mcopy-a"src=/root/node.shdest=/root"3、远程复制或本地上传,加force=yes,覆盖原文件,加backup=yes,覆盖时对原文件做备份:root@Ansible:~#ansiblek8s-mcopy-a"src=/root/node.shdest=/rootforce=yesbackup=yes"4.复制时可以带参数:owner,group,mode---------复制本地源到服务器root@Ansible:~#ansiblek8s-mcopy-a"src=/etc/apt/sources.listdest=/etc/apt/"updatesourceroot@Ansible:~#ansiblek8s-mcommand-a'aptupdate'installntpdateroot@Ansible:~#ansiblek8s-mcommand-a'aptinstallntpdate'synctimeroot@Ansible:~#ansiblek8s-mcommand-a'ntpdate-untp.aliyun.com'修改时区root@Ansible:~#root@Ansible:~#root@Ansible:~#ansiblek8s-mcommand-a'cp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime'查看是否修改root@Ansible:~#root@Ansible:~#ansiblek8s-mcommand-a'date-R'192.168.1.13|CHANGED|rc=0>>Thu,11Nov202114:52:57+0800192.168。1.10|改变|rc=0>>2021年11月11日星期四14:52:57+0800192.168.1.14|改变|rc=0>>2021年11月11日星期四14:52:57+0800192.168.1.12|改变|rc=0>>2021年11月11日星期四14:52:57+0800192.168.1.11|改变|rc=0>>2021年11月11日星期四14:52:57+0800192.168.1.15|202114:52:57+0800192.168.1.51|改变|rc=0>>2021年11月11日星期四14:52:57+0800192.168.1.52|改变|rc=0>>2021年11月11日星期四14:52:57+0800192.168.1.16|改变|rc=0>>2021年11月11日星期四14:52:57+0800192.168.1.53|改变|rc=0>>2021年11月11日星期四14:52:57+0800192.168.1.55||rc=0>>2021年11月11日星期四14:52:58+0800192.168.1.54|改变|rc=0>>2021年11月11日星期四14:52:58+0800192.168.1.57|改变|rc=0>>2021年11月11日星期四14:52:58+0800192.168.1.56|改变|rc=0>>Thu,11Nov202114:52:58+0800root@Ansible:~#root@Ansible:~#Linux运维交流社区Linux运维交流社区,互联网新闻和技术交流50篇原创内容公众号https://blog.csdn.net/qq_3392...https://my.oschina.net/u/3981543https://www.zhihu.com/people/...https://segmentfault.com/u/hp...https://juejin.cn/user/331578...https://space.bilibili.com/35...https://cloud.tencent.com/dev...知乎、CSDN、开源中国、师傅、掘金、哔哩哔哩、腾讯云本文使用文章同步助手进行同步