首页 > 解决方案 > ansible 基础设施即代码:从配置文件中创建、更新、删除用户

问题描述

TLDR

我希望我们基础设施上的用户准确地反映我提供给 ansible 的配置文件(json)。

一个快速而简单的方法是:

但这意味着在每次部署时,用户都会消失片刻,这是必须避免的!更好的方法可能是:

虽然我可能可以手动实现,但这似乎相当麻烦。有没有更简单的方法可以用 ansible 实现这个?

很长的故事

我们ansible用来配置我们的基础设施。例如,在创建用户时,主要任务如下所示:

- name: import users
  uri:
    url: "{{ '%(url)s/users/user/%(user)s'|format(
        url=url,
        user=user
      ) }}"
    method: PUT
    user: "{{ configuration_user }}"
    password: "{{ configuration_password }}"
    force_basic_auth: yes
    body_format: json
    body: "{{ lookup('template', item) }}"
    status_code: 200, 201
  vars:
    user: "{{ item | basename | regex_replace('.json','') }}"
  with_fileglob:
    - security/users/*.json

所以我们只是使用该PUT方法来创建/更新用户。这种方法的难点:

标签: configurationansibleconfiguration-as-code

解决方案


推荐阅读