Obraz kontenera to plik, który zawiera aplikację ze wszystkimi komponentami oprogramowania w danych binarnych. Obrazy kontenerów to niezależne pakiety oprogramowania, które zawierają wyjątkowo specyficzne oczekiwania dotyczące ich środowiska wykonania. Przed połączeniem się z aplikacją w POD zwykle generujesz obraz kontenera i publikujesz go do rejestru. Infrastruktura kontenerowa opiera się w dużej mierze na obrazach Kubernetes (Docker). Obecnie potrzebujemy tylko Kubernetes do obsługi obrazów Docker. Obraz Docker działa w każdym pojemniku w POD.
Parametr obrazu w pliku konfiguracyjnym będzie miał ten sam format co polecenie Docker podczas konfigurowania POD. Nazwa obrazu, którą chcemy wyodrębnić z rejestru, jest zdefiniowana w pliku konfiguracyjnym. Jeśli zasady ciągnięcia wśród wszystkich kontenerów w tym POD nie zostanie wyraźnie dostarczone podczas pierwszego skonstruowania wdrożenia, statefulset, pod i innym obiektem z szablonem POD, zostanie domyślnie ustawiona na ifnotpresent. Jeśli obraz już istnieje, ta polityka zapobiega wyciągnięciu go przez kubelet. Wynik ImagePullPolicy kontenera był zawsze ustawiony po utworzeniu obiektu, i nie jest modyfikowany, jeśli znacznik obrazu zmienia się później. Gdy platforma kontenerowa OpenShift generuje kontenery, sprawdza ImagePullpolicy, aby sprawdzić, czy obraz zawsze powinien być pociągnięty przed rozpoczęciem kontenera. Imagpullpolicy może przyjąć jedną z trzech wartości:
Zawsze: Zawsze pociąga odpowiedni obraz.
IfnotPresent: Jeśli obraz nie występuje w węźle, obraz zostanie pociągnięty.
Nigdy: Jak pokazuje nazwa, nigdy nie pociągnie obrazu.
W tym samouczku spróbujemy zaktualizować obrazy Kubernetes i ustawimy ImagePullPolicy.
Wymagania wstępne
Aby zaktualizować obrazy Kubernetes i ustawić jego ImagePullPolicy, upewnij się, że masz dowolną dystrybucję Linux. Na naszej ilustracji używamy Ubuntu 20.04 LTS. Ponadto, aby uruchomić usługi Kubernetes, obowiązkowym wymogiem jest zainstalowanie i skonfigurowanie klastra minikupowego. Powinieneś mieć również właściwe przywileje Sudo.
Metoda aktualizacji obrazów Kubernetes i ustawienia ImagePullPolicy
Początkowo musisz uruchomić okno terminala, wykorzystując jedną z tych metod:
Korzystając z jednej z tych dwóch metod, łatwo uruchomisz terminal wiersza poleceń. Po uruchomieniu wykonaj następujące wymienione polecenie, aby uruchomić klaster minikube.
$ start minikube
Wykonanie tego polecenia zajmie trochę czasu. Podczas wykonywania możesz sprawdzić wersję miniKube, która jest zainstalowana w systemie operacyjnym. Pokazana jest również aktualnie dostępna wersja. Możesz go również pobrać. Podczas całego tego procesu nie marnuj czasu i generuj plik w katalogu domowym. Jak podkreślono na załączonym obrazie, nazwaliśmy go obrazami.Yaml. Ale nigdy nie zapomnij użyć .rozszerzenie YAML.
Otwórz ten plik, dwukrotnie go stukając i zapisz następujący kod w pliku konfiguracyjnym.
Opis tego pliku podano poniżej; Możesz to również zmienić:
Nazwa: Zatrzymaj tę nazwę służy do klasyfikacji i uwierzytelniania nazwy kontenera, który zostanie skonstruowany po wyciągnięciu zdjęć z rejestru Docker.
Nazwa: Użytkownik-private-obraz To nazwa kontenera, który planujemy stworzyć.
Obraz: $ Private_image_name To jest nazwa obrazu, którą staramy się znaleźć w rejestrze dokera lub wewnętrznego obrazu. Będziemy musieli określić pełną lokalizację rejestru i nazwę obrazu, którą staramy się pociągnąć.
Imagpullpolicy: Ta polityka ciągnięcia obrazu zawsze określa, że ta sama nazwa będzie pobierana za każdym razem, gdy uruchamiamy ten plik, aby zbudować kontener. Możesz ustawić go zgodnie z potrzebami.
Komenda: [„Echo”, „sukces”] Wyświetli komunikat, gdy podejdziemy do kontenera za pomocą tego, jeśli wszystko pójdzie dobrze, gdy konstruujemy pojemnik.
Teraz musisz uruchomić poniższe polecenie, aby utworzyć pojemnik i wyciągnąć obraz.
$ kubectl Zastosuj obrazy.Yaml
Ze wyjścia tego polecenia możesz zobaczyć, że zostało ono utworzone pomyślnie.
Wniosek
W tym samouczku zbadaliśmy podstawową koncepcję obrazów w Kubernetes i różne wartości ImagePullpolicy, które można wykorzystać. Mam nadzieję, że możesz łatwo zmienić wartość obrazów w Kubernetes i ustawić jego zasady obrazu zgodnie z wymaganiami roboczymi.