Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do...
Transcript of Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do...
![Page 1: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/1.jpg)
Cesta ze SaltStacku do Ansible
v Bigdata prostredı
Petr Krch @v1dlak, Radim Lipovcan @radimlipovcan
5. rıjna 2019
Bigdata system engineers
![Page 2: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/2.jpg)
Obsah
1. Pred Ansible byl
2. Kudy se vydat?
3. Motivace k prechodu
4. Prechod do Ansible
5. Ansible AWX
6. Workflow
7. Co dal?
1
![Page 3: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/3.jpg)
O kolik se toho starame
• 1735 fyzickych stroju
• 1988 systemu
• 20 clusteru
• 2 datacentra
• 7 adminu
• desıtky vyvojaru
2
![Page 4: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/4.jpg)
O kolik se toho starame
• 1735 fyzickych stroju
• 1988 systemu
• 20 clusteru
• 2 datacentra
• 7 adminu
• desıtky vyvojaru
2
![Page 5: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/5.jpg)
Pred Ansible byl
![Page 6: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/6.jpg)
SaltStack v podanı Admins6
• Architektura master-slave.
• Vsechno na masterech.
• Lokalne
• Gitfs
• Syncthing pro synchronizaci mezi mastery.
• Napojenı na Git pouze na jednom
SaltMasteru (push/pull). :-(
3
![Page 7: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/7.jpg)
SaltStack v podanı Admins6
• Architektura master-slave.
• Vsechno na masterech.
• Lokalne
• Gitfs
• Syncthing pro synchronizaci mezi mastery.
• Napojenı na Git pouze na jednom
SaltMasteru (push/pull). :-(
3
![Page 8: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/8.jpg)
Master! Slave. Sync?
1. Tym 7 bigdata engineeru.
• Dojde vıcero pozadavku (RT, issues v GitLabu), napr. dva z toho pro fernet cluster.
2. Vsichni: ssh saltmaster1.{loc1|loc2}• vim salt/env/pillar/clusters/fernet/init.sls
• Pro prvnıho zadny problem...
3. Ostatnı majı radost:
4. Jak vyresit problem workflow s mastery?
• Vzdy jeden na masteru. 7
• Pouze jeden z tymu bude delat na saltu. 7
• Synchronizace typu ”kdo prave dela?”7
• Prejıt na client-Gitlab model. 4
4
![Page 9: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/9.jpg)
Master! Slave. Sync?
1. Tym 7 bigdata engineeru.
• Dojde vıcero pozadavku (RT, issues v GitLabu), napr. dva z toho pro fernet cluster.
2. Vsichni: ssh saltmaster1.{loc1|loc2}• vim salt/env/pillar/clusters/fernet/init.sls
• Pro prvnıho zadny problem...
3. Ostatnı majı radost:
4. Jak vyresit problem workflow s mastery?
• Vzdy jeden na masteru. 7
• Pouze jeden z tymu bude delat na saltu. 7
• Synchronizace typu ”kdo prave dela?”7
• Prejıt na client-Gitlab model. 4
4
![Page 10: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/10.jpg)
Master! Slave. Sync?
1. Tym 7 bigdata engineeru.
• Dojde vıcero pozadavku (RT, issues v GitLabu), napr. dva z toho pro fernet cluster.
2. Vsichni: ssh saltmaster1.{loc1|loc2}• vim salt/env/pillar/clusters/fernet/init.sls
• Pro prvnıho zadny problem...
3. Ostatnı majı radost:
4. Jak vyresit problem workflow s mastery?
• Vzdy jeden na masteru. 7
• Pouze jeden z tymu bude delat na saltu. 7
• Synchronizace typu ”kdo prave dela?”7
• Prejıt na client-Gitlab model. 4
4
![Page 11: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/11.jpg)
Master! Slave. Sync?
1. Tym 7 bigdata engineeru.
• Dojde vıcero pozadavku (RT, issues v GitLabu), napr. dva z toho pro fernet cluster.
2. Vsichni: ssh saltmaster1.{loc1|loc2}• vim salt/env/pillar/clusters/fernet/init.sls
• Pro prvnıho zadny problem...
3. Ostatnı majı radost:
4. Jak vyresit problem workflow s mastery?
• Vzdy jeden na masteru. 7
• Pouze jeden z tymu bude delat na saltu. 7
• Synchronizace typu ”kdo prave dela?”7
• Prejıt na client-Gitlab model. 4
4
![Page 12: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/12.jpg)
Master! Slave. Sync?
1. Tym 7 bigdata engineeru.
• Dojde vıcero pozadavku (RT, issues v GitLabu), napr. dva z toho pro fernet cluster.
2. Vsichni: ssh saltmaster1.{loc1|loc2}• vim salt/env/pillar/clusters/fernet/init.sls
• Pro prvnıho zadny problem...
3. Ostatnı majı radost:
4. Jak vyresit problem workflow s mastery?
• Vzdy jeden na masteru. 7
• Pouze jeden z tymu bude delat na saltu. 7
• Synchronizace typu ”kdo prave dela?”7
• Prejıt na client-Gitlab model. 4
4
![Page 13: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/13.jpg)
Master! Slave. Sync?
1. Tym 7 bigdata engineeru.
• Dojde vıcero pozadavku (RT, issues v GitLabu), napr. dva z toho pro fernet cluster.
2. Vsichni: ssh saltmaster1.{loc1|loc2}• vim salt/env/pillar/clusters/fernet/init.sls
• Pro prvnıho zadny problem...
3. Ostatnı majı radost:
4. Jak vyresit problem workflow s mastery?
• Vzdy jeden na masteru. 7
• Pouze jeden z tymu bude delat na saltu. 7
• Synchronizace typu ”kdo prave dela?”7
• Prejıt na client-Gitlab model. 4
4
![Page 14: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/14.jpg)
SaltStack v2
e x t p i l l a r :
# pro t e s t o v a n i s e branch PILLARu meni zde
# − g i t : robot−s a l t . dev : base g i t @ g i t l a b : d e j v / s a l t 2 . g i t
# − g i t : d e j v / hadoop : base g i t @ g i t l a b : a6 / v2 . g i t
# − g i t : d i g r i / vodka : base g i t @ g i t l a b : a6 / v2 . g i t
# − g i t : master : base g i t @ g i t l a b : a6 / v2 . g i t
− g i t : m i n i / prometheus : base g i t @ g i t l a b : a6 / v2 . g i t
g i t f s r e m o t e s :
− g i t @ g i t l a b : admins6 / s a l t s t a t e s −v2 . g i t :
− r o o t : base
# − base : m i n i / prometheus
# − base : s imunek /jmx−e x p o r t e r−node−manager
− g i t @ g i t l a b : s a l t / szn−f o r m u l a s . g i t
− g i t @ g i t l a b : s a l t / e l a s t i c s e a r c h . g i t
− g i t @ g i t l a b : s a l t / k a f k a . g i t5
![Page 15: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/15.jpg)
Pojd’me to prepsat nebo prepsat
![Page 16: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/16.jpg)
SWOTka
SaltStack• Rozjety vlak.
• Rychlost.
• Spustenı state.apply z minionu.
• Autorizace pres mastera (root).
• Spustena vec je k nezastavenı.
• Zije jeste komunita?
Ansible• Jednodussı vyvoj.
• Vetsı komunita.
• Jednodussı autorizace.
• Ucıcı krivka.
• Horsı skalovanı.
6
![Page 17: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/17.jpg)
SWOTka
SaltStack• Rozjety vlak.
• Rychlost.
• Spustenı state.apply z minionu.
• Autorizace pres mastera (root).
• Spustena vec je k nezastavenı.
• Zije jeste komunita?
Ansible• Jednodussı vyvoj.
• Vetsı komunita.
• Jednodussı autorizace.
• Ucıcı krivka.
• Horsı skalovanı.
6
![Page 18: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/18.jpg)
Motivace pro prechod
![Page 19: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/19.jpg)
Materialy
Z pohledu novacka v Saltu, ktery ma zkusenosti s Ansiblem.
Ansible
• Oficialnı dokumentace. 4
• Youtube materialy. 4
• Github aktivita (2019). 4
Saltstack
• Oficialnı dokumentace. 4
• Youtube materialy. 7
• Github aktivita (2019). 7
7
![Page 20: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/20.jpg)
Materialy
Z pohledu novacka v Saltu, ktery ma zkusenosti s Ansiblem.
Ansible
• Oficialnı dokumentace. 4
• Youtube materialy. 4
• Github aktivita (2019). 4
Saltstack
• Oficialnı dokumentace. 4
• Youtube materialy. 7
• Github aktivita (2019). 7 7
![Page 21: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/21.jpg)
Materialy
Z pohledu novacka v Saltu, ktery ma zkusenosti s Ansiblem.
Ansible
• Oficialnı dokumentace. 4
• Youtube materialy. 4
• Github aktivita (2019). 4
Saltstack
• Oficialnı dokumentace. 4
• Youtube materialy. 7
• Github aktivita (2019). 7
7
![Page 22: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/22.jpg)
Materialy
Z pohledu novacka v Saltu, ktery ma zkusenosti s Ansiblem.
Ansible
• Oficialnı dokumentace. 4
• Youtube materialy. 4
• Github aktivita (2019). 4
Saltstack
• Oficialnı dokumentace. 4
• Youtube materialy. 7
• Github aktivita (2019). 7
7
![Page 23: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/23.jpg)
Materialy
Z pohledu novacka v Saltu, ktery ma zkusenosti s Ansiblem.
Ansible
• Oficialnı dokumentace. 4
• Youtube materialy. 4
• Github aktivita (2019). 4
Saltstack
• Oficialnı dokumentace. 4
• Youtube materialy. 7
• Github aktivita (2019). 7
7
![Page 24: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/24.jpg)
Testovanı, debugging — Salt
Real-life example:
• Hezky den v Brne, 6:30 rano...
• chcete nasadit novou featuru a vrtate se v automatizaci.
• salt state.apply
• **wild error appears**
8
![Page 25: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/25.jpg)
Testovanı, debugging — Salt
Real-life example:
• Hezky den v Brne, 6:30 rano...
• chcete nasadit novou featuru a vrtate se v automatizaci.
• salt state.apply
• **wild error appears**
8
![Page 26: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/26.jpg)
Testovanı, debugging — Salt
Real-life example:
• Hezky den v Brne, 6:30 rano...
• chcete nasadit novou featuru a vrtate se v automatizaci.
• salt state.apply
• **wild error appears**
8
![Page 27: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/27.jpg)
Testovanı, debugging — Salt
Real-life example:
• Hezky den v Brne, 6:30 rano...
• chcete nasadit novou featuru a vrtate se v automatizaci.
• salt state.apply
• **wild error appears**
8
![Page 28: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/28.jpg)
Testovanı, debugging — Salt
Until found:
• salt --state-verbose=true state.apply
• less log z mastera
• less log z miniona
9
![Page 29: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/29.jpg)
Testovanı, debugging — Salt
Until found:
• salt --state-verbose=true state.apply
• less log z mastera
• less log z miniona
9
![Page 30: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/30.jpg)
Testovanı, debugging — Salt
Until found:
• salt --state-verbose=true state.apply
• less log z mastera
• less log z miniona
9
![Page 31: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/31.jpg)
Testovanı, debugging — Salt
Until found:
• salt --state-verbose=true state.apply
• less log z mastera
• less log z miniona
9
![Page 32: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/32.jpg)
Testovanı, debugging — Ansible
Real-life example:
• ansible-playbook -i hosts/ops.ini fernet.yml -D
• **wild error appears**
10
![Page 33: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/33.jpg)
Testovanı, debugging — Ansible
Real-life example:
• ansible-playbook -i hosts/ops.ini fernet.yml -D
• **wild error appears**
10
![Page 34: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/34.jpg)
Testovanı, debugging — Ansible
Until found:
• ansible-playbook -i hosts/ops.ini fernet.yml -D -v
• ansible-playbook -i hosts/ops.ini fernet.yml -D -vv
• ansible-playbook -i hosts/ops.ini fernet.yml -D -vvv
• Vazne vopravdu vsechno vypis -vvvv.
11
![Page 35: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/35.jpg)
Testovanı, debugging — Ansible
Until found:
• ansible-playbook -i hosts/ops.ini fernet.yml -D -v
• ansible-playbook -i hosts/ops.ini fernet.yml -D -vv
• ansible-playbook -i hosts/ops.ini fernet.yml -D -vvv
• Vazne vopravdu vsechno vypis -vvvv.
11
![Page 36: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/36.jpg)
Testovanı, debugging — Ansible
Until found:
• ansible-playbook -i hosts/ops.ini fernet.yml -D -v
• ansible-playbook -i hosts/ops.ini fernet.yml -D -vv
• ansible-playbook -i hosts/ops.ini fernet.yml -D -vvv
• Vazne vopravdu vsechno vypis -vvvv.
11
![Page 37: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/37.jpg)
Testovanı, debugging — Ansible
Until found:
• ansible-playbook -i hosts/ops.ini fernet.yml -D -v
• ansible-playbook -i hosts/ops.ini fernet.yml -D -vv
• ansible-playbook -i hosts/ops.ini fernet.yml -D -vvv
• Vazne vopravdu vsechno vypis -vvvv.
11
![Page 38: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/38.jpg)
Sprava prıstupu - Saltmaster
Saltmaster vs Ansible s pouzitım Ed25519 klıcu.
Pro master (SaltStack)
• Prıstup na master = prıstup na vse.
• Po pridanı miniona se jiz nemusıme
”starat”.
Proti masteru (SaltStack)
• Prıstup na master = prıstup na vse.
• Mohu se dostat i jinam, nez bych mel.
• DevOps na master jednoduse pustit nelze.
• Nutnost udrzovanı stejne verze naprıc
distry.
12
![Page 39: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/39.jpg)
Sprava prıstupu - Saltmaster
Saltmaster vs Ansible s pouzitım Ed25519 klıcu.
Pro master (SaltStack)
• Prıstup na master = prıstup na vse.
• Po pridanı miniona se jiz nemusıme
”starat”.
Proti masteru (SaltStack)
• Prıstup na master = prıstup na vse.
• Mohu se dostat i jinam, nez bych mel.
• DevOps na master jednoduse pustit nelze.
• Nutnost udrzovanı stejne verze naprıc
distry.
12
![Page 40: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/40.jpg)
Sprava prıstupu - Saltmaster
Saltmaster vs Ansible s pouzitım Ed25519 klıcu.
Pro master (SaltStack)
• Prıstup na master = prıstup na vse.
• Po pridanı miniona se jiz nemusıme
”starat”.
Proti masteru (SaltStack)
• Prıstup na master = prıstup na vse.
• Mohu se dostat i jinam, nez bych mel.
• DevOps na master jednoduse pustit nelze.
• Nutnost udrzovanı stejne verze naprıc
distry.
12
![Page 41: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/41.jpg)
Sprava prıstupu - Saltmaster
Saltmaster vs Ansible s pouzitım Ed25519 klıcu.
Pro master (SaltStack)
• Prıstup na master = prıstup na vse.
• Po pridanı miniona se jiz nemusıme
”starat”.
Proti masteru (SaltStack)
• Prıstup na master = prıstup na vse.
• Mohu se dostat i jinam, nez bych mel.
• DevOps na master jednoduse pustit nelze.
• Nutnost udrzovanı stejne verze naprıc
distry.
12
![Page 42: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/42.jpg)
Sprava prıstupu - Ansible s pouzitım Ed25519 klıcu.
Saltmaster vs Ansible s pouzitım Ed25519 klıcu
Pro klıce (Ansible)
• Omezenı dle klıcu prımo na stroj.
• Integrace dev, devops do provozu.
• No gods, no masters.
Proti klıcu (Ansible)
• Bez bezıcıho ssh se nepohneme.
• Nutnost pracovat z klienta/AWX
(pozdeji).
• Mnohem pomalejsı nez minion-master.
13
![Page 43: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/43.jpg)
Sprava prıstupu - Ansible s pouzitım Ed25519 klıcu.
Saltmaster vs Ansible s pouzitım Ed25519 klıcu
Pro klıce (Ansible)
• Omezenı dle klıcu prımo na stroj.
• Integrace dev, devops do provozu.
• No gods, no masters.
Proti klıcu (Ansible)
• Bez bezıcıho ssh se nepohneme.
• Nutnost pracovat z klienta/AWX
(pozdeji).
• Mnohem pomalejsı nez minion-master.
13
![Page 44: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/44.jpg)
Sprava prıstupu - Ansible s pouzitım Ed25519 klıcu.
Saltmaster vs Ansible s pouzitım Ed25519 klıcu
Pro klıce (Ansible)
• Omezenı dle klıcu prımo na stroj.
• Integrace dev, devops do provozu.
• No gods, no masters.
Proti klıcu (Ansible)
• Bez bezıcıho ssh se nepohneme.
• Nutnost pracovat z klienta/AWX
(pozdeji).
• Mnohem pomalejsı nez minion-master.
13
![Page 45: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/45.jpg)
Rozhodovanı
• 3 mesıce.
• Vyrazne slovo mel nas dev.
• Hodne prototypu (naprıc tymy).
• Rychlost byl blocker.
14
![Page 46: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/46.jpg)
Prechod do Ansible
![Page 47: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/47.jpg)
Narocnost migrace do Ansible
• Nejtezsı bylo vydefinovanı standardu.
• Samotna migrace.
• Order vs require.
• Jinja vs Jinja
15
![Page 48: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/48.jpg)
Jinja vs Jinja
1 s t a r t
2 {% f o r mount i n t a r g e t . mnts | s o r t %}3 {{ mount }}4 {% e n d f o r %}5 end
Ansible
1 s t a r t
2 /mnt/ d i s k 1
3 /mnt/ d i s k 2
4 /mnt/ d i s k 3
5 end
SaltStack
1 s t a r t
2
3 /mnt/ d i s k 1
4
5 /mnt/ d i s k 2
6
7 /mnt/ d i s k 3
8
9 end16
![Page 49: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/49.jpg)
Adresarova struktura - puvodnı myslenka
Vychozı struktura
Puvodnı planovanı pri zacatku repozitare.
/
filter plugins
host vars
hosts
library
module utils
roles
playbook.yml
another playbook.yml
Hlavnı zdroje
https://docs.ansible.com/ansible/latest/user guide/playbooks best practices
https://github.com/ansible/ansible-examples
17
![Page 50: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/50.jpg)
Adresarova struktura - puvodnı myslenka
Vychozı struktura
Puvodnı planovanı pri zacatku repozitare.
/
filter plugins
host vars
a6awx
hosts
inventory
library
module utils
roles
[action, cfg, cron, check, sw, sys]-.*
playbook.yml
another playbook.yml
18
![Page 51: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/51.jpg)
Adresarova struktura - stav repozitare
Stav k 03.10.2019
Hlavnı branch: stagning Stable branch: master
Commit statistics for staging Jan 28 - Oct 03
Total: 1938 commits Average per day: 7.8 commits Authors: 38
19
![Page 52: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/52.jpg)
Adresarova struktura - soucasny stav
Realita
Po 10 mesıcıch od zalozenı repozitare.
/
group vars
hosts
molecule
roles
structure template
vaulted vars
gitlab-ci.yml
report.py
merge-staging-to-master.sh
playbooky & wiki cast repa
Hlavnı zdroj
Oficialnı Ansible dokumentace, best practices ze vsech zdroju. 20
![Page 53: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/53.jpg)
Problemy se skalovanım
Pojd’me si pustit komplexnejsı playbookansible-playbook -i hosts/ops.ini fernet.yml -D
--vault-password-file=.vault password prod -C fernet-worker[1:N]
Mezitım v htopu
1 node0:00:40.527
10 nodes0:02:07.157
20 nodes0:09:03.304
40
0:15:22.817
100
0:31:16.337
Cely cluster 620
1:52:49.277
21
![Page 54: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/54.jpg)
Problemy se skalovanım
Pojd’me si pustit komplexnejsı playbookansible-playbook -i hosts/ops.ini fernet.yml -D
--vault-password-file=.vault password prod -C fernet-worker[1:N]
Mezitım v htopu
1 node0:00:40.527
10 nodes0:02:07.157
20 nodes0:09:03.304
40
0:15:22.817
100
0:31:16.337
Cely cluster 620
1:52:49.277
21
![Page 55: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/55.jpg)
Problemy se skalovanım
Pojd’me si pustit komplexnejsı playbookansible-playbook -i hosts/ops.ini fernet.yml -D
--vault-password-file=.vault password prod -C fernet-worker[1:N]
Mezitım v htopu
1 node0:00:40.527
10 nodes0:02:07.157
20 nodes0:09:03.304
40
0:15:22.817
100
0:31:16.337
Cely cluster 620
1:52:49.277 21
![Page 56: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/56.jpg)
Problemy se skalovanım
Pojd’me si pustit komplexnejsı playbookansible-playbook -i hosts/ops.ini fernet.yml -D
--vault-password-file=.vault password prod -C fernet-worker[1:N]
Mezitım v htopu
1 node0:00:40.527
10 nodes0:02:07.157
20 nodes0:09:03.304
40
0:15:22.817
100
0:31:16.337
Cely cluster 620
1:52:49.277 21
![Page 57: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/57.jpg)
Problemy se skalovanım
Pojd’me si pustit komplexnejsı playbookansible-playbook -i hosts/ops.ini fernet.yml -D
--vault-password-file=.vault password prod -C fernet-worker[1:N]
Mezitım v htopu
1 node0:00:40.527
10 nodes0:02:07.157
20 nodes0:09:03.304
40
0:15:22.817
100
0:31:16.337
Cely cluster 620
1:52:49.277 21
![Page 58: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/58.jpg)
Problemy se skalovanım
Pojd’me si pustit komplexnejsı playbookansible-playbook -i hosts/ops.ini fernet.yml -D
--vault-password-file=.vault password prod -C fernet-worker[1:N]
Mezitım v htopu
1 node0:00:40.527
10 nodes0:02:07.157
20 nodes0:09:03.304
40
0:15:22.817
100
0:31:16.337
Cely cluster 620
1:52:49.277 21
![Page 59: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/59.jpg)
Ansible AWX
![Page 60: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/60.jpg)
Mocny nastroj AWX
• Web UI.
• Vykon serveru.
• Git.
• Logovanı.
• Auditori.
• API.
• Slicing.
• Flow.
• Reporting.
22
![Page 61: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/61.jpg)
Slice
23
![Page 62: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/62.jpg)
Flow
START –> DEFAULT –> CLUSTERS –> DEVOPS –> ...
24
![Page 63: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/63.jpg)
AWX Report
25
![Page 64: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/64.jpg)
Ansible workflow
![Page 65: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/65.jpg)
CI - Commity & Flow — Gitlab commits
26
![Page 66: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/66.jpg)
CI - Commity & Flow — Gitlab CI
27
![Page 67: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/67.jpg)
CI - Commity & Flow — Lint & Syntax
28
![Page 68: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/68.jpg)
CI - Ansible lint & syntax
• Ansible Lint
• Prvnı faze obrany pred nesvary.
• Trailing whitespace.
• Pouzitı raw modulu.
• Vyuzitı curlu mısto uri modulu.
• ansible-lint *.yml nad repozitarem.
• Ansible Syntax
• Dalsı tier pred nami samymi.
• Kontrola proveditelnosti playbooku.
• Syntakticky check playbooku a rolı.
• Napr. v playbooku zustala role, ktera byla odebrana.
• ansible-playbook -i hosts/ops.ini *.yml --syntax-check --verbose nad
repozitarem
• ansible-playbook -i hosts/dev.ini *.yml --syntax-check --verbose nad
repozitarem
29
![Page 69: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/69.jpg)
CI - Ansible lint & syntax
• Ansible Lint
• Prvnı faze obrany pred nesvary.
• Trailing whitespace.
• Pouzitı raw modulu.
• Vyuzitı curlu mısto uri modulu.
• ansible-lint *.yml nad repozitarem.
• Ansible Syntax
• Dalsı tier pred nami samymi.
• Kontrola proveditelnosti playbooku.
• Syntakticky check playbooku a rolı.
• Napr. v playbooku zustala role, ktera byla odebrana.
• ansible-playbook -i hosts/ops.ini *.yml --syntax-check --verbose nad
repozitarem
• ansible-playbook -i hosts/dev.ini *.yml --syntax-check --verbose nad
repozitarem
29
![Page 70: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/70.jpg)
CI - Ansible lint & syntax
• Ansible Lint
• Prvnı faze obrany pred nesvary.
• Trailing whitespace.
• Pouzitı raw modulu.
• Vyuzitı curlu mısto uri modulu.
• ansible-lint *.yml nad repozitarem.
• Ansible Syntax
• Dalsı tier pred nami samymi.
• Kontrola proveditelnosti playbooku.
• Syntakticky check playbooku a rolı.
• Napr. v playbooku zustala role, ktera byla odebrana.
• ansible-playbook -i hosts/ops.ini *.yml --syntax-check --verbose nad
repozitarem
• ansible-playbook -i hosts/dev.ini *.yml --syntax-check --verbose nad
repozitarem
29
![Page 71: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/71.jpg)
CI - Ansible lint & syntax
• Ansible Lint
• Prvnı faze obrany pred nesvary.
• Trailing whitespace.
• Pouzitı raw modulu.
• Vyuzitı curlu mısto uri modulu.
• ansible-lint *.yml nad repozitarem.
• Ansible Syntax
• Dalsı tier pred nami samymi.
• Kontrola proveditelnosti playbooku.
• Syntakticky check playbooku a rolı.
• Napr. v playbooku zustala role, ktera byla odebrana.
• ansible-playbook -i hosts/ops.ini *.yml --syntax-check --verbose nad
repozitarem
• ansible-playbook -i hosts/dev.ini *.yml --syntax-check --verbose nad
repozitarem
29
![Page 72: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/72.jpg)
CI - Ansible lint & syntax
• Ansible Lint
• Prvnı faze obrany pred nesvary.
• Trailing whitespace.
• Pouzitı raw modulu.
• Vyuzitı curlu mısto uri modulu.
• ansible-lint *.yml nad repozitarem.
• Ansible Syntax
• Dalsı tier pred nami samymi.
• Kontrola proveditelnosti playbooku.
• Syntakticky check playbooku a rolı.
• Napr. v playbooku zustala role, ktera byla odebrana.
• ansible-playbook -i hosts/ops.ini *.yml --syntax-check --verbose nad
repozitarem
• ansible-playbook -i hosts/dev.ini *.yml --syntax-check --verbose nad
repozitarem
29
![Page 73: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/73.jpg)
CI - Ansible lint & syntax
• Ansible Lint
• Prvnı faze obrany pred nesvary.
• Trailing whitespace.
• Pouzitı raw modulu.
• Vyuzitı curlu mısto uri modulu.
• ansible-lint *.yml nad repozitarem.
• Ansible Syntax
• Dalsı tier pred nami samymi.
• Kontrola proveditelnosti playbooku.
• Syntakticky check playbooku a rolı.
• Napr. v playbooku zustala role, ktera byla odebrana.
• ansible-playbook -i hosts/ops.ini *.yml --syntax-check --verbose nad
repozitarem
• ansible-playbook -i hosts/dev.ini *.yml --syntax-check --verbose nad
repozitarem
29
![Page 74: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/74.jpg)
CI - Ansible lint & syntax
• Ansible Lint
• Prvnı faze obrany pred nesvary.
• Trailing whitespace.
• Pouzitı raw modulu.
• Vyuzitı curlu mısto uri modulu.
• ansible-lint *.yml nad repozitarem.
• Ansible Syntax
• Dalsı tier pred nami samymi.
• Kontrola proveditelnosti playbooku.
• Syntakticky check playbooku a rolı.
• Napr. v playbooku zustala role, ktera byla odebrana.
• ansible-playbook -i hosts/ops.ini *.yml --syntax-check --verbose nad
repozitarem
• ansible-playbook -i hosts/dev.ini *.yml --syntax-check --verbose nad
repozitarem
29
![Page 75: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/75.jpg)
CI - Docker prostredı pro Ansible & reporting do Mattermostu
30
![Page 76: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/76.jpg)
CI - Docker prostredı pro Ansible & reporting do Mattermostu
• Testovanı rolı pomocı Molecule.
• Jednotlive role jsou spousteny v Dockeru (Debian 9).
• Testuje se pouze subset, nektere vzhledem k prostredı nelze radne otestovat.
• Celkove 6 slices, 20 rolı.
31
![Page 77: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/77.jpg)
Co dal?
![Page 78: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/78.jpg)
Co dal?
Ansible A6
Cycle
PLAN
D
O
CH
ECK
ACT
• Rychlejsı CI pipeline pro vyvoj.
• Vyuzıt API AWX pro automatizaci
dry-runu.
• Prechod z RT systemu na MR.
• Salt jiz neorchestruje, ale stale je ready.
32
![Page 79: Cesta ze SaltStacku do Ansible v Bigdata prostredí › media › Ansible.pdfCesta ze SaltStacku do Ansible v Bigdata prost red Petr Krch @v1dlak, Radim Lipov can @radimlipovcan 5.](https://reader034.fdocument.pub/reader034/viewer/2022052500/5f13938aefccf232976a03e7/html5/thumbnails/79.jpg)
Ansible Workshop v Seznamu 8.-9.11.
kariera.seznam.cz
Security Engineer
System Engineer - Infrastructure
32