Configurar cloud-config.yml en CoreOS en VMware
El otro día os explicaba como crear una máquina virtual CoreOS en VMware. Hoy quiero hablaros del fichero de configuración que el otro día pasamos un poco por alto. La idea es colocarlo en un servidor web accesible por vuestro lab, yo por ejemplo, lo monto sobre mi Nas Synology.
Luego simplemente, en el proceso de instalación, al personalizar la plantilla lo llevamos a la sección CoreOS config data encoding, y si está bien creado al arrancar el sistema nos configurará la instancia de forma personalizada:
Os doy unos cuantos ejemplos. Damos un usuario y una ssh key de nuestro cliente donde vamos a realizar la conexión:
1 2 3 4 5 6 7 |
#cloud-config users: - name: core ssh_authorized_keys: - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCf8O7C+jtd7209e64lRGbkC+BZgeaDSQzvyE3051Ltjm+iXby82kyWZIry6t3nKbJZSV6dcSJLVvOEOk3NC9A3Fg5DESJKkkXZDerXBdth+cwnpm9GGxvb2NGwo7F9ot JmZ050J/MbtCxbQlmVhNaZG7E2QZR4j4QSYRfx/pLqlaZ6yRYeKH90SB/Iv9a8Uyu2zHfgO3m6VGW3whYOZ50LG5biTO9sYOlZFZ871jgERFEwjKL/jSb+0f7/5ZbIL85Y4+jo/+JnIeQ8Wcn89kxWlweBIFhcQIAwlZzU Xv/HEElblogdeNeguMaquinasVirtuales raulunzue@MacBook-Pro-de-Raul.local |
Este sería uno básico sólo para conectarnos. A partir de aquí podemos ir añadiendo acciones. Pongo varios ejemplos más:
– Modificar hostname:
1 |
hostname: machine-hostname |
– Podemos modificar un fichero concreto, ejemplo modificando la red:
1 2 3 4 5 6 7 8 9 10 11 12 |
write_files: - path: /etc/systemd/network/static.network permissions: 0644 content: | [Match] Name=ens192 [Network] Address=192.168.2.100/24 Gateway=192.168.2.1 DNS=8.8.8.8 DNS=8.8.4.4 |
– Arrancar un servicio:
1 2 3 4 |
coreos: units: - name: systemd-networkd.service command: start |
– Arrancar un servicio y adicionalmente una acción:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
coreos: units: - name: iptables.service command: start content: | [Unit] Description=iptables Author=ElBlogDeNegu After=systemd-networkd.service [Service] Type=oneshot ExecStart=/usr/sbin/iptables-restore /etc/iptables.rules ExecReload=/usr/sbin/iptables-restore /etc/iptables.rules ExecStop=/usr/sbin/iptables-restore /etc/iptables.rules [Install] WantedBy=multi-user.target |
– Lanzar un docker:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
coreos: units: - name: "docker-redis.service" command: "start" content: | [Unit] Description=Redis container Author=ElBlogDeNegu After=docker.service [Service] Restart=always ExecStart=/usr/bin/docker start -a redis_server ExecStop=/usr/bin/docker stop -t 2 redis_server |
Espero que os sirva para empezar.
¿Te ha gustado la entrada SÍGUENOS EN TWITTER?
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?