当前位置: 首页 > news >正文

Ansible安装及模块

1.准备

①部署机器准备

192.168.146.101    manage01
192.168.146.102    node1
192.168.146.103    node2
192.168.146.104    node3
②ssh免密登陆

ssh-keygen
③关闭防火墙、selinux

④时间同步

⑤软件包获得

2.传公钥

①将公钥传给node1

ssh-copy-id root@node1

②将公钥传给node2

 ssh-copy-id root@node2
③将公钥传给node3

ssh-copy-id root@node3
node1查看添加的公钥内容

cat .ssh/authorized_keys

如果查不到?

①切换到root用户的家目录下

cd /root

②检查并创建.ssh文件夹(如果不存在):

# -p 参数可以确保如果文件夹已存在,不会报错
mkdir -p .ssh 

③创建authorized_keys文件并设置正确的权限:

# 创建文件
touch .ssh/authorized_keys# 设置 .ssh 文件夹权限为 700 (只有所有者可读、写、执行)
chmod 700 .ssh# 设置 authorized_keys 文件权限为 600 (只有所有者可读、写)
chmod 600 .ssh/authorized_keys

④现在就可以查看公钥内容了

cat .ssh/authorized_keys

3.安装ansible

apt update

apt install ansible

4.查看下载是否成功

ansible --version

5.创建ansible文件

mkdir /etc/ansible

 切换到ansible文件路径下

cd /etc/ansible

6.注意要在/etc/ansible下编辑hosts文件

hosts文件内容:

这就完成了,接下来就可以用一些模块了

Ansible常用模块

Ansible命令模式(ad-hoc)格式

ansible -m 模块名 -a '参数1=值1 参数2=值2' 主机名/组名/all

ansible [目标主机/组] -m [模块] -a "[模块参数]"

hostname模块:修改主机名

ansible -m hostname -a "name=node1" node1

ping模块:测试服务器网络是否正常

ansible -m ping all

file模块:远程文件与权限操作

包含touch、rm、mkdir、ln、chmode、chown命令的功能;

参数说明
path文件绝对路径
state操作(touch文件新建、absent删除、link软连接、hard硬链接、directory目录创建)
owner设置所有者
group设置所属的组
mode权限 0000
recurse递归 yes or no

批量创建文件

ansible -m file -a 'path=/root/xxx state=touch owner=root group=root mode=777' group1

批量删除文件

ansible -m file -a 'path=/root/xxx state=absent' group1

创建软连接

ansible -m file -a 'src=/etc/passwd path=/root/pass state=link' node1

copy模块:远程复制

参数说明
src文件源路径
dest目标路径
content往目标文件输入内容
force强制 yes or no
backup是否备份有冲突的源文件[文件名相同,内容不同] yes or no
checksum拷贝完整性校验,使用sha1sum生成校验码
owner目标文件所有者
group目标文件所属组
mode目标文件权限
ansible group1 -m copy -a "src=/root/readme dest=/root checksum=f951b101989b2c3b7471710b4e78fc4dbdfa0ca6 owner=root group=root mode=0400"

src目录最后加/拷贝的目录是目录中的所有内容,不加/拷贝的目录是本身

ansible -m copy group1 -a "src=/root/dir0 dest=/root owner=root group=root mode=0400"

添加内容

ansible -m copy group1 -a "content='ABCDEFG/n' dest=/root/readme"

删除.txt

ansible -m shell group1 -a 'rm -rf *.txt'

fetch模块:从Node节点下载文件到Mange节点

ansible -m fetch -a 'src=远程路径 dest=本地路径'

user模块:管理用户账号和用户属性

常用参数说明
name=""指定用户名
password=""指定密码,必须是密文
state= absent|present删除|创建
system= yes|no是否为系统用户
shell=""指定登陆shell
generate_ssh_key= yes|no是否创建秘钥对
uid=指定用户的uid
append= yes|no用户是否追加到其他组
group=用户属组
groups=将现有用户加入到某个组,空值就会把该用户从所有所属组中删除
create_home= yes|no是否建立家目录
remove= yes|no删除家目录

创建用户:

创建一个用户sky,密码是123

要求是系统用户

非交互式登陆

要求生成自己的秘钥对

不创建家目录

ansible group1 -m user -a 'name=sky password="$1$5V.qzSEd$Yr08MU8K.vXeBZcmavypk1" state=present system=yes shell=/sbin/nologin generate_ssh_key=yes'

删除用户:

ansible -m user 192.168.8.21 -a "name=baishuming1 state=absent remove=yes"

group模块:用于管理用户组和用户组属性

参数说明
name=组名
state= persent|absent创建|删除
system= yes|no是否为系统组
gidgid

创建组:

ansible -m group group1 -a "name=admin gid=4444 state=present"

删除组:

ansible -m group group1 -a "name=admin state=absent"

cron模块:用于管理周期性时间任务

参数说明
name计划任务的名称
user执行计划任务的用户
job计划任务命令
minute执行计划任务的分 默认为*
hour执行计划任务的时 默认为*
day执行计划任务的日 默认为*
month执行计划任务的月 默认为*
week执行计划任务的周 默认为*
state absent删除计划任务

每天10:23 执行echo “haha”>/tmp/test

ansible -m cron group1 -a 'name="cron test" user=root job="echo haha > /tmp/test" minute=23 hour=10'

删除cron任务

ansible -m cron group1 -a 'name="cron test" state=absent'

反馈字体颜色 :

绿色 未发生变化

黄色 更改生效

红色 执行错误

http://www.dtcms.com/a/466834.html

相关文章:

  • 揭阳网站建设公司全民建网站
  • 哪些网站可以做调查赚钱wordpress服务器镜像
  • AI + 区块链开发实战:3 大技术方向 + 5 个落地案例,解锁去中心化网络效能密码
  • 安阳网站建设方案自己做社交网站吗
  • Linux之curl常用参数介绍
  • 唐山seo网站建设提供网页制作平台的公司
  • 南阳市网站建设专利申请
  • 芜湖有哪些招聘网站阿里巴巴吧做网站
  • 网站做优化按点击收费做网站给韩国卖高仿
  • 做网站销售经常遇到的问题智能建站网站
  • Lambda表达式
  • SD12C.TCT瞬态电压抑制(TVS)二极管Semtech升特 电子元器件IC解析
  • wordpress后台添加导航珠海网络排名优化
  • nftables 是什么
  • 基于AD9361的天气雷达回波模拟与硬件系统(三)
  • Fast AutoAugment
  • wordpress 主题 小众百度整站优化
  • Linux内核驱动-Linux系统移植
  • Python人脸检测
  • 鱼骨建站公司专业高端网站设计首选
  • 大模型前世今生(十一):信息论——信息准确传输的上限
  • 马云做中国最大的网站产品开发管理系统
  • 教程网站后台密码石家庄市网站制作价格
  • day94—树—平衡二叉树判断(LeetCode-110)
  • 前端页面渲染方式梳理
  • Linux命令之ping用法
  • 怎么自己做五合一网站旅游短租公寓网站建设
  • 飞凌嵌入式ElfBoard-Linux系统基础入门-网络相关shell命令
  • [VoiceRAG] RTMiddleTier实时中间层 | WebSocket处理器 | 拦截
  • 美图秀秀“AI合照”功能风靡欧洲,荣登14国应用商店总榜第一