自动化运维工具Ansible教程(一)【入门篇】

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


自动化运维工具Ansible教程(一)【入门篇】,运维,运维,自动化,ansible

前言

ansible 学习大纲
自动化运维工具Ansible教程(一)【入门篇】,运维,运维,自动化,ansible
Ansible 是一个开源的自动化工具,用于配置管理、应用部署和任务执行。它以简单、可读性强的 YAML 格式的 Playbooks 为基础,使得自动化任务变得简单、可维护和可扩展。

  1. 简单易用:Ansible 的设计目标之一是简单易用。它使用 YAML 语法定义任务和配置,无需编写复杂的脚本或编程代码。初学者可以快速上手,同时也适用于复杂的自动化需求。

  2. 无代理:Ansible 使用 SSH 协议进行远程连接和执行任务,无需在远程主机上安装任何代理程序。这使得部署和管理变得简单,同时减少了对目标主机的依赖和配置要求。

  3. 基于模块化:Ansible 基于模块化的架构,提供了丰富的模块来管理各种不同类型的系统、服务和应用。这些模块可以执行各种任务,如安装软件包、配置文件、启动服务等。

  4. 声明式语法:Ansible Playbooks 使用声明式语法描述所需的状态和配置,而不是编写特定的步骤和命令。这使得配置管理和自动化任务的维护更加直观和可读性强。

  5. 可扩展性:Ansible 可以轻松扩展以适应不同规模和复杂度的环境。它支持分组管理、变量管理、角色和插件等功能,可以构建复杂的自动化流程和组织结构。

  6. 强大的生态系统:Ansible 拥有庞大的社区和活跃的贡献者,提供了大量的模块、角色和插件。Ansible Galaxy 是一个社区驱动的集市,提供了现成的角色和模块,可用于加速和共享自动化任务的开发。

Ansible 的应用场景广泛,可以用于服务器配置管理、应用部署、云基础设施管理、网络设备配置、持续集成/持续部署 (CI/CD) 等。它的简单性、可读性和可扩展性使得 Ansible 成为许多组织和开发团队的首选自动化工具。

Ansible 入门到精通

入门篇

  1. Ansible 简介
  2. 安装 Ansible
  3. Ansible 的基本概念和核心组件
  4. 编写和运行第一个 Ansible Playbook
  5. 主机清单和组织结构
  6. Ansible 常用模块和任务
  7. Ansible 变量和模板
  8. Ansible 条件和循环

进阶篇

  1. Ansible 的高级主题(例如:角色、动态清单、变量管理等)
  2. 使用 Ansible Vault 进行加密和解密
  3. Ansible 远程执行和连接方式
  4. 高级 Ansible Playbook 技巧
  5. 使用 Ansible 进行系统配置和部署
  6. Ansible 的容器和云集成
  7. Ansible 自动化测试和检查
  8. Ansible 运维和故障排除

精通篇

  1. Ansible 在企业级环境中的应用和扩展
  2. Ansible 与其他自动化工具的集成
  3. Ansible 最佳实践和实际案例分析
  4. Ansible 性能优化和容错机制
  5. Ansible 社区和资源

入门篇

1. Ansible 简介

2. 安装 Ansible

安装 Ansible 主要有两种方式:通过包管理器和源码安装。

1. 通过包管理器安装:

对于基于 Debian 的系统(如 Ubuntu),可以使用 apt-get 命令来安装 Ansible:

sudo apt-get update
sudo apt-get install software-properties-common
sudo apt-add-repository --yes --update ppa:ansible/ansible
sudo apt-get install ansible

对于基于 Red Hat 的系统(如 CentOS),可以使用 yum 命令来安装 Ansible:

sudo yum install epel-release
sudo yum install ansible
2. 通过源码安装:

如果你需要使用 Ansible 的最新版本,或者你的系统没有预包装的 Ansible,你可以选择通过源码安装。首先,你需要安装一些必要的依赖,然后从 GitHub 上克隆 Ansible 的源码,并安装:

sudo apt-get install git python3-pip
git clone https://github.com/ansible/ansible.git
cd ansible
sudo pip3 install .

安装完成后,你可以使用 ansible --version 命令来检查 Ansible 是否已经成功安装,以及其版本信息。

3. Ansible 的基本概念和核心组件

自动化运维工具Ansible教程(一)【入门篇】,运维,运维,自动化,ansible

Ansible的一些基本概念和核心组件:

  1. 主机清单(Inventory):主机清单是一个定义可管理主机的文件或文件集合。它指定了Ansible应该在哪些主机上执行任务。主机清单可以是静态的(静态清单文件)或动态的(通过外部脚本或插件生成)。

  2. Playbook:Playbook是一个YAML格式的文件,用于定义Ansible的配置、部署和管理任务。它由一个或多个Play(任务集合)组成,每个Play定义了一组在一组主机上执行的任务。

  3. 模块(Modules):模块是Ansible的基本执行单元,用于执行具体的任务。Ansible提供了丰富的模块库,用于管理文件、安装软件包、配置服务等各种操作。

  4. 任务(Tasks):任务是在Playbook中定义的单个操作步骤。每个任务通常使用一个模块来执行特定的操作,例如安装软件包、复制文件、启动服务等。

  5. 角色(Roles):角色是一种组织和复用Playbook的机制。它将相关的任务、变量和文件组织到单个目录结构中,使得管理和维护复杂的配置变得更加容易。

  6. 变量(Variables):变量用于存储和传递数据,以在Playbook中进行配置和任务执行。变量可以在不同的层次(全局、主机组、主机、角色等)进行定义和使用。

  7. 模板(Templates):模板是一种允许在文件复制过程中进行动态渲染的机制。它使用Jinja2模板引擎,可以根据变量和条件生成最终的配置文件。

  8. 插件(Plugins):插件是可扩展Ansible功能的组件。它们可以修改或扩展Ansible的核心行为,包括主机清单解析、任务执行、变量处理等。

  9. 控制节点(Control Node):控制节点是运行Ansible的主机或服务器。它是执行Ansible命令和Playbook的机器,与目标主机通过SSH建立连接并进行管理操作。

这些是Ansible的一些基本概念和核心组件。通过理解这些概念,您可以开始编写和执行Ansible Playbook,实现自动化的系统配置和管理

4. 编写和运行第一个 Ansible Playbook

自动化运维工具Ansible教程(一)【入门篇】,运维,运维,自动化,ansible

要编写一个部署包含 Spring Boot 项目、Redis、MySQL 和 Nginx 的 Ansible Playbook, 可以按照以下步骤进行操作:

  1. 主机清单(Host Inventory)
    指定你要在其中部署和管理应用程序的主机列表。它是一个文本文件,其中包含主机的名称或 IP 地址,并按组织和分类进行分组。主机清单告诉 Ansible 在哪些主机上执行特定的任务或角色。
    主机清单文件通常具有 .ini.yaml 扩展名
    我们有两个组 [web_servers][database_servers],每个组中列出了相应主机的名称和 IP 地址。你需要根据你的实际部署环境和需求来创建和维护主机清单文件。
[web_servers]
web1 ansible_host=192.168.1.10
web2 ansible_host=192.168.1.11

[database_servers]
db1 ansible_host=192.168.1.20
db2 ansible_host=192.168.1.21
  1. 创建一个名为 deploy.yml 的 Ansible Playbook 文件。
    在这个 Playbook 中,我们首先定义了一些变量,例如项目名称、项目版本和 MySQL 的 root 密码。你可以根据实际情况修改这些变量的值。
    接下来,我们列出了一系列任务:
  • 更新 apt 缓存
  • 安装 Java Development Kit (JDK)
  • 安装 Redis
  • 安装 MySQL
  • 对 MySQL 进行安全设置
  • 安装 Nginx
  • 配置 Nginx
  • 部署 Spring Boot 项目
  • 启动 Spring Boot 项目
---
- name: Deploy Spring Boot Project
 hosts: 172.16.57.56 # 替换为你的目标主机清单

 vars:
   project_name: icepip-first-project # 项目名称
   project_version: 1.0.0  # 项目版本
   mysql_root_password: your_mysql_root_password  # MySQL root 密码

 tasks:
   - name: Update apt cache  # 更新 apt 缓存
     become: yes
     apt:
       update_cache: yes

   - name: Install Java Development Kit (JDK)  # 安装 Java Development Kit (JDK)
     become: yes
     apt:
       name: openjdk-11-jdk
       state: present

   - name: Install Redis  # 安装 Redis
     become: yes
     apt:
       name: redis-server
       state: present

   - name: Install MySQL  # 安装 MySQL
     become: yes
     apt:
       name: mysql-server
       state: present

   - name: Secure MySQL installation  # 安全设置 MySQL 安装
     become: yes
     mysql_user:
       name: root
       password: "{{ mysql_root_password }}"
       login_unix_socket: /var/run/mysqld/mysqld.sock
       host: localhost
       check_implicit_admin: yes
       login_user: root
       login_password: ""
       priv: "*.*:ALL,GRANT"
       state: present

   - name: Install Nginx  # 安装 Nginx
     become: yes
     apt:
       name: nginx
       state: present

   - name: Configure Nginx  # 配置 Nginx
     become: yes
     template:
       src: nginx.conf.j2
       dest: /etc/nginx/nginx.conf
       validate: /usr/sbin/nginx -t
     notify:
       - Restart Nginx

   - name: Deploy Spring Boot project  # 部署 Spring Boot 项目
     become: yes
     copy:
       src: target/{{ project_name }}-{{ project_version }}.jar
       dest: /opt/{{ project_name }}.jar

   - name: Start Spring Boot project  # 启动 Spring Boot 项目
     become: yes
     shell: |
       nohup java -jar /opt/{{ project_name }}.jar > /dev/null 2>&1 &

 handlers:
   - name: Restart Nginx  # 重启 Nginx
     become: yes
     service:
       name: nginx
       state: restarted

Configure Nginx 任务中,使用了一个名为 nginx.conf.j2 的模板文件来配置 Nginx。你需要创建这个模板文件并定义适合你的项目的 Nginx 配置。定义了一个名为 Restart Nginx 的处理程序,在配置更改时重新启动 Nginx 服务。

  1. 创建一个名为 nginx.conf.j2 的模板文件
    Nginx 配置了一个监听端口为 80 的服务器块,将请求代理到运行在本地的 Spring Boot 项目的 8080 端口。
worker_processes auto;
events {
  worker_connections 1024;
}
http {
  server {
    listen 80;
    server_name your_domain;

    location / {
      proxy_pass http://localhost:8080;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
    }
  }
}
  1. 保存并关闭 deploy.ymlnginx.conf.j2 文件。

  2. 运行 Ansible Playbook:

		ansible-playbook deploy.yml

Ansible 将连接到目标主机并按照 Playbook中定义的任务顺序执行操作。它会安装和配置 Redis、MySQL 和 Nginx,然后部署和启动 Spring Boot 项目。

5. 主机清单和组织结构

主机清单(Host Inventory)和组织结构在 Ansible 中起着关键的作用。它们用于定义和组织要管理的主机以及如何对它们进行分类和分组。

主机清单
  1. 主机清单文件:主机清单文件是一个文本文件,其中列出了要在 Ansible 中管理的主机的信息。它可以包含主机名、IP 地址、连接信息和其他变量。主机清单文件可以使用 .ini.yaml 格式编写。

  2. 主机组:主机组是一种将主机按逻辑或功能进行分组的方式。你可以基于不同的标准(如角色、地理位置、环境等)将主机分成不同的组。这样,你可以根据需要在组级别或单个主机级别上执行任务。

  3. 组变量:组变量是应用于特定主机组的变量。它们以组的名称作为键,可以在主机清单文件中定义。通过组变量,你可以在一次性中为一组主机设置共享的属性和配置。

  4. 主机变量:主机变量是应用于单个主机的变量。它们以主机的名称作为键,可以在主机清单文件中定义。主机变量允许你为特定主机设置独立的属性和配置。

  5. 动态主机清单:动态主机清单是一种动态生成主机清单的机制。它可以从外部源(如云提供商、配置管理数据库等)获取主机信息,并在运行时构建主机清单。这对于动态环境中的自动化和弹性部署非常有用。

通过合理组织和使用主机清单和组织结构,你可以更好地管理和扩展 Ansible 部署。你可以根据你的项目需求和部署架构,灵活地定义主机组、变量和组织结构,以便有效地执行任务和角色。

在Ansible中,主机清单是一个配置文件,它包含了被Ansible管理的所有主机的列表。主机清单通常用于制定哪些主机应该接受哪些特定的命令和配置。

主机清单的基本结构是这样的:

在这个例子中,web_serversdatabase_servers就是组(组名),

[web_servers]
web1 ansible_host=192.168.1.10
web2 ansible_host=192.168.1.11

[database_servers]
db1 ansible_host=192.168.1.20
db2 ansible_host=192.168.1.21
组织结构

Ansible的组织结构是通过主机清单来管理的,可以构建高级别的抽象结构,这意味着可以有子组、父组,甚至可以有嵌套的子组。 atlantaraleigh是子组;southeast是父组,它包含了两个子组(atlanta, raleigh);usa是一个更大的父组,包含了更多的子组。同时,在[southeast:vars]下定义的变量(some_server,halon_system_timeout,self_destruct_countdown,escape_pods) 将对southeast组以及其下的所有子组和主机生效。

[atlanta]
host1
host2

[raleigh]
host3
host4

[southeast:children]
atlanta
raleigh

[southeast:vars]
some_server=foo.southeast.example.com
halon_system_timeout=30
self_destruct_countdown=60
escape_pods=2

[usa:children]
southeast
northeast
southwest
northwest

这种组织结构的设计使得Ansible能够非常轻松地管理大型的网络结构。你可以简单地通过改变组或父组的配置来改变一大组机器的行为。

6. Ansible 常用模块和任务

Ansible 提供了丰富的模块来执行各种任务。下面是一些常用的 Ansible 模块和任务的示例:

  1. apt 模块:用于管理基于 APT(Debian、Ubuntu)的软件包。可以安装、升级、移除软件包,并更新本地的软件包缓存。
- name: Install nginx
  apt:
    name: nginx
    state: present
  1. yum 模块:用于管理基于 YUM(Red Hat、CentOS)的软件包。可以安装、升级、移除软件包,以及管理软件包仓库。
- name: Install httpd
  yum:
    name: httpd
    state: present
  1. copy 模块:用于将文件从控制节点复制到远程主机。可以指定源文件路径和目标路径,并设置文件权限和所有权。
- name: Copy configuration file
  copy:
    src: /path/to/source/file.conf
    dest: /etc/destination/file.conf
    owner: root
    group: root
    mode: 0644
  1. template 模块:用于使用模板引擎生成文件,并将其复制到远程主机。可以使用变量和条件逻辑来自定义生成的文件。
- name: Generate configuration file from template
  template:
    src: /path/to/template.conf.j2
    dest: /etc/destination/file.conf
    owner: root
    group: root
    mode: 0644
  1. service 模块:用于管理系统服务的状态。可以启动、停止、重新启动服务,并设置服务的启动状态。
- name: Start nginx service
  service:
    name: nginx
    state: started
  1. command 模块:用于在远程主机上执行命令并获取输出结果。
- name: Execute a command
  command: ls -l /path/to/directory
  register: result

- name: Print command output
  debug:
    var: result.stdout

这只是一小部分常用的 Ansible 模块和任务示例。Ansible 还提供了许多其他模块,涵盖了各种任务,包括文件操作、用户管理、数据库操作、云资源管理等。你可以根据具体需求选择适当的模块和任务,构建自己的 Ansible Playbooks。

7. Ansible 变量和模板

在 Ansible 中,变量和模板的定义可以在不同的位置和方式进行。以下是几种常见的定义方式:

1. 主机清单文件中定义变量: 可以在主机清单文件中为每个主机或主机组定义变量。这些变量将应用于特定的主机或主机组,可以在 Playbooks 和模板中使用。主机变量使用 host_varsgroup_vars 目录来组织,文件名与主机名或组名相对应。

示例(位于 host_vars 目录下的文件):

# host_vars/web1.yml
http_port: 8080

示例(位于 group_vars 目录下的文件):

# group_vars/web_servers.yml
http_port: 8080

2. Playbook 文件中定义变量: 可以在 Playbook 文件中定义变量,这些变量将应用于整个 Playbook 中的任务。可以使用 vars 关键字定义变量。

示例:

- name: Configure web server
  hosts: web_servers
  vars:
    http_port: 8080
  tasks:
    - name: Install and configure web server
      ...

3. 命令行中定义变量: 可以在运行 Ansible 命令时通过命令行参数定义变量。可以使用 -e--extra-vars 参数来传递变量。

示例:

ansible-playbook playbook.yml -e "http_port=8080"

4. 注册变量: 在任务执行期间,可以使用 register 关键字将命令执行的结果保存到变量中。注册变量可以在后续任务中使用。

示例:

- name: Execute a command
  command: ls -l /path/to/directory
  register: result

- name: Print command output
  debug:
    var: result.stdout

5. 模板文件中定义变量: 可以在模板文件中使用变量占位符,并在 Playbook 中通过 template 模块将变量值传递给模板。

示例模板文件 template.conf.j2

# Configuration file
server_ip = {{ ansible_host }}
http_port = {{ http_port }}

在 Playbook 中使用 template 模块:

- name: Generate configuration file from template
  template:
    src: template.conf.j2
    dest: /etc/destination/file.conf
    owner: root
    group: root
    mode: 0644

8. Ansible 条件和循环

在 Ansible 中,条件和循环用于控制任务的执行流程和处理复杂的配置情况。以下是 Ansible 中条件和循环的用法和示例:

条件

使用条件语句可以根据不同的条件来执行或跳过任务。

  1. when 关键字:when 关键字允许你在任务级别使用条件判断。任务只有在条件为真时才会执行。
- name: Install package if OS is CentOS 7
  yum:
    name: package_name
    state: present
  when: ansible_distribution == 'CentOS' and ansible_distribution_major_version == '7'
  1. failed_when 关键字:failed_when 关键字允许你在任务执行失败时自定义失败的条件。
- name: Execute a command and ignore non-zero return code
  command: some_command
  failed_when: false
  1. changed_when 关键字:changed_when 关键字允许你自定义任务是否被标记为已更改的条件。
- name: Execute a command and always report as changed
  command: some_command
  changed_when: true

循环

使用循环结构可以对列表、字典等数据进行迭代,执行重复的任务。

  1. with_items 关键字:with_items 关键字用于循环遍历列表。
- name: Create multiple users
  user:
    name: "{{ item }}"
    state: present
  with_items:
    - user1
    - user2
    - user3
  1. loop 关键字:loop 关键字用于循环遍历任意可迭代对象,包括列表、字典等。
- name: Create multiple users
  user:
    name: "{{ item }}"
    state: present
  loop:
    - user1
    - user2
    - user3
  1. with_dict 关键字:with_dict 关键字用于循环遍历字典。
- name: Set multiple facts
  set_fact:
    "{{ item.key }}": "{{ item.value }}"
  with_dict:
    key1: value1
    key2: value2
    key3: value3
  1. with_fileglob 关键字:with_fileglob 关键字用于循环遍历匹配指定文件模式的文件列表。
- name: Copy files
  copy:
    src: "{{ item }}"
    dest: /path/to/destination/
  with_fileglob:
    - /path/to/files/*.txt
    - /path/to/files/*.conf

参考文档

  1. Ansible 官方文档 ↗: Ansible 官方文档是学习 Ansible 的最全面和权威的资源。它包含了 Ansible 的所有功能、模块和概念的详细说明,并提供示例和最佳实践指南。

  2. Ansible 官方示例 ↗: Ansible 官方示例库包含了一系列使用 Ansible 的示例 Playbooks,涵盖了各种常见的用例和场景。这些示例可以帮助你学习和理解如何使用 Ansible 进行自动化配置和部署。文章来源地址https://www.toymoban.com/news/detail-706308.html

到了这里,关于自动化运维工具Ansible教程(一)【入门篇】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 自动化运维工具——Ansible

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

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

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

    2024年02月08日
    浏览(54)
  • Ansible自动化运维工具的认识

    目录 一、Ansible概述 二、Ansible特点 三、Ansible应用 1、使用者 2、Ansible工具集合 3、作用对象 四、Ansible的搭建 1、实验环境 2、环境准备 Ansible: 3、创建ssh免密交互登录 client端环境准备 五、Ansible配置 六、Ansible命令 1、ansible 实验案例: 1.检查所有主机是否存活 2.列出Rich组中

    2024年02月16日
    浏览(32)
  • Ansible自动化运维工具---Playbook

    playbook是剧本的意思,通过 task 调用 ansible 的模块将多个 play 组织在一 个playbook中运行。 playbook各部分组成 : Tasks : 任务,即调用模块完成的某操作 Variables : 变量 emplates : 模板 Handlers : 处理器,当某条件满足时,触发执行的操作 Roles : 角色 playbook yaml语法 是换行空两格,-和

    2024年02月03日
    浏览(30)
  • Ansible 自动化运维工具(完善版)

    目录  Ansible概述 Ansible特点 Ansible应用 1、使用者 2、Ansible工具集合 3、作用对象 Ansible的搭建 环境 ansible主机 1、ansible 2、Ansible-doc Ansible模块 1.command模块 2.shell模块 3.raw模块 Ansible是最近非常火的一款开源运维自动化工具,通过Ansible可以实现运维自动化,提高运维工程师的工

    2024年02月16日
    浏览(33)
  • Ansible 自动化运维工具的使用

    目录   一、Ansible简介 二、Ansible 的安装和使用 1.下载 2.使用 三、Ansible命令和模块 1.命令格式 2.命令行模块 (1)command 模块 (2)shell 模块 (3)cron 模块 (4)user 模块 (5)group 模块 (6)copy 模块 (7)file 模块 (8)hostname 模块 (9)ping 模块  (10)yum 模块 (11)service/

    2024年02月11日
    浏览(30)
  • 自动化运维工具——Ansible学习(二)

    目录 一、handlers和notify结合使用触发条件 1.新建httpd.yml文件 2.复制配置文件到ansible的files目录中 3.卸载被控机已安装的httpd 4.执行httpd.yml脚本 5.更改httpd.conf配置文件 6.使用handlers 7.重新执行httpd.yml脚本 8.检查被控机的端口号是否改变 9.handlers也可以触发多个 二、tags 1.通过指定

    2024年02月16日
    浏览(28)
  • 自动化运维工具-------Ansible(超详细)

    Ansible是自动化运维工具,基于Python开发,分布式,无需客户端,轻量级,实现了批量系统配置、批量程序部署、批量运行命令等功能, ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架 。 1)、no agents:不需要在

    2024年02月10日
    浏览(27)
  • Linux:ansible自动化运维工具

    当前所有执行权限我是在root下执行的,如果提示权限之类的,可以在每句命令前  加上 sudo     ansible主服务器  192.168.0.194         另外两个客户端分别为 192.168.0.193   192.168.0.192 软件只需要在主服务器上安装,客户端不需要去安装软件,因为他们相互使用的是ssh 只需要

    2024年02月11日
    浏览(29)
  • 【Ansible】Ansible自动化运维工具之playbook剧本

      简单来说,playbooks是一种简单的配置管理系统与多机器部署系统的基础。与现有的其他系统有不同之处,且非常适合复杂应用的部署。   Playbooks 可用于声明配置,更强大的地方在于,playbooks可以编排有序的去执行过程,甚至做到多组机器间来回有序的执行特别指定的

    2024年02月14日
    浏览(30)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包