Ansible - 如何在上次运行时修补 Ubuntu 节点

问题描述 投票:0回答:1

我有一个有 10 个节点的动态库存。其中 8 个是 RedHat,2 个是 Ubuntu。主机按随机顺序排列。我想写一个剧本,以便在所有 RedHat 节点都先修补之后,最后修补 Ubuntu 节点。我该如何为其编写剧本,而不是操纵库存?

我写了一本剧本,但不起作用。

ansible ansible-inventory
1个回答
0
投票

您可以查看基于 ansible_facts

 的条件以及以下最小示例剧本选项。

1.)

--- - hosts: all become: true gather_facts: true tasks: - name: Upgrade all packages ansible.builtin.dnf: name: "*" state: latest when: ansible_facts['os_family'] == "RedHat" - name: Update all packages to their latest version ansible.builtin.apt: name: "*" state: latest when: ansible_facts['os_family'] == "Debian"

文档

2.)

取决于是否使用

--- - name: Update RedHat-based systems hosts: redhat become: true gather_facts: false tasks: - name: Upgrade all packages ansible.builtin.dnf: name: "*" state: latest - name: Update Debian-based systems hosts: ubuntu become: true gather_facts: false tasks: - name: Upgrade all packages ansible.builtin.dnf: name: "*" state: latest

文档

  • 库存基础知识:格式、主机和组
  • 剧本执行
...以及更多构建升级过程的选项。

© www.soinside.com 2019 - 2024. All rights reserved.