Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Plantillas
importante
La AWS OpsWorks Stacks El servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los existentes. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tiene alguna duda sobre la migración, póngase en contacto con el AWS Support Equipo en AWS Re:post
Si crea un archivo de configuración y lo guarda en el directorio correcto, puede configurar muchos paquetes. Puede incluir un archivo de configuración en el libro de recetas y copiarlo en el directorio correspondiente, pero un enfoque más flexible es hacer que las recetas creen el archivo de configuración a partir de una plantilla. Una de las ventajas de las plantillas es que puede utilizar atributos para definir sus valores. Esto le permite, por ejemplo, modificar un archivo de configuración sin tocar el libro de cocina utilizando la función custom JSON para anular los valores de los atributos adecuados.
Una plantilla tiene, básicamente, el mismo contenido y estructura que el archivo asociado. A continuación, se muestra un archivo de ejemplo: httpd.conf
.
ServerRoot "<%= node[:apache][:dir] %>" <% if node[:platform] == "debian" || node[:platform] == "ubuntu" -%> LockFile /var/lock/apache2/accept.lock <% else -%> LockFile logs/accept.lock <% end -%> PidFile <%= node[:apache][:pid_file] %> Timeout <%= node[:apache][:timeout] %> KeepAlive <%= node[:apache][:keepalive] %> MaxKeepAliveRequests <%= node[:apache][:keepaliverequests] %> KeepAliveTimeout <%= node[:apache][:keepalivetimeout] %> <IfModule mpm_prefork_module> StartServers <%= node[:apache][:prefork][:startservers] %> MinSpareServers <%= node[:apache][:prefork][:minspareservers] %> MaxSpareServers <%= node[:apache][:prefork][:maxspareservers] %> ServerLimit <%= node[:apache][:prefork][:serverlimit] %> MaxClients <%= node[:apache][:prefork][:maxclients] %> MaxRequestsPerChild <%= node[:apache][:prefork][:maxrequestsperchild] %> </IfModule> ...
El siguiente ejemplo es el archivo httpd.conf
, que se ha generado para una instancia de Ubuntu:
ServerRoot "/etc/httpd" LockFile logs/accept.lock PidFile /var/run/httpd/httpd.pid Timeout 120 KeepAlive Off MaxKeepAliveRequests 100 KeepAliveTimeout 3 <IfModule mpm_prefork_module> StartServers 16 MinSpareServers 16 MaxSpareServers 32 ServerLimit 400 MaxClients 400 MaxRequestsPerChild 10000 </IfModule> ...
Gran parte del texto de la plantilla simplemente se copia de la plantilla en el archivo httpd.conf
. Sin embargo, el contenido <%= ... %>
se gestiona de la siguiente manera:
-
Chef sustituye
<%= node[:attribute][:sub_attribute][:...]%>
por el valor del atributo.Por ejemplo,
StartServers <%= node[:apache][:prefork][:startservers] %>
se convierte enStartServers 16
enhttpd.conf
. -
Puede utilizar
<%if-%>, <%else-%>, and <%end-%>
para seleccionar un valor de forma condicional.El ejemplo establece una ruta de archivo diferente para
accept.lock
en función de la plataforma.
nota
No está limitado a los atributos de los archivos de atributos de los libros de recetas. Puede utilizar cualquier atributo del objeto de nodo de la instancia. Por ejemplo, generado por una herramienta de Chef llamada Ohai
Para obtener más información sobre las plantillas, incluido cómo incorporarlas al código de Ruby, consulte Acerca de las plantillas