gpt4 book ai didi

ansible - 不同环境的独立 Ansible Vaults?

转载 作者:行者123 更新时间:2023-12-04 10:49:41 25 4
gpt4 key购买 nike

我正在使用 Ansible 来处理不同环境的端点差异。
这是通过使用变量和 ansible-xml 扩展来完成的。

例如,我在名为“myapp”的角色中设置了一个名为“endpoints.yml”的任务。此任务在配置文件中设置各种配置参数,代入变量。

/roles/myapp/tasks/endpoints.yml

 —> set value in app config file to: {{ db_user }}
—> set value in app config file to: {{ db_password }}

由于我的非生产环境共享一个端点,因此这些变量的值在角色的默认文件中设置:

/roles/myapp/defaults/main.yml
 —> db_user: myuser_ro
—> db_passwordd: some_password

对于 prod 环境,我用 group_variable 覆盖默认值(因为它优先):

/environments/prod/group_vars/myapp_servers
 —> db_user: produser_ro
—> db_password: some_other_password

这一切都很好,并允许我们为所有环境使用单一的剧本/角色。但是,我想移动利用 ansible-vault 将密码值从这些文件中移到加密文件中。

但是,prod 和 non-prod 仍然会有不同的值。
我可以在名为“pass.yml”的角色中创建一个新的“vars”文件,使用 ansible-vault 对其进行加密,然后使用“include_vars: pass.yml”从任务中引用它。

但这并不能解释我如何解释不同环境需要不同(加密)的变量。

有什么建议?

最佳答案

听起来您正在使用多环境结构,例如 this .在这种情况下,您可以为每个环境创建一个 Vault 文件。

environments
├── dev
│   └── group_vars
│   └── all
│   └── secrets
└── prod
└── group_vars
└── all
└── secrets

每个“ secret ”文件都可以有自己的密码。

关于ansible - 不同环境的独立 Ansible Vaults?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30267485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com