Namespace i podłączenie gniazda Dockera do kontenera

Namespace i podłączenie gniazda Dockera do kontenera

Namespace i podłączenie gniazda Dockera do kontenera

Bezpieczne urządzenie w domyślnej konfiguracji to takie wyłączone urządzenie. A najlepiej także odłączone od prądu. Bezpieczna aplikacja to wyłączona aplikacja, a najlepiej odinstalowana. Tak, trochę za dużo chyba ostatnio z “bezpiecznikami” rozmawiam… Niemniej tych zasad nie uda nam się spełniać w systemach IT, musimy zatem zadbać o odpowiednie mechanizmy bezpieczeństwa. Nie inaczej jest z Dockerem. W poprzednim swoim artykule zaznaczałem, że Docker w swojej domyślnej instalacji może się co najwyżej nadawać do domowego odizolowanego laboratorium. Nawet w systemach testowych czy developerskich powinniśmy wdrożyć mechanizm zwany namespace. Jego aktywacja powoduje jednak problemy z dostępem do gniazda (socket), służącego do lokalnej komunikacji z demonem Dockera.

Czytaj dalej
Backup konfiguracji routera za pomocą Ansible

Backup konfiguracji routera za pomocą Ansible

Backup konfiguracji routera za pomocą Ansible

Kolejne dni pracy z Cisco Modeling Labs 2.0. Przygotowywałem się do pierwszego wykorzystania go w większej topologii i scenariuszu w ramach webinaru. Ale tym razem nie będę pisał o CML 2.0. Przygotowując scenariusza laba chciałem mieć zapisane wzorcowe konfiguracje urządzeń z kolejnych etapów. Niestety CML 2.0 nie pozwala na łatwe zgranie konfiguracji z urządzeń biorących udział w symulacji. Napisanie playbooka wykonującego backup konfiguracji routera za pomocą Ansible jest przecież bardzo proste.

Czytaj dalej
Jak zmienić certyfikat SSL w CML 2.0

Jak zmienić certyfikat SSL w CML 2.0 na własny

Jak zmienić certyfikat SSL w CML 2.0

W poprzednim artykule opisałem swoje pierwsze wrażenia po uruchomieniu następcy Cisco VIRL, czyli Cisco Modeling Labs 2.0. Zaznaczyłem, że jednym z potencjalnie silnych punktów CML 2.0 będzie jego API. Jednak do poprawnego działania API wypadałoby zmienić domyślny certyfikat SSL. Przygotowałem dla Was instrukcję jak to zrobić – nie jest to czynność niestety prosta, ale każdy może zainstalować własny certyfikat SSL w CML 2.0

Czytaj dalej
Dlaczego CML 2.0 mnie rozczarowało?

Dlaczego CML 2.0 mnie rozczarowało?

Dlaczego CML 2.0 mnie rozczarowało?

Nareszcie po kilku(nastu) tygodniach czekania mogłem uruchomić następcę słynnego VIRL-a, czyli Cisco Modeling Lab 2.0. Wcześniej produkt był znany pod roboczą nazwą VIRL2, ale stanęło finalnie na CML 2.0. Tak, wiem, w sieci jest już sporo recenzji, zarówno pisanych czy w formie video, Niestety nie jestem pracownikiem Cisco, by mieć dostęp do wewnętrznych wersji od dawna, użytkownikiem wersji Enterprise, która została wydana miesiąc wcześniej i ze względu na cenę pewnie też nie jest dostępna dla każdej firmy. Na szczęście już jest i wczoraj miałem okazję się nieco jej przyjrzeć. Spisałem swoje pierwsze wrażenia. Jest kilka rzeczy, które moim zdaniem zasługują na uwagę (nie jest to kompletna lista na pewno).

Czytaj dalej
Pierwsze kroki z Terraform

Pierwsze kroki z Terraform

Pierwsze kroki z Terraform

Od początku roku przygotowałem kilka labów typu PoC (Proof of Concept), webinariów oraz prezentacji, w ramach których używałem rozwiązań w chmurze Azure. Dema i testy mają jedną wspólną cechę – wykonuje się je z modyfikacjami wielokrotnie. W takich sytuacjach staram się korzystać ze zautomatyzowanych narzędzi do budowy infrastruktury. Do takich należy choćby Terraform. Zanim jednak pokażę Ci fragmenty konfiguracji budujących środowisko do wspomnianych projektów, zobacz, w jaki sposób Terraform zainstalować i uruchomić.

Czytaj dalej
Jak webhook łączy Jenkins i Microsoft Teams

Jak webhook łączy Jenkins i Microsoft Teams

Jak webhook łączy Jenkins i Microsoft Teams

Webhook to bardzo prosty, a jednocześnie niezwykle efektywny mechanizm pozwalający na dwóm aplikacjom na przekazywanie sobie nawzajem danych. Jeżeli potrzebujemy ze sobą zintegrować różne aplikacje wykorzystywane w infrastrukturze przeznaczonej do wykonywania zautomatyzowanych działań, na pewno bardzo szybko zetkniemy się z tym mechanizmem. Wiele rozszerzeń w popularnych programach zbudowanych jest właśnie w oparciu o ten mechanizm. Ja wykorzystałem go aby przekazywać status wykonania zadań w Jenkins do kanału w Microsoft Teams, dzięki czemu mogę na bieżąco reagować na problemy.

Czytaj dalej
Dokumentacja playbooków Ansible

Dokumentacja playbooków Ansible

Dokumentacja playbooków Ansible

Każdy programista wie, że umieszczanie komentarzy w kodzie źródłowym aplikacji jest nie tylko elementem dobrej praktyki, ale także często wymogiem. Często jednak nie ma na to czas lub jest go zbyt mało. W domowych czy firmowych labach często w ogóle nie zawracamy sobie tym głowy. Jednak nawet gdy piszemy aplikację lub playbook tylko dla siebie warto zadbać o choćby minimalną jego dokumentację, a komentarze zawarte w kodzie źródłowym przydadzą się, jeżeli będziemy chcieli go wykorzystać potem w innym projekcie.

Czytaj dalej
Po co nam JSON Schema

Po co nam JSON Schema

Po co nam JSON Schema

W poprzednim artykule pokrótce pokazałem, czym są, jak wyglądają i gdzie mają zastosowanie struktury danych JSON, Ponieważ programiści dowolnie mogą projektować strukturę obiektów, to musiał powstać standard pozwalający na ich dokumentowanie, czy weryfikację. Sam standard struktury nie przewiduje nawet możliwości dodania komentarzy wewnątrz obiektu. Poznajmy więc JSON Schema.

Czytaj dalej
Poznaj JSON

Poznaj JSON-a

Poznaj JSON

Konfigurując mechanizmy automatyzujące codzienne czynności, bardzo szybko spotkasz się z koniecznością przekazywania danych pomiędzy modułami, pomiędzy aplikacjami, czy pomiędzy Twoją aplikacją a interfejsem API. Zmienne systemu operacyjnego do takich zadań nie wystarczą, dlatego musisz skorzystać z jednej z dostępnych struktur danych. Znajomość dwóch z nich jest wręcz niezbędna – są to XML i JSON. Osobiście preferuję korzystanie z tego drugiego, gdzie tylko jest to możliwe. Przede wszystkim ze względu na lepszą czytelność informacji i prostotę użycia.

Czytaj dalej
Instalacja Dockera za pomocą Ansible

Instalacja Dockera za pomocą Ansible

Instalacja Dockera za pomocą Ansible

Ostatni artykuł, w którym pokazałem jak skonfigurować API Dockera za pomocą playbooka Ansible zaowocował przysłanym mi pytaniem, czy równie prosto da się zautomatyzować instalację samego Dockera. Oczywiście że się da! Pierwsze moduły do Ansible miały na celu ułatwić zarządzanie pakietami i konfigurację systemów typu Linux. Pokarzę Ci teraz fragmenty z mojego playbooka (poszczególne zadania), którego używam do instalacji Dockera na RaspberryPi i dystrybucji Raspbian. Instalacja Dockera za pomocą Ansible składa się jedynie z kilku zadań.

Czytaj dalej