Quando falamos em ambientes cloud, uma das primeiras coisas que todos pensam é na flexibilidade, mas de nada adianta termos a flexibilidade de criar, editar e apagar recursos se ainda tivermos que gastar tempo tendo que realizar configurações manuais toda vez que criamos um recurso, existem diversas ferramentas que podemos nos auxiliar nesse processo tal como os já conhecidos Terraform e Ansible (que são totalmente compatíveis com a OCI).
Nesse artigo vou mostrar com automatizar algumas tarefas na criação de uma VM usando o cloud-init, o cloud-init foi criado para executar determinadas ações em VMs baseadas em ubuntu e depois foi exetendido para outras distribuições (e hoje roda até em Windows), a principal diferença dele comparado às outras tecnologias disponíveis é a facilidade de pegar um script que você já possui e apenas copiar e colar no campo cloud-init ao fazer o deploy de uma VM, esse campo fica nas opções avançadas:
#!/bin/bash mkdir /tmp/zabbix sudo su useradd zabbix groupadd zabbix usermod -G zabbix zabbix cd /tmp/zabbix wget https://cdn.zabbix.com/zabbix/binaries/stable/5.2/5.2.4/zabbix_agent-5.2.4-linux-3.0-amd64-static.tar.gz tar -xf zabbix_agent-5.2.4-linux-3.0-amd64-static.tar.gz sed -i 's/127.0.0.1/IP_ZBX_SRV/' /tmp/zabbix/conf/zabbix_agentd.conf cd mkdir /etc/zabbix/ mkdir /usr/sbin/zabbix/ cp /tmp/zabbix/conf/zabbix_agentd.conf /etc/zabbix/ cp /tmp/zabbix/sbin/zabbix_agentd /usr/sbin/zabbix/ /usr/sbin/zabbix/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf firewall-cmd --permanent --zone=public --add-port=10050/tcp firewall-cmd --reload