云计算day28

一、ansible模块
script模块
root@localhost \~# vim test000.sh

#!/bin/bash
mkdir /tmp/three
touch /tmp/three/test
echo 'i am echo,at mttt' > /tmp/three/test
echo 'well done'
root@localhost \~# source test000.sh
well done
root@localhost \~# ansible group02 -m script -a './test000.sh'

copy模块
root@localhost \~# ansible s -m copy -a 'src=./mysql_master.sh dest=~'

使用command模块下载 nfs-utils rpcbind
root@localhost \~# ansible s -m command -a 'yum -y install nfs-utils'
root@localhost \~# ansible s -m command -a 'yum -y install rpcbind'

root@localhost \~# vim /etc/exports

/static *(ro,sync)
在被控制的主机上添加static目录,并创建test文件
root@localhost \~# ansible s -m file -a 'path=/static state=directory'

root@localhost \~# ansible s -m file -a 'path=/static/test state=touch

root@localhost \~# ansible s -m copy -a 'src=/etc/exports dest=/etc/exports'

command模块
root@localhost \~# ansible s -m command -a 'systemctl start nfs'

root@localhost \~# ansible s -m command -a 'systemctl enable nfs'

service模块
root@localhost \~# ansible s -m service -a 'name=rpcbind state=started enabled=yes'
root@localhost \~# yum -y install nfs-utils
root@localhost \~# mkdir /nfs
root@localhost \~# mount -t nfs 192.168.8.157:/static /nfs/
root@localhost \~# ls /nfs/
test

二、playbook
playbook(剧本):是ansible用于配置,部署,和管理被控节点的剧本。用于ansible操作的编排。

一般使用ymal格式

playbook 剧本是保存在控制机的yml文件

YMAL格式
■ 以.yaml或xyml结尾

■ 文件的第一行以" --- "开始,表明YMAL文件的开始(可选的)

■ 以#号开头为注释

■ 列表中的所有成员都开始于相同的缩进级别,并且使用一个"-"作为开头(一个横杠和一个空格)

■ 一个字典是由一个简单的 键:值 的形式组成(这个冒号后面必须是一个空格)

■ 注意:写这种文件可以使用tab键和空格

Playbook常⻅语法

hosts: ⽤于指定要执⾏任务的主机,其可以是⼀个或多个由冒号分 隔主机组.

remote_user: ⽤于指定远程主机上的执行任务的⽤户.

tasks:任务列表,按顺序执行任务.

■ 如果一个host执行task失败,整个tasks都会回滚,修正playbook中的错误,然后重新执行即可.


  • hosts: 组名/别名/ip/域名
    remote_user: root
    tasks:
  • name: 任务说明
    模块: key0=value0
    service: name=vsftpd state=started anabled=yes
  • name: 修改配置文件
    command: sed...
    notify:
  • ancdef

handler:

  • name: abcdef
    service name=vsftpd stste=restared
    ...

三、playbook编排vsftpd
1、安装
root@localhost \~# vim test001.yml


  • hosts: s #使用tab键对齐 指定组
    remote_user: root #
    tasks:
  • name: 安装vsftpd
    yum: name=vsftpd state=latest
    root@localhost \~# ansible-playbook ./test001.yml

2、卸载
root@localhost \~# vim test001.yml


  • hosts: s
    remote_user: root
    tasks:
  • name: 卸载vsftp
    yum: name=vsftpd state=absent
  • name: 安装vsftpd
    yum: name=vsftpd state=latest
    root@localhost \~# ansible-playbook ./test001.yml

3、启动服务
root@localhost \~# vim test001.yml


  • hosts: s
    remote_user: root
    tasks:
  • name: 卸载vsftp
    yum: name=vsftpd state=absent
  • name: 安装vsftpd
    yum: name=vsftpd state=latest
  • name: 启动服务
    service: name=vsftpd state=started e
    nabled=yes
    root@localhost \~# ansible-playbook ./test001.yml

4、修改配置文件设置不允许匿名访问并重启
handlers:类似task,但需要使用notify通知调用。

■ 不管有多少个通知者进行了notify,等到play中的所有task执行完成之后,handlers也只会被执行一次.

■ handlers最佳的应用场景是用来重启服务,或者触发系统重启操作.除此以外很少用到了.

root@localhost \~# yum -y install lftp

root@localhost \~# lftp 192.168.8.157
lftp 192.168.8.157:~> ls

drwxr-xr-x 2 0 0 6 Jun 09 2021 pub
root@s0 \~# sed -n '/^anonymous_enable=YES/s/YES/NO/g' /etc/vsftpd/vsftpd.conf
root@localhost \~# vim test001.yml


  • hosts: s
    remote_user: root
    tasks:

  • name: 卸载vsftp
    yum: name=vsftpd state=absent

  • name: 安装vsftpd
    yum: name=vsftpd state=latest

  • name: 启动服务
    service: name=vsftpd state=started enabled=yes

  • name: 修改配置文件
    command: sed -i '/^anonymous_enable=YES/s/YES/NO/g' /etc/vsftpd/vsftpd.conf
    notify: #调用

  • abcdefg
    handlers:

  • name: abcdefg
    service: name=vsftpd state=res
    tarted

root@localhost \~# ansible-playbook ./test001.yml

root@localhost \~# lftp 192.168.8.157
lftp 192.168.8.157:~> exit
root@localhost \~# lftp 192.168.8.157
lftp 192.168.8.157:~> ls
中断

相关推荐
workflower16 小时前
智能体-企业行政问答助手
人工智能·机器学习·机器人·云计算·无人机
容器魔方21 小时前
议程一览 | 华为云亮相 KubeCon + CloudNativeCon China 2026
人工智能·云原生·容器·开源·华为云·云计算
闲云野鹤在人间1 天前
云计算入门|网络与存储云服务知识梳理
linux·运维·服务器·网络·centos·云计算·php
论文复现现场1 天前
ComfyUI部署MiniMax H3:8G本地卡、RTX 4090和RTX 5090怎么选?
人工智能·云计算·音视频·gpu算力
Johny_Zhao1 天前
网络安全等级保护测评实施方案
linux·网络·人工智能·网络安全·信息安全·云计算·等保测评·系统运维·itsm
腾讯云大数据2 天前
腾讯云AI Native数据平台功能发布合集【8月】
大数据·人工智能·云计算·腾讯云
ZStack开发者社区2 天前
虚拟化观察 第 001 期:ZSvirt 核心 IaaS 引擎开源,VMware Explore 2026 开幕,Proxmox VE 8 正式 EOL
架构·开源·云计算·vmware·云基础设施·proxmox
陈皮糖..2 天前
基于 Keepalived 的传统 Web 高可用架构的容器化改造与可观测性升级
运维·docker·性能优化·架构·云计算·prometheus
爱吃鱼的喵️2 天前
云数据库怎么选?主流云厂商横向对比与选型指南
数据库·阿里云·云计算
翼龙云_cloud2 天前
阿里云国际代理商:2026零基础如何使用轻量应用服务器搭建独立站?
运维·服务器·阿里云·云计算