gwerlas.system

基础系统

管道状态

Linux系统的基本设置。

在容器中运行角色并不常见,但此用例在Ansible测试中支持Molecule。在这种情况下,只需配置和更新软件包管理器的缓存,其它系统组件将不受管理,因为这是容器引擎的责任。

GitLab项目: yoanncolin/ansible/roles/system

要求

该角色是为非根用户运行而编写的,因此需要安装和配置Sudo。

网络配置需要netaddr Python包,同时还需要ansible.utils Ansible模块。

文件系统管理需要jmespath Python包,同时还需要community.generalansible.posix Ansible模块。

事实

该角色定义的事实:

  • system_packages
  • system_shells
  • system_sudo_version

有关更多详细信息,请参考[事实][]文档。

标签

由于某些值分配在多个任务中,您可以通过标签快速更新其中一些:

  • ca - SSL证书颁发机构
  • firewall
  • hosts - 更新 /etc/hosts 文件
  • networks
  • packages
  • proxies
  • storages
  • sudoers
  • time
  • users

用法:

ansible-playbook -t tag1[,tag2[,...]] my_play.yml

任务

系统组件通过独立任务进行管理,这些任务可以单独调用。

当然,所有任务都在main.yml中调用。请查看每个任务的文档:

  • [事实][]
  • [代理][]
  • [主机][]
  • [软件包][]
  • [网络][]
  • [存储][]
  • sudo
  • [用户][]
  • zsh
  • ca
  • [时间][]
  • [防火墙][]

角色变量

功能开关

查看defaults/main/feature-flipping.yml

通过将它们设置为truefalse来启用/禁用某些功能。

共享变量

查看defaults/main/shared.yml

system_bin_path: /usr/local/bin
system_profile: server
system_retries: 2

某些发行版没有提供命令行来轻松知道是否需要重启,或软件包缓存是否过期。因此我们放置了脚本来完成它。

可以通过system_bin_path更改这些脚本的位置。

system_profile可能会影响系统某些部分的行为,例如要安装的软件包(或不安装)。

如果您在安装过程中遇到网络问题,可以增加system_retries的值。

依赖关系

一个可以访问的Linux系统,并已安装Python。

示例剧本

首次部署或发行版升级,10步滚动更新:

---
- name: 滚动更新
  hosts: all
  serial: 10%
  roles:
    - role: gwerlas.system
      vars:
        system_packages_upgrade: true

只使用一个任务:

---
- name: 软件包管理
  hosts: all
  tasks:
    - name: 只需启动软件包管理器
      ansible.builtin.import_role:
        name: gwerlas.system
        tasks_from: package-managers

许可证

BSD 3-Clause 许可证

关于项目

Linux systems management

安装
ansible-galaxy install gwerlas.system
许可证
bsd-3-clause
下载
5.6k
拥有者
DevOps Engineer