Ansible基础知识

Ansible----- -172.25.33.1
node1---------172.25.33.2
node2---------172.25.33.3

Ansible节点安装需要的软件包
在这里插入图片描述

所有节点创建普通用户devops

useradd devops
passwd devops

在这里插入图片描述
使用ansible节点普通用户devops做免密

su - devops
ssh keygen
ssh-copy-id devops@server1
ssh-copy-id devops@server2

在这里插入图片描述
Ansible节点切换至普通用户,并创建相应的ansible目录和文件

mkdir ansible
touch ansible.cfg
touch inventory

在这里插入图片描述

vim ansible/ansible.cfg
[defaults]
inventory = /home/devops/ansible/inventory
[devops@server1 ~]$ vim ansible/inventory 
[test]
server2
[production]
server3

在这里插入图片描述
测试

ansible all -m ping

在这里插入图片描述

相关指令
指定用户 -u

ansible all -m ping -u devops

在这里插入图片描述
执行sudo -u

ansible all -m ping -u devops -b

在这里插入图片描述
现在在node1、node2节点配置/etc/sudoers文件

devops	ALL=(ALL) 	NOPASSWD:ALL

在这里插入图片描述
再次在ansible节点测试

ansible all -m ping -u devops -b

在这里插入图片描述
copy命令
复制到/tmp(普通用户可以写)

ansible test(主机组) -m copy -a "src=/etc/passwd dest=/tmp/passwd"

在这里插入图片描述复制到/mnt下(普通用户不可写)

ansible test -m copy -a "src=/etc/passwd dest=/mnt" -b

在这里插入图片描述
执行命令的方式

ansible test -a "ls /mnt" -b

在这里插入图片描述

ansible test -a "rm /mnt/passwd" -b

在这里插入图片描述
配置文件实现-b参数

[privilege_escalation]
become=True
become_method=sudo
become_user=root
become_ask_pass=False

在这里插入图片描述
再次执行(不需要-b参数)

ansible test -a "ls /mnt"

在这里插入图片描述
设置主机变量

[test]
server1 http_port=80
server2 https_port=443

设置组变量

[test]
server1 
server2 
[test:vars]
http_port=80

设置多组变量

[test]
server1 
server2 
[test1]
server3
server4
[server:children]
test
test1
[server:vars]
http_port=80

设置变量的独立保存文件(格式为yaml)

正则的使用

asible "*" -m ping 匹配所有组所有主机
ansible 'test:production' -m ping 匹配两个组的主机
ansible 'test:!production' -m ping 匹配在test但不在production的主机

在这里插入图片描述
软件的安装

ansible test -m yum -a "name=mariadb state=present"
指定版本name=acme-1.5

在这里插入图片描述
软件的卸载
在这里插入图片描述服务状态的修改

ansible test -m service -a "name=mariadb state=started"
ansible test -m service -a "name=mariadb state=restarted"
ansible test -m service -a "name=mariadb state=stopped"

添加用户和组

ansible test -m user -a "name=foo password=westos state=present shell=/bin/bash groups=users,wheel append=yes"

在这里插入图片描述
加密添加用户

ansible test -m user -a "name=foo password={{'westos'|password_hash('sha512','salt')}}"

在这里插入图片描述
修改文件

ansible test  -m file -a "dest=/tmp/passwd mode=600 owner=root group=root"

在这里插入图片描述
创建目录

ansible test  -m file -a "dest=/tmp/file/file mode=755 state=directory owner=root group=root"

在这里插入图片描述
帮助文档

ansible-doc 模块名
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值