reklama

Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - ETNyx

Stran: [1] 2
1
Chces to len zbalit, tak pouzi WinRar, ak chces pouzit samorozbalovacie exe (tak tiez mozes pouzit WinRar).
Inak samorozbalovacie exe naozaj neodporucam.

Hlavně to ne! Zabalte to do rar a všem k tomu ještě pošlete ten jejich shareware/malware/adware nebo jak ten hnus dneska nazývají, nebo rovnou fakturu za instalaci WinRar? Když už to musí být tak použijte zip ten s trochou štěstí většina BFU rozbalí na cílovým systému hned po čistý instalaci

2
Takze pokud dobre chapu, delate i aplikacni skupiny napr.:

dejme tomu :-) skupinou prostě říkám kde se má jaká "aplikace" nainstalovat nastvením stroje jí dám parametry dle role

napr. sjednoceny uid/gid na X serverech kvuli php/www

(tady se budu odkazovat na čísla z https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable)

proto je tu "přepis" proměných. Nevím jestli se trefím přesně do toho co hledáte ale, dejme tomu ten wodpress dědí z role apache takže jsem na 2. apache ma v roli defaults nastavený uid/guid na 33/33 a protože jsem na začátku tak můžu ve group_vars/wordpress na 44/44 jsem na 6. pokud se mi to u jednoho konkrétního stroje nelíbí tak v host_vars/fdqn (jsem na bodě 9.) nastavím 55/55.

Tedy pokud budu mít jinou aplikaci používající apache tak apache poběží na 33 všechny wordpresy na 44 a jeden jedinej stroj na 55.

s tím wordpressem by to asi šlo udělat v 2. protože první by se měla nastavit default role apache a pak to přepsat default role wodpressu a tím by to bylo pěkně v roli a ne nikde zatoulaný. Samozřejmě můžete přepisovat proměný v jakémkoliv bodě, pokud Vám to vyhovuje.

Bohužel tady zase bude potřeba dát pozor na přepisování v rámci jednoho bodu. Pokud bych ten wordpress měl řešenej první variantou v 6. a dejme tomu amíci zákonem zakázali 33/33 (nebo ja nevim,...) tak mám (já tomu říkám) "geografický" skupiny [czech] a [aws-west] tak bych to mohl nastavit group_vars/aws-west. Jenže teďka bych spadl do stejnýho průseru jako vy :-D ze který skupiny se ta proměná použije? Ty skupiny mam pro nastavení zrcadel je to zase přepis bodu 2. vs 6. v rámci jiný role.

3
Dělám to takto, v hosts souboru přiřazuji stroje do skupin a ty definují jaký aplikace na stroji mají běžet
Kód: [Vybrat]
#production/hosts
[xibo]
fdqn
playbook pak obsahuje jednotlivé play, které spouštějí role, zatím používám jeden playbook trošku se bojím, že bych několika playbooky snížil přehlednost a navíc mohl vytvořil stavy, kdy by jeden přepisoval co udělal druhej.
Kód: [Vybrat]
#site.yml
- hosts: xibo
  roles:
    - xibo

- hosts: wordpress
  pre_tasks:
    - import_tasks: roles/wordpress/tasks/pre.yml
  roles:
    - generic/apache
    - generic/mariadb
    - wordpress
  post_tasks:
    - import_tasks: roles/wordpress/tasks/post.yml

první příklad s xibo používá pro role dedičnosti, tedy sama role ví že si má použít jiné role (docker, databaze a webserver). V druhým příkladu wordpress s dědičností nepracuje takže musím potřebný role zavolat ručně.

Proměný mají definované role většinou nějaké defaultní, které se pak přepisují nejčastějí v rámci host_vars
Kód: [Vybrat]
#production/host_vars/fdqn
xibo_instances:
  - xibo_server_name: admin.fdqn
    xibo_path: /opt/xibo/
    xibo_version: 2.0.4
    xibo_web_port: 127.0.0.1:8080
    xibo_xmr_port: 9505
  - xibo_server_name: test.fdqn
    xibo_path: /opt/xibo_test/
    xibo_version: 2.1.0.rc1
    xibo_web_port: 127.0.0.1:8081
    xibo_xmr_port: 9506

Tady na fdqn mi role připraví dvě instance ty aplikace. Co se týká skupin tak u nich ještě používám group_vars/all.yml a pak skupiny "geolokační" který vesměs slouží k nastavení repozitářů.

Asi největší nevýhoda/výhoda tohodle systému je, že role který jsou "dole" třeba apache musí být dost univerzálně napsaný tak aby je bez problému mohli používat ostatní role. Například když jsem dělal apache tak jsem hodně okoukal a naučil se tady https://github.com/geerlingguy/ansible-role-apache

4
Popravdě jak vesměs cpu všechno přes role tak se mi nikdy nepodařilo do toho takhle zamotat ve skupinách :-D takže je to pro mě taky škola.

V podstatě jste si odpověděl, pokud je fdqn součástí dvou skupin tak samozřejmě pro fdqn musí existovat jen jeden project_uid takže na úrovni skupin ansible koukne do první skupiny a přepíše proměnou, koukne do druhý skupiny a přepíše proměnou. Poslední kam koukne vyhrává.

viz: https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable

Ještě když kouknu co říká dokumentace o hosts v playbooku (https://docs.ansible.com/ansible/latest/user_guide/playbooks_intro.html#basics a následně proklik na https://docs.ansible.com/ansible/latest/user_guide/intro_patterns.html).
Pokud si to vykládám správně tak hosts je vlastně obdobou kauzule --limit takže pokud play má hosts:projekt1 tak najde fdqn a o fdqn ví že je ve dvouch skupinách a jsme zase na začátku.

5
Trošku jsem se v tom pošťoural a jestli jsem to pochopil správně, tak moje odpověď bude podobná jako od kolegy tripplezero.

Kauzule limit nefunguje tak jak předpokládáte, pouze vytváří průnik existujících cílů (tj. strojů kde pustit tu magii)

Na daném příkladu
Kód: [Vybrat]
ansible-playbook -i /env/prod/ -l project1 apache2.yml
ansible-playbook -i /env/prod/ -l project2 apache2.yml

Kód: [Vybrat]
-l project1
-l project2
vlastně říká všechno co je ve skupine projektX takže v obouch případech fqdn

takže stejnej výsledek dostanete pokud (při těchto jednoduchých skupinách) použijete
Kód: [Vybrat]
-l fqdn
pokud by například v project1 bylo fdqn2 eqivalent by byl
Kód: [Vybrat]
-l fdqn,fdqn2
Z toho by mělo být patrné že --limit neovlivňuje/nepracuje se skupinou a tedy tímto způsobem ji nemůžete definovat. (respektivě skupina pro --limit funguje jako zástupný znak za x-y strojů abych jich po čárce nemusel vypisovat 10-ky nebo 100-ky)


Moje řešení tohoto problému by bylo předělat project1 a 2 na role. Případně za současné konstelace proměné z "group_vars" presunout do "play var" (tj do /apache2.yml respektivě z toho co bylo v PM do v rootu /projekt1.yml)

Odobně mi přijde řešení v rolích lepší neb proměné v "play vars" uz težko budete přepisovat. Snad jsem to pochopil dobře a trošku rozumě předal dal :-)

6
Pomohlo to nebo na to mám taky hodit ještě očko?

7
Nebyl by odkaz někam na git kde by se na to dalo kouknout jako na celek?

8
Server / Re:Antispam na poštovní server.
« kdy: 05. 08. 2019, 09:17:40 »
Dík. ale ten  reject na postfixu se mi úplně nelíbí. Kdybych se přeci jen rozhodl dát šanci těm blacklistům, je možnost je použít jen k tagování, že jde o spam? Není nic neobvyklého, že na blacklistech skončí SMTP freemailů, ISP a podobně.

Používám Postfix, Amavisd-new a pod ním ten SpamAssassin.

SpamAssassin taky umí koukat do Spamlistů a pak za to rozdávat body

https://cwiki.apache.org/confluence/display/SPAMASSASSIN/DnsBlocklists

9
Server / Re:Ansible vs. bezpečnost
« kdy: 01. 08. 2019, 12:19:26 »
Tohle moc nechápu mohl by jsi to trochu rozvést?

pro každy stroj můžete nastavit proměné pro připojení zvlášť, já ukládám co stroj to adresar asi nějak takto:
Kód: [Vybrat]
/skupina/hosts_vars/fdqn/{vars.yaml,vault.yaml}
ve vars.yaml definuji veškeré parametry pro připojení a mezi nimi heslo pro sudo
Kód: [Vybrat]
ansible_become: true
ansible_become_pass: '{{ vault_sudo_pass }}'

v tomto případě je heslo schované v ansible valut aby se nepoflakovalo v plaintextu + určitě koukněte do dokumentace podle toho jakou verzi ansible používáte druhá proměná může být ansible_become_password


10
Software / Re:Ansible - zmena statusu tasku a restarty sluzby
« kdy: 25. 07. 2019, 13:11:40 »
Tak to nevim, snad to nekdo potvrdi. Ale u handleru mam trochu problem s tim, ze pokud playbook padne na chybe jeste pred handlerem, tak na provedene zmeny jiz handler nereaguje, takze se mu vyhybam co muzu.

Ano handler se pouští až na konci jednou.

Nadruhou stranu pokud playbook spadne na nějaké chybě a handler se neprovede (restart se neprovede) nezpůsobí to nekonzistení stavy, Vy playbook opravíte a službu hnadler restartuje až ve chvíli kdy ansible dosáhne kýženého výsledku.

11
Software / Re:Ansible - jak sparovat hosty s playbookem?
« kdy: 02. 07. 2019, 18:04:06 »
O tom co se kde provede vlastně rozhoduje hosts file:
Kód: [Vybrat]
#production/hosts
[project_name]
project_name.server.ltd

[nextcloud]
cloud.server.ltd
test.server.ltd

Tady mám 3 servery a ty jsem rozdělil do skupiny, to jak se vypořádají jednotlivé skupiny mám v site.yml (jedinej playbook), tady je pracovní verze:
Kód: [Vybrat]
#site.yml
---
- hosts: nextcloud
  roles:
    - nextcloud

- hosts: project_name
  pre_tasks:
    - import_tasks: roles/project_name/tasks/pre.yml
  roles:
    - generic/mariadb
    - generic/apache
    - project_name
  post_tasks:
    - import_tasks: roles/project_name/tasks/post.yml
    - import_tasks: roles/generic/apache/tasks/print_hosts.yml

Takže servery ve skupine [nextcloud] se vypořádají rolí nextcloud, server ve skupine [project_name] tou složitější procedůrou. Tímto zajistím že apache je tam kde je potřeba. Pro dovysvětlení, nextcloud samozřejmně potřebuje webserver a databázi a původně jsem to měl:
Kód: [Vybrat]
- hosts: nextcloud
  roles:
    - generic/common
    - generic/mariadb
    - generic/apache
    - nextcloud

což nyní řeším až na úrovni té role samotné viz https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html#role-dependencies kde sama role ví že je potřebuje
Kód: [Vybrat]
#roles/nextcloud/meta/main.yml
---
dependencies:
  - generic/common
  - generic/mariadb
  - generic/apache

Samozřejmně je nesmysl vždycky pouštět všchno na celou infrastrukturu takže ji mám rozdělenou na 2 inventory (production a testing) přepínač -i, někdy chci pustit jen něco na jeden stroj takže --limit, a někdy chci třeba jen upravit konfig apache to řeším pomocí --tags, pokud chci udělat aktualizaci tak použiju --extra-vars spolus s podmínkou v generic/common

Každopádně takhle se provede vždycky jen to co chci na předem definovaných strojích.

12
Software / Re:Ansible - jak sparovat hosty s playbookem?
« kdy: 02. 07. 2019, 14:58:26 »
Upravte si to tak, že jediný příkaz kterým budete spouštět ansible je
Kód: [Vybrat]
ansible-playbook site.yml ostatní (webserver.yml, database.yml) konvertujte na role. Ano je to pak obrovskej moloch ale máme --tags --limit,...

13
Software / Re:Ansible - group_vars a host_vars
« kdy: 20. 06. 2019, 16:10:10 »
V tomhle konkrétním případě půjde upravit kód asi nějak takhle
Kód: [Vybrat]
group_vars/groupname
group_parameter:
 option1: "value"
 option2: "value"

host_vars/hostname
host_parameter:
 option3: "value"

a pak na začátek playbooku:

Kód: [Vybrat]
- name: Merge parametr
  set_fact:
    parametr: '{{ group_parameter + item }}'
  loop:
    - '{{ host_parameter | default(null) }}'

14
Studium a uplatnění / Re:Účtování vývoje software agilně
« kdy: 11. 06. 2019, 08:36:48 »
Ahoj,

zaprvé nejsem daňový expert ani právník,... takže brát s rezervou, ale podle mého názoru tak jak popisujete svoje iterační kolo (sprint), správně píšete, že by se mělo jednat o technické zhodnocení nehmotného majetku, jenže ten odstavec je potřeba si přečíst celý. Uvádí se v něm jistá kvantitativní podmínka: "pokud po ukončení u jednotlivého nehmotného majetku převýší částku 40 000 Kč"

Takže jestli si to vykládám správně tak Vaše týdení iterace do tohoto nespadá, tedy zákoně nespadá do technického zhodnocení nehmotného majetku.

15
Server / Re:mail tester snížil rank kvůli PHP_ORIG_SCRIPT
« kdy: 11. 05. 2019, 17:04:39 »
Ahoj,

zkontroluj si nastavení roundcube, podle mně tam budeš mít $rcmail_config['smtp_server'] = ''; což znamená, že roundcube používá PHP funkci mail(); pro odesílání pošty takže to budeš chtit změnit na něco jako:

$config['smtp_server'] = 'localhost';
$config['smtp_port'] = 587;
$config['smtp_user'] = '%u';
$config['smtp_pass'] = '%p';

Typicky jsou ty konfigurační soubory docela slušně okomentovány takže by to neměl být problém.

Stran: [1] 2

reklama