Strasznie zaniedbałem ten mój blog. Nie tylko jego zresztą – mój domowy lab też obrócił się w ruinę. Porósł szuwarami niepamięci, a kilka drobnych aktualizacji wystarczyło, by cała misterna konstrukcja rozsypała się jak domek z kart. W sumie, nie ma tragedii. Żadne stworzonko nie ucierpiało, a ja mam teraz okazję powtórzyć sobie to i owo. Ubuntu 20.04 i tak już zyskało status moralnie przestarzałego, a parę rozwiązań na sznurki też swoje lata ma. No to czas zacząć od nowa. Trzy debiany 12 czekają już na VMkach, jak młode orły na pierwszy lot.
Pomyślałem, że opiszę tutaj krok po kroku, jak postawić trzywęzłowy klaster Hashicorpowego Vaulta, który w swojej strukturze może przypominać coś produkcyjnego. Oczywiście, można by tu pokusić się o coś bardziej “fancy & jazzy” – całą rolę w Ansible’u – ale jeśli ktoś zabiera się za to po raz pierwszy, lepiej żeby zrozumiał, jak to naprawdę działa. A najlepiej przebrnąć przez tę ścieżkę zdrowia samodzielnie, palce na klawiaturze, krok za krokiem. Mój własny wpis o tym, jak stawiać całe trio – Vault, Consul, Nomad – też już trochę się zestarzał. Ale zaglądałem tam niedawno i muszę przyznać, że wciąż można coś z tego wyciągnąć.
Czego nam potrzeba?
Nic wielkiego, wystarczy jakis Linux z libvirtd i trzema gołymi VMkami, może być Ubuntu, może być Debian.
Architektura
- Klaster HA, jeden leader + dwóch voters. Klaster jest demokratyczny i wybiera sobie lidera przez głosowanie. Aczkolwiek tego pierwszego trzeba liderem zrobić, by pozostałe miało do kogo radośnie dołączyć, formując klaster.
- Do tego, by było łatwiej mamy osobnego vaulta przydatnego jako transit-unseal. Będzie udawał AWSowego KMSa. Przydatność polega na tym, że po każdym restarcie nie trzeba uparcie wklepywać 2-3 z pięciu kluczy by “odpieczętować” instancję. Bowiem każda instancja ma specjalny token, którym uwierzytelni się u tego osobnego vaulta, a tamten je automagicznie “odpieczętuje”.