集群自动化批量管理-模块

一、主机清单

1.1直接配置密码

10.0.0.7 ansible_user=root ansible_port=22 ansible_password=”Lidao996″
主机清单中直接指定 用户名与,密码,端口

1.2 主机清单分组之子组

#编辑hosts文件
vim /etc/ansible/hosts

#内容
[lb]
10.0.0.5
10.0.0.6

[web]
10.0.0.7 ansible_user=root ansible_port=22 ansible_password=”Lidao996″
10.0.0.[8:10]

[db]
10.0.0.51
10.0.0.52

[nfs]
10.0.0.41

[data:children]
db
nfs
bak

二、模块

模块分类模块说明
调试ping模块检查管理端与被管理端是否可以连接
命令与脚本command
shell
script
安装软件yum模块/apt模块name指定软件包名字
state=present 安装
latest安装或更新
absent删除
分发配置get_url模块


copy模块





unarchive模块
wget功能
url指定下载的目标链接
dest下载到哪里,保存位置

类似于scp操作,不要发目录
src从哪里去 被管理目录
backup=yes是否备份
owner,group,mode=0755/0644

类似于copy,分发压缩包tar.gz
src,dest
owner,group,mode=0755/0644
用户,用户组user,group添加普通用户,添加虚拟用户,添加虚拟用户并指定uid,gid
name,uid,group,shell,create_home,state
文件,目录file模块touch,mkdir,rm,ln -s
path指定文件或目录
state:touch创建文件
directory创建目录
link软连接 需要额外加上src选项
absent 删除
服务systemctlsystemctl命令
name,enabled,state

2.1安装软件

#1.安装多个软件包
ansible all -m yum -a ‘name=tree,telnet,vim,lrzsz,htop,nmap state=present’

#2.删除tree软件包
ansible all -m yum -a ‘name=tree state=absent’

#3.安装指定软件包
ansible all -m yum -a ‘name=tree state=present’
ansible all -m get_url -a ‘url=”https://nginx.org/download/nginx-1.28.2.tar.gz”
dest=/tmp/’

2.2分发

  • 分发配置文件,软件包等等
ansible all -m copy -a ‘src=/etc/hosts dest=/etc/hosts backup=yes’
ansible web:lb -m copy -a ‘src=/server/conf/ngx/ngx.reop
dest=/etc/yum.repos.d/ngx.repo’
1.代码安装后创建压缩包
2.放在m01管理机
3.unarchive分发并解压到指定目录
ansible web -m unarchive -a ‘src=nginx-1.28.2.tar.gz dest=/tmp/’
ansible web:lb -m copy -a ‘src=/server/conf/ngx/ngx.repo
dets=/tmp/ owner=oldboy group=oldboy mode=”0600″‘

2.3用户管理

ansible all -m user -a ‘name=ans-lidao state=present’
ansible all -m user -a ‘name=ans-mysql shell=”/sbin/notogin”create_home=false stste=present’
groupadd -g 2026 ans-www
useradd -u 2026 -g ans-www -s /sbin/nologin -M ans-www

ansible all -m group -a ‘name=ans-www gid=2026 state=present’
ansible all -m user -a ‘name=ans-www uid=2026 group=ans-www shell=”/sbin/notogin”create_home=false state=present’
user模块的password选项可以更新密码
password=”加密后的密码”
{{‘mypassword’ | password_hash(‘sha512′,’mysecretsalt’) }}
密码 | 加密插件(’哈希算法’,’加盐’)
加盐避免哈希后的密码是一样的。
ansible all -m user -a ‘name=oldboy password={{“Lidao” | password_hash(“sha512″,”lidao996xxx”)}}’

2.4文件相关的模块

#创建文件
ansible all -m file -a ‘path=/tmp/lidao.txt state=touch’

#创建目录
ansible all -m file -a ‘path=/tmp/lidao/oldboy/996/007/12306 state=directory’

#创建软连接
ansible all -m file -a ‘src=/etc/sysconfig/network-scripts/ifcfg-ens33 path=/tmp/ifcfg-ens33 state=link’

2.5服务管理

ansible all -m systemd -a ‘name=crond enabled=yes state=started’
ansible all -m systemd -a ‘name=firewalld enabled=no state=stopped’
ansible bak -m systemd -a ‘name=rsyncd state=restarted’
ansible bak -m systemd -a ‘name=tomcat daemon_reload=true enabled=yes state=started’

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇