2. 2DEVOPS CONGRESS 2019
GitOps
• Nowy sposób zarządzania klastrem Kubernetes
• Szybsze dostarczanie aplikacji dla Cloud Native
• Git jako pojedyncze i główne źródło informacji
• Przyspieszenie i uproszczenie zadań dla
Kubernetes
CO TO JEST GITOPS
3. 3DEVOPS CONGRESS 2019
• Zwiększenie szybkości twojego zespołu
• Automatyzacja procesów związanych z
wdrażaniem i publikowaniem oprogramowania
• Sposób na uniknięcie tworzenia dedykowanych
skryptów i kosztownego ich utrzymania
• Wsparcie dla bezpiecznej automatyzacji
wdrożeń aplikacji w cyklach codziennych
JAKI JEST CEL GITOPS
MAGDA, RECRUITMENT
SPECIALIST
4. 4DEVOPS CONGRESS 2019
PODSTAWOWE ZASADY GITOPS
• System opisany deklaratywnie
• Konfiguracja w systemie kontroli wersji (VCS)
• Łatwe zmiany w Git
• Commit
• Pull Request
• Agenty monitorujące :
• Zmiany
• Synchronizacja
• Raportowanie
• Powiadomienia
KAMIL, SENIOR
SOFTWARE ENGINEER
5. 5DEVOPS CONGRESS 2019
• Niski próg wejścia (każdy developer
zna Git’a)
• Łatwy sposób dodawania nowych
aplikacji
• Łatwość dodawania nowych zmian
• Nie musimy uczyć się niczego
nowego :)
CO NAM DAJE GITOPS
MONIKA, SENIOR
RECRUITMENT & HR
SPECIALIST
7. 7DEVOPS CONGRESS 2019
Kubernetes API akceptuje deklaracje
System Deklaratywny
Automatycznie naprawiający się
Cloud Native System
DLACZEGO KUBERNETES ?
8. 8DEVOPS CONGRESS 2019
Konwergencja (Convergence)
Inaczej zbieżność to wykonywanie
zmian do momentu osiągnięcia sukcesu
Idempotentność (Idempotence)
Właściwość pewnych operacji, która
pozwala na ich wielokrotne stosowanie bez
zmiany wyniku
Automatyzacja (Automation)
Mechanizm pozwalający na
aplikowanie zmian poprawnie i w
odpowiedniej kolejności
Determinizm (Determinism)
Przy założeniu odpowiednich zasobów,
stan docelowy zależy tylko od
oczekiwanego stanu
GŁÓWNE WŁAŚCIWOŚCI KUBERNETES
9. 9DEVOPS CONGRESS 2019
• Brak kubectl
• Brak skryptów
• Poprawność
• Bezpieczeństwo
• Przyjazny dla developerów
GITOPS + KUBERNETES
Jakie zalety ?
11. 11DEVOPS CONGRESS 2019
Jenkins GitLab
GitLab
Jest aktualnie jednym z
najpopularniejszych narzędzi klasy SCM.
Podobnie do konkurencyjnych rozwiązań
realizuje podstawowe zadania związane z
zarządzaniem repozytoriami i kontrolą
wersji. Ale te funkcjonalności to zaledwie
niewielki ułamek jego możliwości.
Jenkins
Pozwala na zautomatyzowanie
procesu budowania np. uruchomia
test, buduje projekt albo zbiera
informacje o przeprowadzonych
operacjach poprzez skonfigurowanie
zadań
CZEGO W TAKIM RAZIE UŻYĆ JAKO
CI/CD DLA GITOPS ?
12. 12www.sii.pl
GitOps
✓ Ulepsza aktualny model CI / CD
✓ CI serwer jest do CI ☺
✓ CI używany do CD to antywzorzec
✓ Odchodzi od modelu CI push
✓ Wprowadza model CI pull dla CD
CONTINUOUS INTEGRATION
Vs Continuous Deployment
14. 14DEVOPS CONGRESS 2019
Deklaratywny Automatyczny Kod nie kontener
Używa YAML aby utrzymać zgodność systemu.
Nie ma konieczności używanie kubectl wszystko
idzie przez Git. Używając diff jest w stanie
wykryć niezgodności pomiędzy stanem
aktualnym a pożądanym i wysłać
powiadomienia.
Wszystko jest kontrolowane przez Pull request,
nie ma potrzeby nauki nowych narzędzi bądź
metod. Pełna historia w Git pozwala na
przywrócenie dowolnej wersji i jest to o wiele
łatwiejsze niż zmiany na działającym systemie.
GITOPS OPERATOR DLA KUBERNETES
Daje możliwość tworzenia deklaratywnych
opisów systemu w Git. Włączając w to
aplikację, konfigurację, raportowanie,
monitorowanie i wiele innych.