[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

使用 Ansible 启动基础设施即代码(实用版)

大家好,我
系统解决方案部
SRE团队的冈崎

上次我写了介绍和安装 Ansible 工具,所以这次我想最后介绍一下如何运行 Ansible。

Ansible 运行时配置

运行 Ansible 需要的东西如下。

  • 主机文件(库存文件)
  • 剧本
  • 模块

我将逐一解释。

什么是主机文件(库存文件)? ?

主机文件(库存文件)是您在其中输入要使用的主机的文件。
示例条目如下。

[全部] XXX.XXX.XXX.XXX XXX.XXX.XXX.XXX [网站] XXX.XXX.XXX.XXX [数据库] XXX.XXX.XXX.XXX

您可以在每个[]部分指定执行主机组。
如果您以任意名称保存上述文件,在运行 Ansible 时添加选项 -i 并指定保存的文件,每个命令都会针对您输入的主机执行。

什么是剧本? ?

这是一个文件,您可以在其中编写要在目标主机上执行的命令和工作流程。
下面是安装 apache 的剧本。

--- # Main Play 操作 playbook - name: 将通用配置应用到所有节点hosts: all remote_user: [username] sudo: yestasks: - name: apache-install yum: name=httpd state=present

- name部分中,-部分代表这个进程的开始,name部分就是这个进程的名称。

主机部分可以指定上面解释的组部分。
这次,我们为所有主机指定了 [all]。

Remote_user 部分指定您正在使用的主机上的用户。
如果不指定远程目标上存在的用户,则不会执行该命令并会发生错误。

sudo部分指定是否使用remote_user以root权限执行命令。
这次,我们需要安装它,所以我们需要root权限,所以我们选择yes。

下面的任务部分是实际执行的命令。
这次,我们将使用yum命令来安装apache。

什么是模块? ?

我认为之前的剧本部分中有一个命令部分,该部分成为每个模块。
上次我们介绍了模块作为功能之一,但模块仍在以各种语言进行开发,并且
不仅用于配置服务器本身,还用于配置云平台。
有关详细信息,请参阅下面的实际模块列表链接。
链接: https

我们来尝试一下吧! !

现在让我们最后尝试运行 Ansible。
首先,在主机文件中输入您要使用的主机。

# vi 主机 ======================== [全部] XXX.XXX.XXX.XXX ============= ===========

接下来,我们将创建主要剧本。

# vi operation.yml ======================== --- # 主要 Play 操作 playbook - name: 将通用配置应用到所有节点hosts: all remote_user : ec2-user sudo: yes 任务: - 名称: apache-install yum: name=httpd state=present ==========================

最后使用ansible-playbook命令在目标主机上执行想要执行的命令。
*--private-key= 指定登录目标机的SSH私钥。

# ansible-playbook --private-key=key/id_rsa -ihosts operation.yml PLAY [将通用配置应用于所有节点] ********************** ****** 任务[收集事实] ************************************** ********** ************** 好的: [XXX.XXX.XXX.XXX] 任务 [apache-install] ********* ********** ********************************** 已更改:[XXX.XXX .XXX.XXX] 重温 **** ************************************** ********** ********** XXX.XXX.XXX.XXX : 正常=2 已更改=1 无法访问=0 失败=0

我们将检查它是否已安装。

$ rpm -qa | grep httpd httpd-tools-2.2.34-1.16.amzn1.x86_64 httpd-2.2.34-1.16.amzn1.x86_64

就安装成功了! ! !

概括

这次我写的是如何运行 Ansible。
下次我想详细写一下如何设置角色。
我们希望您能够继续对 Ansible 和运营/施工自动化保持哪怕是最轻微的兴趣。
这就是结论。

如果您觉得这篇文章有帮助,请点赞!
1
加载中...
1 票,平均:1.00 / 11
425
X Facebook 哈特纳书签 口袋
[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

写这篇文章的人

关于作者

冈崎润一郎

拥有丰富的手机游戏搬迁及运营经验。

他每天负责多云运营、服务器建设和搬迁。 随着案件数量的增加,我正在考虑如何提高工作效率。 我们经常考虑根据每个云的优点来重新定位服务器的方法。

在云间迁移、从物理到云的迁移过程中,我们在日本MSP协会举办的比赛中取得了两连胜。