Rejestry są dwóch rodzajów: prywatne i publiczne. Można uzyskać dostęp do publicznych rejestrów bez żadnych poświadczeń logowania. Jednak, aby uzyskać dostęp do prywatnego rejestru, musisz podać poświadczenia, aby się zalogować. Środowisko kontenerowe Kubernetes działa z obrazami kontenerowymi, a obrazy te są zapisywane w rejestrze publicznym lub prywatnym. Obrazy znajdujące się w publicznym repozytorium są dostępne dla wszystkich bez ochrony. Jeśli jednak chcesz uzyskać dostęp do obrazu zlokalizowanego w prywatnym rejestrze, musisz mieć poświadczenia logowania, aby uzyskać dostęp do prywatnego rejestru. Ten przewodnik nauczy Cię szczegółowo wszystkich kroków, jak wyciągnąć obraz z prywatnego rejestru.
Wymagania wstępne:
Środowisko Kubernetes wymaga podstawowych narzędzi, aby umożliwić ci pracę. Upewnij się, że twój system ma już zainstalowane wszystkie następujące narzędzia, a jeśli nie, zrób to przed pójściem dalej w tym dokumencie:
Zakładając, że przygotowałeś swój system, instalując wszystkie warunki wstępne, zacznijmy od procesu wyciągania obrazu z prywatnego rejestru.
W tym przewodniku używamy kontenera Docker, więc jest to specjalnie zaprojektowane, aby dowiedzieć się, jak wyciągnąć obraz z prywatnego rejestru dokera.
Rozpocznijmy więc ten przewodnik krok po kroku, który możesz śledzić i nauczyć się łatwo wyciągać obraz z prywatnego rejestru.
Krok # 1: Rozpocznij klaster minikube
Ponieważ używamy klastra minikube, musimy upewnić się, że jest w trybie aktywnym. Klaster minikube może zacząć od użycia następującego polecenia:
kalsoom@kalsoom-virtualbox> minikube start
To polecenie umożliwia uruchomienie klastra minikube, w którym możesz rozpocząć uruchamianie poleceń i aplikacji. Po wykonaniu tego polecenia „Start” otrzymasz podobne dane wyjściowe do tej podanej w migawce poniżej:
Krok # 2: Sprawdź w pojemniku Docker
Ponieważ używamy kontenera Dockera i staramy się uzyskać dostęp do obrazu zlokalizowanego w prywatnym rejestrze Docker, musimy się do niego zalogować. Musimy podać nazwę logowania i hasło dla prywatnego rejestru, aby mieć pełny dostęp do rejestru. Teraz wprowadź następujące polecenie w narzędziu wiersza poleceń i zaloguj się do hub Docker:
kalsoom@kalsoom-virtualbox> logowanie dockera
Jak pokazano na powyższym zrzucie ekranu, narzędzie wiersza poleceń prosi o nazwę użytkownika i hasło do zalogowania się do hub Docker z Docker ID. Tutaj możesz podać poświadczenia swojego identyfikatora Docker i mieć dostęp do prywatnego rejestru powiązanego identyfikatora.
Krok # 3: Uzyskaj dostęp do pliku JSON
Po zalogowaniu się do hub Docker z identyfikatorem Docker, „Konfiguracja.plik JSON jest aktualizowany o token autoryzacji. Dzieje się tak w odpowiedzi na proces logowania, a token autoryzacji umożliwia utworzenie tajnego klucza w celu uzyskania dostępu do Prywatnego Rejestru Docker. Wprowadź następujące polecenie w narzędziu wiersza poleceń, aby uzyskać token autoryzacji z konfiguracji.plik JSON:
kalsoom@kalsoom-virtualbox> cat ~/.Docker/Config.JSON
Patrz dane wyjściowe podane na zrzucie ekranu poniżej:
Krok 4: Utwórz tajny klucz
Tajny klucz jest ważny, aby zapewnić całkowicie bezpieczny dostęp do prywatnego rejestru dokera. Dlatego użyjemy klucza autoryzacji do utworzenia tajnego klucza na istniejących poświadczeniach. To pozwoli nam wyciągnąć obraz z prywatnego rejestru Docker, ponieważ Docker używa sekretu Kubernetes.IO/DockerCongigJson. Teraz wykonaj następujące polecenie na swoim terminalu i uzyskaj sekret istniejących poświadczeń:
kalsoom@kalsoom-virtualbox> kubectl stwórz tajne ogólne regcred \
Po prostu skopiuj i wklej poświadczenia z poleceniem do terminalu i uzyskaj sekret swojego prywatnego rejestru. Patrz wyniki podane poniżej:
Poprzednie polecenie pozwala stworzyć sekret z istniejącego poświadczenia, jeśli chcesz stworzyć sekret, zapewniając poświadczenie w czasie wykonywania. Dodatkowo możesz to zrobić, wykonując polecenie dołączone poniżej:
> Kubectl Utwórz tajną regułę dokera regcred -docker-server =--Docker-Username = --Docker-Password = --Docker-Email =
Tutaj parametr „-Docker-Server = 'przyjmuje nazwę twojego serwera,„ -docker-username =' przyjmuje twoją nazwę użytkownika, parametr „-Docker-Password = 'bierze hasło, a„ -docker-- e -mail = 'Parametr bierze Twój adres e -mail. Zobacz przykładowe dane podane na zrzucie ekranu poniżej:
Stworzyło to sekret o nazwie „Regcred” za pomocą poświadczenia podanego w wierszu poleceń.
Krok # 5: Kontrola Secret
Teraz, gdy stworzyliśmy sekret, aby wyciągnąć obraz z prywatnego rejestru, musimy go sprawdzić, aby sprawdzić, co zawiera. Umożliwi nam to zrozumienie treści „Regcred Secret. Wykonaj następujące polecenie w swoim terminalu i zobacz sekret Regcred:
> kubectl zdobądź tajny regcred -output = yaml
Ponieważ sekreta regcred jest przechowywana w pliku YAML, używając tego polecenia, staramy się otworzyć plik YAML zawierający sekret. Zobacz dane wyjściowe podane poniżej:
Dane są reprezentowane w formacie Base64, a poświadczenia są szyfrowane za pomocą techniki szyfrowania Base64. Aby zrozumieć treść sekretu Regcred, musimy mieć treść w czytelnym formacie. Dlatego odszyfrowamy sekret w czytelny format za pomocą następującego polecenia:
> kubectl zdobądź tajny regcred -output = jsonpath = .dane.\.DockerConfigJson "| base64 - -decode
Patrz wyniki podane poniżej i zobacz sekret w czytelnym formacie:
Krok # 6: Utwórz plik konfiguracyjny
Teraz jesteśmy gotowi wyciągnąć obraz z prywatnego rejestru. Tworzymy więc kapsułkę, która będzie korzystać z sekretu, który wcześniej stworzyliśmy, aby uzyskać dostęp do obrazu. Definicja konfiguracji POD jest przechowywana w pliku YAML. Utwórz plik YAML za pomocą poniższego polecenia:
> Nano prywatny.Yaml
To polecenie utworzyło plik YAML, w którym można przechowywać definicję konfiguracji do tworzenia POD. Zobacz tę samą definicję podaną na zrzucie ekranu poniżej:
Krok # 7: Pobierz plik konfiguracyjny
Teraz pobierz plik konfiguracyjny do swojego systemu i zapisz go za pomocą następującego polecenia:
> curl -l -o my-private-reg-pod.yaml https: // k8s.IO/Przykłady/PODS/Private-Reg-POD.Yaml
Krok # 8: Utwórz POD z pliku konfiguracyjnego
Teraz nasz plik konfiguracyjny jest gotowy do utworzenia kapsułki, który użyje sekretu. Następujące polecenie zbuduje POD:
> kubectl aplikuj -f prywatny.Yaml
Kapsuła została pomyślnie utworzona. Sprawdzajmy więc, że działa poprawnie, używając następującego polecenia:
> kubectl get POD private erg
Wniosek
Dowiedzieliśmy się o publicznych i prywatnych rejestrach Docker Hub oraz o tym, jak uzyskać dostęp do prywatnego repozytorium Docker za pomocą poświadczenia. Za pomocą prostego scenariusza nauczyliśmy się, jak uzyskać dostęp do centrum Docker, używając istniejącego poświadczenia, a także zapewniania poświadczeń w czasie wykonywania. I wreszcie nauczyliśmy się wyciągnąć obraz z prywatnego rejestru hub Docker.