Palvelinten hallinta saltilla

Asenna Salt Master ja Slave pull-arkkitehtuurilla (eli master on server). Voit laittaa herran ja orjan myös samalle koneelle. Kokeile suorittamalla salt:illa komentoja etänä.

Asensin nämä kahdelle eri koneelle, molemmat CentOS 7. Muokkasin orjalla tiedostoa /etc/salt/minion ja laitoin sinne nämä rivit:

master: saltmaster1
id: TS3Server

Varmistin että herralla pyörii salt-master service ja käynnistin orjalla salt-minion servicen. Hyväksyin orjan avaimen herralla.

sudo salt-key -A
y

Kokeilin toimivuutta skriptillä joka päivittää CentOS käyttöjärjestelmälliset koneet.

#!/bin/bash
echo “Updating CentOS servers.”
echo “Please wait…”
salt -G ‘os:CentOS’ cmd.run “yum update -y”

Orja päivittyi onnistuneesti.

Kerää laitetietoja koneilta saltin grains-mekanismilla.

Hain orjan tietoja grains.items komennolla.

salt ‘minion1’ grains.items

Oikeaa elämää. Säädä Saltilla jotain pientä, mutta oikeaa esimerkiksi omalta koneeltasi tai omalta virtuaalipalvelimelta. (Kannattaa kokeilla Saltia oikeassa elämässä, mutta jos se ei onnistu, rakenna jotain oikeaa konettasi vastaava virtuaaliympäristö ja tee asetus siinä).

Loin tilan joka luo crontabin minun TeamSpeak palvelimelleni, joka pyrkii käynnistämään teamspeak palvelun viiden minuutin välein. Komento ei tee mitään jos palvelu on jo päällä. Nimesin tiedoston ts3cronjob.sls:ksi.

/home/ts3/tschk.sh > /dev/null 2>&1:
cron.present:
– user: ts3
– minute: ‘*/5’

Ajoin tilan orjakoneelle ja se toimi hyvin.

salt ‘TS3Server’ state.apply ts3cronjob

Lisäsin tämän myös top.sls tiedostoon.

base:
‘TS3Server’:
– ts3cronjob

Lähteet:

https://docs.saltstack.com/en/latest/ref/states/all/salt.states.cron.html

Ansible configuration management, deploying web servers with ease

Create a basic nginx web server on centos and document the configurations to an ansible playbook yaml file

I fired up one of my OVF templates on my vcenter server and setup the IP using DHCP. I logged into the virtual machine which already had sshd running and most essential packages installed.

The OVF template had created a user with sudo rights already so that’s the first thing I needed to document on the playbook file.

I added the following lines to my main.yml file.

– name: Create user eero
user: name=eero shell=/bin/bash groups=wheel append=yes

Continue reading “Ansible configuration management, deploying web servers with ease”