云计算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 中断

相关推荐
Akamai中国15 小时前
基准测试:Akamai云上的NVIDIA RTX Pro 6000 Blackwell
人工智能·云计算·云服务·云存储
oMcLin15 小时前
如何在 Ubuntu 22.04 LTS 上部署并优化 OpenStack 云计算平台,实现多租户虚拟化与弹性伸缩?
ubuntu·云计算·openstack
Tob管理笔记18 小时前
建筑业如何精准开拓优质客户?技术驱动下的方法论与实践
大数据·云计算·数据库开发
咕噜企业分发小米1 天前
独立IP服务器有哪些常见的应用场景?
人工智能·阿里云·云计算
Mr. zhihao1 天前
使用 KMS 管理阿里云 OSS 临时凭证(AK/SK/STS):原理、对比与实战代码示例
阿里云·云计算
奇树谦1 天前
FastDDS阿里云DDSRouter安装和使用(失败)
elasticsearch·阿里云·云计算
虎冯河1 天前
阿里云 + 宝塔面板环境Python 项目从 0 到 1 部署全流
python·阿里云·云计算
China_Yanhy1 天前
后端开发者的 AWS 大数据指南:从 RDS 到 Data Lake
大数据·云计算·aws
周之鸥1 天前
宝塔面板 + 阿里云 DNS 实现 Let’s Encrypt 证书自动续签(详细图文教程)
阿里云·云计算·宝塔面板·let’s encrypt·自动续签
翼龙云_cloud1 天前
阿里云渠道商:如何手动一键扩缩容ECS实例?
运维·服务器·阿里云·云计算