可靠的角色构建



我是Ansible的新手,目前正在构建一些剧本来执行常见任务,例如执行预&在dev/test中安装我们的软件。

我正在处理的一个场景是使用Ansible配置从TF启动的服务器。Ansible将安装我们软件的所有预请求,如C++二进制文件、SQL Server、IIS角色等,然后安装我们的软件并执行后请求,如安装证书等,到目前为止,我一直在使用角色来完成这项工作。

我执行上述操作的剧本目前是这样的:

- hosts: TargetInventory
gather_facts: true
vars_files:
- Windows/000-files/play_variable_files/Windows-Standard-Include.yml
- Windows/000-files/play_variable_files/Application-Details.yml
pre_tasks: []
roles:
- Windows/010-playbook-init/010-temp-dirs-and-tools
- Windows/100-InstallWindowsFeatures/090-Install-dotNET35
- Windows/105-InstallIISRoles-AppName
- Windows/100-InstallWindowsFeatures/060-Install-MSMQ
- Windows/100-InstallWindowsFeatures/070-Install-SMTP
- Windows/100-InstallWindowsFeatures/080-Install-SNMP
- Windows/200-InstallPackages/020-InstallNet48
- Windows/200-InstallPackages/030-InstallCPPRedistributable
- Windows/200-InstallPackages/040-InstallMVC
- Windows/300-InstallSoftware/040-Install-SQL-Server
- Windows/300-InstallSoftware/042-Install-SQL-Server-Managment-Studio
- Windows/500-SpecialityMachines/Install-Configure-ApplicationName

虽然这是有效的,但我正在努力从长远考虑,并建立正确的结构,因为我还有一些应用程序要做。

我在创建角色Install Configure ApplicationName时遇到了这个潜在的障碍,这个角色目前相当单一。

它将安装MSI,安装SSL证书,为具有主机名inc web.config mods的应用程序配置IIS,验证IIS,在注册表中配置电子邮件等。我想将这些表演拆分为角色,因为这些部分可以用于其他地方,如安装证书,为ADHOC作业配置电子邮件。

我个人喜欢这个想法,但我认为在文件方面会更进一步。比方说,在5年后,我构建配置我们的应用程序的所有这些角色的剧本都不见了。他们怎么知道你需要20个角色来部署应用程序?这让我对我目前的角色设置产生了怀疑,因为我需要文档来说明什么应该已经是文档了?

我的困惑在于,你是如何定义和组织角色的,以及如何将其转化为不同的领域,如文档等?

渴望听到你的想法。

Brad

我没有将ansible用于服务器的经验,但我确实用于网络配置和管理。我根据将要提供的服务创建角色。

你基本上是在构建一个自下而上的结构。

组件角色:

  • SSL安装选项1
  • SSL安装选项2
  • 验证选项1

职能角色

  • SSL Flavor 1(角色(

    • SSL安装选项1
    • 验证选项1
  • SSL Flavor 2(角色(

    • SSL安装选项2
    • 验证选项1

父/服务角色SSL

  • SSL Flavor 1
  • SSL风格2

因此,您的文档将提供运行顶级父/服务角色的预期输入和预期输出,即SSL Flavor 1需要abc输入,而SSL Flavor2需要xyz输入。

相关内容

  • 没有找到相关文章

最新更新