Custom Scripts


Custom Scripts são scripts que utilizam o formato cloud-config, desenvolvido para ser executado pelo processo do cloud-init. Estes scripts são normalmente utilizados para a configuração inicial do servidor e executados durante o primeiro boot.

Em suma, criar um servidor utilizando um script customizado permite que você execute comandos e mude vários aspectos do servidor durante o provisionamento.

Veja alguns exemplos do que você pode fazer com um script customizado simples:

  • Definir o hostname da máquina
  • Adicionar chaves SSH
  • Alterar senhas de usuários

Formato do arquivo

Sistemas UNIX-like

Se você está usando um S.O. UNIX-like, como o Linux, seus scripts devem ser escritos utilizando o formato YAML, que utiliza espaços em branco e quebras de linha para delimitar listas, arrays associativos e valores.

Estes arquivos costumam ser bastante intuitivos e de fácil compreensão, no entanto existem algumas coisas que você precisará lembrar ao utilizá-los. Este artigo, escrito pelo pessoal da Ansible, pode te ajudar em caso de dúvidas.

Sempre valide seu código YAML. Pesquise por YAML validator no Google caso você não tenha um linter em seu IDE, mas lembre-se de nunca inserir dados sensíveis.

Sistemas Windows

Para imagens Windows, você vai precisar utilizar a convençnao do cloud-baseinit, que nada mais é do que escrever seus scripts como se estivesse utilizando o Powershell. Aqui está um exemplo simples:

mkdir c:/test
New-Item c:/test/test.txt
Set-Content c:/test/test.txt 'Hello World'

Adicionando um custom script

  1. Ao criar um novo servidor, clique em Novo custom script. (Você também pode ir em Servidores > Custom scripts)
    Image_2019-11-12_at_5.00.25_PM.png
  2. O nome do seu script precisa começar com um número seguido de um traço. Fazemos isso para definir a ordem dos scripts que serão executados. Por exemplo, um script com o nome 01-Script será executado antes do 02-Script.
  3. Clique em adicionar e siga normalmente com a criação do servidor.

Exemplos

Você poderá encontrar excelentes exemplos na documentação sobre cloud-init aqui.


Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

Tem mais dúvidas? Envie uma solicitação