ansible 云计算 自动化

这篇具有很好参考价值的文章主要介绍了ansible 云计算 自动化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

四台服务器:

ansible: 管理端

node01 node02 node03: 被管理节点

1) 安装

[root@ansible ~]# yum install ansible -y

2) 查看帮助

[root@ansible ~]# ansible-doc -l | wc -l    # 查看模块数量

[root@ansible ~]# ansible-doc -s yum        # 查看yum模块的参数

[root@ansible ~]# ansible-doc yum           # 查看相关帮助信息 (搜索/EXAMPLES)

[root@ansible ~]# ansible node03 -m setup   # 获取对端节点的内置相关变量(主机名 ip地址等)

3) 如何查看某个模块的详细帮助信息

    查看源代码: /usr/lib/python2.7/site-packages/ansible/modules/packaging/os/yum.py

    ansible-doc yum             # 查看相关帮助信息 (搜索/EXAMPLES)

常用四大模块:

    yum copy file service

几个重要概念:

    安装present

    卸载absent

    升级latest

    排除exclude

    指定仓库enablerepo

语法格式:

    ansible 主机名或组名 -m 指定模块 -a 具体命令

yum模块:

#示例1: 安装当前最新的apache软件, 如果存在则更新

[root@ansible ~]# ansible group1 -m yum -a "name=httpd state=latest"

#示例2: 安装当前最新的apache软件, 通过本地仓库安装

[root@ansible ~]# ansible group1 -m yum -a "name=httpd state=latest enablerepo=c7-local-http"

#示例3: 删除apache软件

[root@ansible ~]# ansible group1 -m yum -a "name=httpd state=absent"

copy模块:

#示例1: 将本地的httpd.conf文件Listen端口修改为8080, 然后推送到远端服务器

[root@ansible ~]# ansible group1 -m copy -a "src=/etc/ansible/source_code/copy_module/httpd.conf dest=/etc/httpd/conf/httpd.conf owner=root group=root mode=644"

#示例2: 将本地的httpd.conf文件Listen端口修改为8088, 然后推送到远端, 检查远端是否存在上一次的备份文件

[root@ansible ~]# ansible group1 -m copy -a "src=/etc/ansible/source_code/copy_module/httpd.conf dest=/etc/httpd/conf/httpd.conf owner=root group=root mode=644 backup=yes"

# 查看是否有对应的备份文件

[root@ansible ~]# ssh node01 ls /etc/httpd/conf/httpd\*

#示例3: 往远程的主机文件中写入内容

[root@ansible ~]# ansible group1 -m copy -a "content='Hello World......\n'  dest=/var/www/html/index.html"

# 校验对端服务器对应的文件内容是否已经修改

[root@ansible ~]# ssh node01 cat /var/www/html/index.html

file模块:

#示例1: 创建文件/var/www/html/hostname.html, 并设定属主 属组 权限

[root@ansible ~]# ansible group1 -m file -a "path=/var/www/html/hostname.html state=touch owner=apache group=apache mode=644"

# 查看文件否创建成功

[root@ansible copy_module]# ssh node01 ls -lt /var/www/html/hostname.html

#示例2:  创建目录/var/www/html/imgs, 并设定属主 属组 权限

[root@ansible ~]# ansible group1 -m file -a "path=/var/www/html/imgs state=directory owner=apache group=apache mode=755"

[root@ansible ~]# ssh node01 ls -ld /var/www/html/imgs

#示例3:  递归授权目录的方式

[root@ansible ~]# ansible group1 -m file -a "path=/var/www/html/ owner=apache group=apache mode=755"

[root@ansible ~]# ansible group1 -m file -a "path=/var/www/html/ owner=apache group=apache recurse=yes" # 递归授权

service模块:

[root@ansible ~]# ansible group1 -m service -a "name=httpd state=stopped"   # 先停止服务

查看服务状态:

[root@ansible ~]# ssh node01 systemctl status httpd | grep 'Active: '

   Active:  inactive (dead) since   # stopped状态

#示例1:  启动Httpd服务

[root@ansible ~]# ansible group1 -m service -a "name=httpd state=started"

查看服务状态:

[root@ansible ~]# ssh node01 systemctl status httpd | grep 'Active: '

   Active:  active (running) since Mon  # running状态

#示例2:  重载Httpd服务

[root@ansible ~]# ansible group1 -m service -a "name=httpd state=reloaded"

#示例3:  重启Httpd服务

[root@ansible ~]# ansible group1 -m service -a "name=httpd state=restarted"

#示例4:  停止Httpd服务

[root@ansible ~]# ansible group1 -m service -a "name=httpd state=stopped"

#示例5:  启动Httpd服务, 并加入开机自启

[root@ansible ~]# ansible group1 -m service -a "name=httpd state=started enabled=yes"



 文章来源地址https://www.toymoban.com/news/detail-401884.html

到了这里,关于ansible 云计算 自动化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • webpack5基础--12_开发服务器&自动化

    每次写完代码都需要手动输入指令才能编译代码,太麻烦了,我们希望一切自动化 webpack.config.js 注意运行指令发生了变化 并且当你使用开发服务器时,所有代码都会在内存中编译打包,并不会输出到 dist 目录下。 开发时我们只关心代码能运行,有效果即可,至于代码被编译

    2024年03月10日
    浏览(110)
  • DNS:自动化配置 主/从/缓存 DNS服务器

    学习遇到 DNS 自动化部署的一个 Ansible 剧本,这里分享给小伙 部署使用 Bind9 ,包括主从 DNS 构建,缓存 DNS 构建,缓存使用 unbound 剧本相对简单 理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它

    2024年02月13日
    浏览(44)
  • Webpack5入门到原理13:开发服务器&自动化

    每次写完代码都需要手动输入指令才能编译代码,太麻烦了,我们希望一切自动化 npm i webpack-dev-server -D webpack.config.js 注意运行指令发生了变化 并且当你使用开发服务器时,所有代码都会在内存中编译打包,并不会输出到 dist 目录下。 开发时我们只关心代码能运行,有效果即

    2024年01月20日
    浏览(48)
  • 【Linux】云服务器自动化部署VuePress博客(Jenkins)

    博主此前是将博客部署在 Github Pages (基于 Github Action)和 Vercel 上的,但是这两种部署方式对于国内用户很不友好,访问速度堪忧。因此将博客迁移到自己的云服务器上,并且基于 Jenkins (一款开源持续集成工具)实现本地推送代码后,自动化集成部署 环境 云服务器:Cent

    2024年02月13日
    浏览(50)
  • 自动化安装Nginx脚本:简化您的服务器配置

    在如今的网络世界中,Nginx作为一款高性能的Web服务器和反向代理服务器,扮演着至关重要的角色。然而,手动安装和配置Nginx可能会耗费大量时间和精力,特别是对于那些对Linux系统不太熟悉的人来说。幸运的是,我们为您带来了一个自动化的解决方案,能够简化整个Nginx安

    2024年02月10日
    浏览(46)
  • 自动化管理管理工具----Ansible

    目录 ​编辑 一、Ansible概念 1.1特点 二、工作机制(日常模块) 2.1 核心程序 三、Ansible 环境安装部署 四、ansible 命令行模块 4.1command 模块 4.2shell 模块 4.3cron 模块 4.4user 模块 4.5group 模块 4.6copy模块 4.7file模块 4.8hostname模块 4.9ping 模块 4.11yum 模块 4.12service/systemd 模块 4.13script 模块

    2024年02月10日
    浏览(44)
  • Ansible 自动化运维工具

    目录 一: Ansible 简介   Ansible与其他自动化运维工具对比  二: ansible 环境安装部署   三:ansible 命令行模块 1、command 模块 2、 shell 模块 3、 cron 模块 4、 user 模块 5、 group 模块  6、copy 模块 7、 file 模块  8、hostname 模块 9、ping 模块 10、 yum 模块 11、 service/systemd 模块

    2024年02月15日
    浏览(45)
  • 自动化运维工具—Ansible

    Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。 市面上其他自动化工具:pupet(ruby语言) saltstack(python) chef(C/S模式)等 Ansible能批量配

    2024年02月10日
    浏览(46)
  • 自动化运维ansible(role)

    一、role的介绍 1、Roles称为角色,本质上是为简化playbook配置文件而产生的一种特殊的方法。 2、简单来说,roles就是将原本在一个yaml中的文件进行规则化分散,封装到不同的目录下,从而简化playbook的yaml配置文件大小。从其实现方法上来看,类似于软件开发上的代码封装。

    2024年02月07日
    浏览(36)
  • 自动化运维工具——Ansible

    Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。 Ansible能批量配置、部署、管理上千台主机。比如以前需要切换到每个主机上执行的一或多个

    2024年02月14日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包