新闻中心
新闻中心与新手教程
新闻中心与新手教程
发布时间:2024-10-14 14:48:52
本指南将介绍如何使用ansible的mappings功能来自动化配置不同版本centos系统的yum源。我们将创建一个灵活的playbook,可以根据目标主机的centos版本自动选择合适的yum源配置。
确保您的控制节点上已安装ansible。如果尚未安装,可以使用以下命令:
sudo yum install ansible # 对于centos/rhel系统
sudo apt install ansible # 对于ubuntu/debian系统
创建一个名为inventory.ini
的文件,列出您要管理的centos主机:
[centos_servers]
centos6 ansible_host=192.168.1.101
centos7 ansible_host=192.168.1.102
centos8 ansible_host=192.168.1.103
创建一个名为configure_yum.yml
的文件:
---
- name: configure yum repositories for centos
hosts: centos_servers
become: yes
vars:
centos_versions:
"6":
base_url: "http://mirror.centos.org/centos-6/6/os/$basearch/"
updates_url: "http://mirror.centos.org/centos-6/6/updates/$basearch/"
"7":
base_url: "http://mirror.centos.org/centos-7/7/os/$basearch/"
updates_url: "http://mirror.centos.org/centos-7/7/updates/$basearch/"
"8":
base_url: "http://mirror.centos.org/centos-8/8/baseos/$basearch/os/"
appstream_url: "http://mirror.centos.org/centos-8/8/appstream/$basearch/os/"
tasks:
- name: get centos major version
command: rpm -e %{centos_ver}
register: centos_version
changed_when: false
- name: configure yum repositories
template:
src: yum.repo.j2
dest: /etc/yum.repos.d/centos-base.repo
vars:
repo_config: "{{ centos_versions[centos_version.stdout] }}"
创建一个名为yum.repo.j2
的jinja2模板文件:
[base]
name=centos-$releasever - base
baseurl={{ repo_config.base_url }}
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/rpm-gpg-key-centos-{{ ansible_distribution_major_version }}
[updates]
name=centos-$releasever - updates
{% if ansible_distribution_major_version | int < 8 %}
baseurl={{ repo_config.updates_url }}
{% else %}
baseurl={{ repo_config.base_url }}
{% endif %}
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/rpm-gpg-key-centos-{{ ansible_distribution_major_version }}
{% if ansible_distribution_major_version | int >= 8 %}
[appstream]
name=centos-$releasever - appstream
baseurl={{ repo_config.appstream_url }}
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/rpm-gpg-key-centos-{{ ansible_distribution_major_version }}
{% endif %}
使用以下命令运行playbook:
ansible-playbook -i inventory.ini configure_yum.yml
在目标主机上运行以下命令来验证yum源配置:
yum repolist
become: yes
是否正确设置debug
模块打印变量值进行检查/etc/yum.repos.d/centos-base.repo
文件内容是否正确ansible_distribution_major_version
变量rpm -e %{centos_ver}
命令进行验证--check
模式进行干运行,检查可能的更改------------------------------------------------------------------
介绍如何使用ansible的mappings功能来自动化配置不同版本centos系统的yum源。这个指南包括以下主要部分:
这个指南旨在提供一个全面且实用的参考,帮助您成功实现centos yum源的自动化配置。指南中包含了代码片段、命令行指令,以及关键概念的解释。
感谢:www.05vm.com www.nj0827.net