Dominik Miklaszewski
by Dominik Miklaszewski

Categories

Tags

Kilka labów w domu sobie już zbudowałem. W międzyczasie, zacząłem się uczyć Ansibla i w ramach tej nauki, postanowiłem stawianie takiego labu zautomatyzować.

Pomijając HW i OS, niezbędne “klocki” aby lab zaczął robić to co planuję to taki całkiem kompletny “open source stack”:

  • BIND 9 - lokalny DNS,
  • Gitlab-CE - zapewniający mi lokalne środowisko CI do budowy i testowania aplikacji, głównie nawet, do budowy różnych scenariuszy testowych;
  • Hashicorp Nomad, Consul i Vault - lokalne środowisko CD, zapewniające orkiestrację dla dockera i systemowych runtime-ów, dostępność serwisów i bezpieczeństwo różnych danych uwierzytelniających i autoryzujących;
  • SonarQube jako SAST i agregator raportów z testów,
  • Cypress do testów akceptacyjnych;
  • Trivy - do sprawdzania bezpieczeństwa obrazów dockera;
  • ZAP - do testów bezpieczeństwa aplikacji;

Mam do tego jeden “serwer” 12-rdzeniowy z 32GB RAM. Szału nie ma i nie będzie. Mmniejsza o kolejność, na razie mam zrealizowaną automatyzację następujących komponentów:

  1. Generowania maszyn wirtualnych w oparciu o bazowy obraz Fedora Cloud 34;
  2. Zaopatrywania serwera i maszyn wirtualnych w certyfikaty TLS. Rola ta bazuje na CloudFlare-owym cfssl i cfssljson. Serwer robi za self-signed CA, tam generują się certy dla maszynek i są dystrybuowane gdzie trzeba; Rozróżniane są: Fedora, CentOS i Ubuntu;
  3. Podstawowa instalacja i konfiguracja Hashicorp-owego trio z rozróżnieniem (w ~/.ansible/inventory) na komponenty serwerowe i klienckie tych klastrów. Wyzwaniem tutaj będzie dopiero zaawansowana konfiguracja np. Consula jako back-end storage dla Vaulta przy włączonych ACL-ach na Consulu.
  4. Podstawowa instalacja Gitlab-CE na maszynce wirtualnej FC34, cała konfiguracja wciąż przede mną.

Prócz powyższego mam juz oczywiście postawiony lokalny DNS (z sink-hole-em), więc tego chyba nie będę automatyzował, bo nie jest to kluczowe. Zależy mi głównie na komponentach CI/CD.

W następnej części opiszę konfigurację klastra CD - Nomada, Consula i Vaulta. Od czasu kiedy się za to zabrałem pierwszy raz w marcu i kwietniu 2020, minęło już trochę czasu i kilka spraw się zdezaktualizowało, a Hashicorp wykonał świetną robotę rozwijając to oprogramowanie, dzięki czemu nie ustępuje K8s.