Palvelinten hallinta Week 5

Tehtävänanto

  1.  Home Work XII – Read chapters 5-7 from course book (Jinja. High States and Salt Cloud) 
  2. Home Work XIII – Create the states listed in week47 mindmap, you can find the VKO47.zip from home work folder below.
  3. Optional Extra: Configure the apache reverse proxy to your “documentation wordpress” apache as instructed in W47homework.pdf document.

Vastaukset

Useimpien mindmapin tilatiedostojen sisältö on jo edellisen viikon dokumentoinnista löytyvässä endstate.sls tiedostossa, joten en toista niitä tässä, puhumattakaan, että pilkoisin niitä turhan päiten osiin. Myös ssh-autentikaation toteutus on dokumentoitu edellisen viikon dokumentoinnissa manage_ssh.sls-tiedostossa. Yksi poikkeus on pillar-muuttuja pohjainen tilatiedosto apachen/httpd:n asennukselle, mikä on tarpeeksi erilainen kirjan esimerkistä ollakseen mielenkiintoinen. Tämänkin tehtävänannon sanoitus olisi voinut olla tarkempi, mutta päätin toteuttaa kirjan luvun 5 ssh-avain esimerkkiä muistuttavan toteutuksen.

Ensinnäkin Apachen asennus- ja konfigurointi tiedosto generalApache.sls näyttää tältä:

install_apache:
  pkg.installed:
    - name: {{ pillar['apachePkgName'] }}

apache_is_running:
  service.running:
    - name: {{ pillar['apachePkgName'] }}
    - enable: True
    - require:
      - pkg: install_apache
    - watch:
      - file: sync status.conf
{% if 'status_load' in pillar %}
      - file: sync status.load
{% endif %}

sync status.conf:
  file.managed:
    - name: {{ pillar['status_conf'] }}
    - source: salt://status.conf
    - user: root
    - group: root
    - mode: 600

{% if 'status_load' in pillar %}
sync status.load:
  file.managed:
    - name: {{ pillar['status_load'] }}
    - source: salt://status.load
    - user: root
    - group: root
    - mode: 600
{% endif %}

Tiedot löytyvät ubuApacheVars.sls ja centApacheVars.sls -tiedostoista /srv/pillar/ kansiosta.

ubuApacheVars.sls:

apachePkgName: apache2
status_conf: /etc/apache2/mods-available/status.conf
status_load: /etc/apache2/mods-available/status.load

centApacheVars.sls:

apachePkgName: httpd
status_conf: /etc/httpd/conf.modules.d/status.conf

Lopuksi /srv/pillar/top.sls tiedosto relevanteilta osiltaan:

base:
  'os:Ubuntu':
    - match: grain
    - ubuApacheVars
  'os:CentOS':
    - match: grain
    - centApacheVars

Ja lopuksi kaikki kappaleiden 4-6 tehtävät! Oletko tosissasi? 60 sivua lähes suoraa copy/pastea, josta 85% on jo jossain muodossa dokumentoitu täällä tai labrakokeen dokumentoinnissa. Minä menen nyt nukkumaan.

Leave a comment

Your email address will not be published. Required fields are marked *