Kaikki muutokset Traconin palvelinten konfiguraatioon – ohjelmien asennukset, käyttäjien luonnit, web-sivustojen asetusten muutokset, tietojärjestelmien päivitykset – tehdään konfiguraationhallinnan avulla. Tällä saadaan merkittäviä etuja:

  1. Uusien palvelinten pystyttäminen on nopeampaa ja vähemmän työlästä.
  2. Konfiguraatiomuutosten ja ylläpitotoimenpiteiden tekeminen usealle palvelimille kerralla helpottuu ja nopeutuu.
  3. Samankaltaisten uusien asioiden konfigurointi nopeutuu valmiiden konfiguraatioesimerkkien ja uudelleenkäytettävien (parametrisoitujen) roolien avulla.
  4. Konfiguraationhallintajärjestelmän kuvauskielellä kirjoitetut konfiguraatioskriptit toimivat samalla "ajettavana dokumentaationa" siitä, miten Traconin tietojärjestelmät on asennettu ja konfiguroitu.

(tick) Nyrkkisääntönä kaikki, minkä voi kohtuullisella vaivannäöllä konffata konfiguraationhallintaan, konffataan konfiguraationhallintaan. Kohtuullisia poikkeuksia tästä ovat esim. tietokantojen sisältö (tuodaan usein dumppina edelliseltä palvelimelta), Jenkinsin konfiguraatio (point & click & backup), Kompassin ym. omien softien ylläpitokomentojen ajaminen (docker exec …) ym.

(error) Ehdottomana minimivaatimuksena mitään, mikä on jo konffattu konfiguraationhallinnalla, ei muuteta konfiguraationhallinnan ohi. Näin on tehty menneisyydessä ja laiminlyöty konfiguraationhallinnan päivittäminen, jolloin seuraava konfiguraationhallinta-ajo ylikirjoittaa muutokset. Se, ettei osaa käyttää Puppetia tai Ansiblea, ei ole syy rikkoa tätä sääntöä, ja tästä syystä käyttäjätunnuksia palvelimille myönnetään ainoastaan ao. prosessin mukaan.

Ansible-konfiguraationhallinta

Uusia palvelimia ohjataan Ansible-konfiguraationhallintajärjestelmällä. Traconin Ansible-konfiguraatiotiedostot löytyvät GitHubista. Salaisuudet on suojattu vahvalla salauksella (ansible vault). Jotta salaisuudet saisi auki, niiden avaamiseen tarvittava salasana tulee kaivaa Kurikalta polusta /root/passut/ansible_vault ja laittaa ansible-tracon-työkopion alle tiedostoon nimeltä .vault_pass.txt.

Ansible-hommeleita voi ajaa myös lokaalisti Vagrantilla. On suositeltavaa harjoitella ja kehitellä isoja muutoksia ensin Vagrantissa ja pyöräyttää ne vasta valmiina kerralla tuotantoon.

Haluan konffata juttuja Traconin palvelimille

Ohjeet ovat tarkoituksella luonteeltaan sellaiset, että ne eivät pitele kädestä, jotta opettelisit käyttämään Ansiblea samalla kun luot itsellesi käyttäjätunnuksen.

  1. Ota omalle koneellesi työkopio ansible-tracon-reposta
  2. Kaiva ansible-vaultin salasana Kurikalta polusta /root/passut/ansible_vault (tai kysy Japsulta) ja laita se tiedostoon ansible-tracon/.vault_pass.txt
  3. Lisää itsellesi käyttäjätunnus group_vars/all/vaultissa sijaitsevaan admins-listaan (vihje: ansible-vault edit).
    • Tässä tarvittavan salasanahashin generoit kätevästi millä tahansa Linux-palvelimella komentamalla mkpasswd -m sha-512. Jos mkpasswd-komentoa ei ole asennettu, niin se löytyy jostain käsittämättömästä syystä paketista nimeltä whois.
  4. Lisää itsellesi SSH-avain base-roolissa sijaitsevaan SSH-avainlistaan
  5. Commit, push
  6. Pyydä jotakuta, jolla oli jo käyttäjätunnus em. listassa, pyöräyttämään Ansiblea, jotta käyttäjätunnuksesi leviää kaikille palvelimille

Hienoa, nyt pystyt yhdellä komennolla räjäyttämään kaikki Traconin palvelimet kerralla!

Puppet-konfiguraationhallinta

Puppettia ei saa enää käyttää!

Kurikalle on konffattu paljon asioita Puppetin ohi, ja se on tippunut pois synkasta Puppetin kanssa. Jos tässä vaiheessa pyöräytät Puppetia Kurikalla, asioita todennäköisesti hajoaa. Mikään muu palvelin ei käytä enää Puppetia.

Vanhoja palvelimia (hakku, kurikka) ohjattiin Puppet-konfiguraationhallintajärjestelmän avulla. Traconin Puppet-konfiguraatiotiedostot löytyvät Kurikalla sijaitsevasta git-reposta polusta /srv/git/ansible-tracon.git. Se sisältää suojaamattomia salaisuuksia, ja sitä ei siksi ole julkaistu. Säilytetty historiallisen mielenkiinnon nimissä.

Pyöräytetään ottamalla kohdepalvelimelle paikallinen työkopio ja komentamalla ./apply.sh.

  • No labels