40 pytań i odpowiedzi na rozmowę o pracę dotyczące Kubernetes

Print Friendly, PDF & Email

Kubernetes pochodzi od greckiego słowa oznaczającego „kapitan”, „sternik” lub „gubernator”. Termin ten jest teraz używany również w środowisku DevOps i lokalnym świecie programowania oprogramowania w odniesieniu do potężnego pakietu rozwiązań, które umożliwiają inżynierom operacyjnym skalowanie i usługi konfiguracji serwera (i box) bez wysiłku.

Ten artykuł z pytaniami do rozmowy kwalifikacyjnej Kubernetes pomoże Ci przygotować się do każdej rozmowy kwalifikacyjnej. Więc bez zbędnych ceregieli przejdźmy od razu i poznajmy najważniejsze pytania i odpowiedzi na wywiady Kubernetes.

Czym jest Kubernetes?

To jedno z podstawowych pytań do rozmowy kwalifikacyjnej Kubernetes, ale jedno z najważniejszych! Kubernetes to narzędzie lub system do orkiestracji (aranżacji) kontenerów typu open source, który służy do automatyzacji zadań, takich jak zarządzanie, monitorowanie, skalowanie i wdrażanie aplikacji kontenerowych. Służy do łatwego zarządzania kilkoma kontenerami (ponieważ może obsłużyć grupowanie kontenerów), co daje możliwość wykrycia i zarządzania jednostkami logicznymi.

Czym jest K8s?

K8s to inne określenie Kubernetes.

Czym jest orkiestracja, jeśli chodzi o oprogramowanie i DevOps?

Orkiestracja odnosi się do integracji wielu usług, która umożliwia im automatyzację procesów lub synchronizację informacji w odpowiednim czasie. Załóżmy na przykład, że masz sześć lub siedem mikrousług do uruchomienia aplikacji. Jeśli umieścisz je w oddzielnych kontenerach, nieuchronnie stworzy to przeszkody w komunikacji. Orkiestracja pomogłaby w takiej sytuacji, umożliwiając bezproblemową pracę wszystkich usług w poszczególnych kontenerach w celu osiągnięcia celu, czyli sprawnego wdrożenia aplikacji.

Jak są powiązane Kubernetes i Docker?

Docker to platforma typu open source służąca do obsługi tworzenia oprogramowania. Jego główną zaletą jest to, że „pakuje” ustawienia i zależności potrzebne do uruchomienia oprogramowania/aplikacji w kontenerze, co pozwala na przenoszenie i kilka innych zalet. Kubernetes umożliwia ręczne łączenie i orkiestrację kilku kontenerów działających na wielu hostach, które zostały utworzone za pomocą Dockera.

Jakie są główne różnice między Docker Swarm a Kubernetes?

Docker Swarm to natywna platforma Docker do orkiestracji kontenerów typu open source, która służy do klastrowania i planowania kontenerów Docker. Swarm różni się od Kubernetes w następujący sposób:

  • Jest wygodniejszy w konfiguracji, ale nie ma solidnego klastra, podczas gdy Kubernetes jest bardziej skomplikowany w konfiguracji, ale ma tę zaletę, że ma pewność solidnego klastra.
  • Nie może wykonać automatycznego skalowania (podobnie jak Kubernetes); jednak skalowanie Dockera jest pięć razy szybsze niż w Kubernetes.
  • Nie ma GUI. Kubernetes posiada GUI w postaci dashboardu.
  • Wykonuje automatyczne równoważenie obciążenia ruchu między kontenerami w klastrze, podczas gdy Kubernetes wymaga ręcznej interwencji w celu równoważenia obciążenia takiego ruchu.
  • Docker wymaga narzędzi innych firm, takich jak stos ELK do rejestrowania i monitorowania, podczas gdy Kubernetes ma zintegrowane narzędzia do tego samego.
  • Może łatwo udostępniać woluminy pamięci z dowolnym kontenerem, podczas gdy Kubernetes może udostępniać woluminy pamięci tylko kontenerom w tym samym pod.
  • Docker może wdrażać aktualizacje kroczące, ale nie może wdrażać automatycznego wycofywania. Kubernetes może wdrażać aktualizacje kroczące, a także automatyczne wycofywanie.

Jaka jest różnica między wdrażaniem aplikacji na hostach i kontenerach?

Wdrażanie aplikacji składa się z architektury z systemem operacyjnym. System operacyjny będzie miał jądro, które zawiera różne biblioteki zainstalowane w systemie operacyjnym potrzebne do aplikacji.

Natomiast host kontenera odnosi się do systemu, który uruchamia procesy skonteneryzowane. Ten rodzaj jest odizolowany od innych aplikacji; dlatego aplikacje muszą mieć niezbędne biblioteki. Pliki binarne są oddzielone od reszty systemu i nie mogą naruszać żadnej innej aplikacji.

Jakie są cechy Kubernetesa?

  • Kubernetes daje użytkownikowi kontrolę nad miejscem, w którym serwer będzie hostował kontener. Będzie kontrolował sposób uruchamiania. Tak więc Kubernetes automatyzuje różne procesy ręczne.
  • Kubernetes zarządza jednocześnie różnymi klastrami.
  • Zapewnia różne dodatkowe usługi, takie jak zarządzanie kontenerami, bezpieczeństwo, tworzenie sieci i przechowywanie.
  • Kubernetes samodzielnie monitoruje kondycję węzłów i kontenerów.
  • Dzięki Kubernetes użytkownicy mogą zbyt łatwo i szybko skalować zasoby nie tylko w pionie, ale także w poziomie.

Jakie są główne elementy architektury Kubernetes?

Istnieją dwa podstawowe składniki architektury Kubernetes: węzeł główny (master node) i węzeł roboczy (worker node). Każdy z tych komponentów ma w sobie indywidualne komponenty.

Wyjaśnij działanie węzła głównego w Kubernetes?

Węzeł główny (Master node) wyróżnia węzeł, który kontroluje i zarządza zestawem węzłów roboczych. Ten rodzaj przypomina klaster w Kubernetes. Węzły są odpowiedzialne za zarządzanie klastrem oraz interfejs API używany do konfigurowania zasobów w kolekcji i zarządzania nimi. Węzły główne Kubernetes mogą działać z samym Kubernetes, zasobem dedykowanych podów.

Jaka jest rola Kube-apiserver?

Sprawdza i udostępnia dane konfiguracyjne dla obiektów API. Obejmuje pody, usługi, kontrolery replikacji. Zapewnia również operacje REST, a także frontend klastra. Ten stan jest współdzielony, przez który współdziałają wszystkie inne komponenty.

Czym to jest węzeł (node) w Kubernetes?

Węzeł to najmniejsza podstawowa jednostka sprzętu komputerowego. Reprezentuje pojedynczą maszynę w klastrze, która może być maszyną fizyczną w centrum danych lub maszyną wirtualną od dostawcy chmury. Każda maszyna może zastąpić dowolną inną maszynę w klastrze Kubernetes. Master w Kubernetes kontroluje węzły, które mają kontenery.

Co zawiera status węzła?

Głównymi składnikami statusu węzła są adres, stan, pojemność i informacje.

Jaki proces działa w węźle głównym Kubernetes?

Proces serwera Kube-api działa w węźle głównym i służy do skalowania wdrażania większej liczby instancji.

Czym jest pod w Kubernetes?

Pod jest obiektem abstrakcyjnym Kubernetes, który reprezentuje grupę jednego bądź wielu kontenerów (jak np. Docker) wraz ze wspólnymi zasobami dla tych kontenerów. Zasobami mogą być:

  • Współdzielona przestrzeń dyskowa, np. Volumes
  • Zasoby sieciowe, takie jak unikatowy adres IP klastra
  • Informacje służące do uruchamiania każdego z kontenerów ⏤ wersja obrazu dla kontenera lub numery portów, które mają być użyte

Do czego służy kube-scheduler?

Kube-scheduler przypisuje węzły do nowo utworzonych podów.

Co to jest klaster kontenerów w Kubernetes?

Klaster kontenerów to zbiór elementów maszyny, które są węzłami. Klastry inicjują określone trasy, aby kontenery działające w węzłach mogły się ze sobą komunikować. W Kubernetes silnik kontenera (nie serwer interfejsu API Kubernetes) zapewnia hosting dla serwera API.

Co to jest Google Container Engine?

Google Container Engine to platforma zarządzania typu open source dostosowana do kontenerów i klastrów platformy Docker w celu zapewnienia obsługi klastrów działających w usługach chmury publicznej Google.

Czym są daemon sets?

Zestaw podów, który działa tylko raz na hoście. Są one używane do atrybutów warstwy hosta, takich jak sieć, lub do monitorowania sieci, których nie trzeba uruchamiać na hoście więcej niż raz.

Co to jest „Heapster” w Kubernetes?

Heapster to system monitorowania wydajności i zbierania metryk dla danych zbieranych przez Kublet. Ten agregator jest natywnie obsługiwany i działa jak każdy inny pod w klastrze Kubernetes, co umożliwia mu odnajdywanie i wykonywanie zapytań o dane użycia ze wszystkich węzłów w klastrze.

Czym jest Minikube?

Za pomocą Minikube użytkownicy mogą korzystać z Kubernetes lokalnie. Ten proces umożliwia użytkownikowi uruchomienie jednowęzłowego klastra Kubernetes na komputerze osobistym, w tym na komputerach z systemem Windows, macOS i Linus. Dzięki temu użytkownicy mogą wypróbować Kubernetes również do codziennej pracy programistycznej.

Czym jest przestrzeń nazw w Kubernetes?

Przestrzenie nazw służą do dzielenia zasobów klastra między wielu użytkowników. Przeznaczone są dla środowisk, w których jest wielu użytkowników rozproszonych w projektach lub zespołach i zapewniają szeroki zakres zasobów.

Początkowe przestrzenie nazw Kubernetes?

  • Default
  • Kube – system
  • Kube – public

Co to jest menedżer kontrolera Kubernetes?

Menedżer kontrolera jest demonem używanym do osadzania podstawowych pętli sterowania, wyrzucania elementów bezużytecznych i tworzenia przestrzeni nazw. Umożliwia uruchamianie wielu procesów w węźle głównym, nawet jeśli są one skompilowane tak, aby działały jako pojedynczy proces.

Jakie są typy menedżerów kontrolerów?

Menedżery kontrolerów podstawowych, które mogą działać w węźle głównym, to kontrolery:

  • punktów końcowych,
  • kont usług,
  • przestrzeni nazw,
  • węzła,
  • tokenów,
  • kontroler replikacji

Co to jest etcd?

Kubernetes używa etcd jako rozproszonego magazynu klucz-wartość dla wszystkich swoich danych, w tym metadanych i danych konfiguracyjnych, i umożliwia węzłom w klastrach Kubernetes odczytywanie i zapisywanie danych. Chociaż etcd został celowo zbudowany dla CoreOS, działa również na różnych systemach operacyjnych (np. Linux, BSB i OS X), ponieważ jest open-source. Etcd reprezentuje stan klastra w określonym momencie i jest kanonicznym centrum zarządzania stanem i koordynacji klastra klastra Kubernetes.

Dostępne usługi w Kubernetes?

Różne rodzaje usług Kubernetes obejmują:

  • IP klastra
  • portu węzła
  • tworzenia nazwy zewnętrznej
  • Load Balancer

Co to jest ClusterIP?

ClusterIP to domyślna usługa Kubernetes, która zapewnia usługę wewnątrz klastra (bez dostępu z zewnątrz), do której mogą uzyskać dostęp inne aplikacje w klastrze.

Co to jest NodePort?

Usługa NodePort to najbardziej podstawowy sposób na skierowanie ruchu zewnętrznego bezpośrednio do Twojej usługi. Otwiera określony port na wszystkich węzłach i przekazuje do usługi wszelki ruch wysyłany do tego portu.

Co to jest LoadBalancer w Kubernetes?

Usługa LoadBalancer służy do udostępniania usług w Internecie. Na przykład moduł równoważenia obciążenia sieciowego tworzy pojedynczy adres IP, który przekazuje cały ruch do Twojej usługi.

Co to jest sieć Ingress i jak działa?

Ingress to obiekt, który umożliwia użytkownikom dostęp do usług Kubernetes spoza klastra Kubernetes. Użytkownicy mogą konfigurować dostęp, tworząc reguły definiujące, które połączenia przychodzące docierają do jakich usług.

Jak to działa — jest to obiekt API, który zapewnia reguły routingu do zarządzania dostępem użytkowników zewnętrznych do usług w klastrze Kubernetes przez HTTPS/HTTP. Dzięki temu użytkownicy mogą łatwo skonfigurować reguły routingu ruchu bez tworzenia wielu systemów równoważenia obciążenia lub narażania każdej usługi na węzły.

Co rozumiesz przez menedżera kontrolera chmury?

Na pewno słyszałeś o chmurach publicznych, prywatnych i hybrydowych. Za pomocą technologii infrastruktury chmurowej możesz na nich uruchomić Kubernetes. W kontekście Cloud Controller Manager (menedżera kontrolera chmury) jest to składnik panelu sterowania, który osadza logikę sterowania specyficzną dla chmury. Ten proces umożliwia połączenie klastra z interfejsem API dostawcy chmury i oddzielenie elementów, które wchodzą w interakcję z platformą chmury od składników, które współdziałają tylko z klastrem.

Umożliwia to również dostawcom chmury udostępnianie funkcji w innym tempie niż w głównym projekcie Kubernetes. Jest skonstruowany przy użyciu mechanizmu wtyczek i umożliwia różnym dostawcom usług w chmurze zintegrowanie ich platform z Kubernetes.

Co to jest monitorowanie zasobów kontenera?

Odnosi się to do działania, które zbiera metryki i śledzi kondycję aplikacji kontenerowych i środowisk mikrousług. Pomaga poprawić zdrowie i wydajność, a także zapewnia płynne działanie.

Jaka jest różnica między zestawem replik a kontrolerem replikacji?

Kontroler replikacji jest w skrócie określany jako RC. Jest to opakowanie na pod. Zapewnia dodatkową funkcjonalność zasobom, które oferują repliki.

Monitoruje pody i automatycznie uruchamia je ponownie, jeśli zawiodą. Jeśli węzeł ulegnie awarii, ten kontroler odrodzi wszystkie pody tego węzła na innym węźle. Jeśli pody umrą, nie pojawią się ponownie, chyba że zostaną owinięte wokół zestawu replik.

Z drugiej strony Replica Set jest w skrócie określany jako RS. Mówi się, że jest to kontroler replikacji nowej generacji. Ten rodzaj wsparcia ma kilka typów selektorów i obsługuje selektory oparte na równości i oparte na zbiorach.

Umożliwia filtrowanie według wartości etykiet i kluczy. Aby dopasować obiekt, muszą spełniać wszystkie określone ograniczenia etykiety.

Czym jest usługa bezgłowa (headless service)?

Usługa ta jest używana do komunikowania się z mechanizmami wykrywania usług bez powiązania z ClusterIP, co pozwala na bezpośredni dostęp do podów bez konieczności uzyskiwania do nich dostępu przez proxy. Jest to przydatne, gdy nie jest wymagane ani równoważenie obciążenia, ani pojedynczy adres IP usługi.

Co to są klastry sfederowane (federated clusters)?

Agregacja wielu klastrów, które traktują je jako pojedynczy klaster logiczny, odnosi się do federacji klastrów. W tym przypadku wiele klastrów może być zarządzanych jako jeden klaster. Pozostają przy pomocy sfederowanych grup. Ponadto użytkownicy mogą tworzyć różne klastry w centrum danych lub chmurze i używać federacji do kontrolowania ich lub zarządzania nimi w jednym miejscu.

Federację klastrów można wykonać, wykonując następujące czynności:

Krzyż klastra, który zapewnia możliwość posiadania DNS i Load Balancer z zapleczem z uczestniczących klastrów.

Użytkownicy mogą synchronizować zasoby w różnych klastrach w celu wdrożenia tego samego zestawu wdrożeniowego w różnych klastrach.

Co to jest Kubelet?

Kubelet to agent usługi, który kontroluje i obsługuje zestaw podów, wypatrując specyfikacji podów za pośrednictwem serwera interfejsu API Kubernetes. Zachowuje cykl życia pod, zapewniając, że dany zestaw kontenerów działa tak, jak powinien. Kubelet działa na każdym węźle i umożliwia komunikację między węzłem głównym i podrzędnym.

Co to jest Kubectl?

Kubectl to CLI (interfejs wiersza poleceń) używany do uruchamiania poleceń w klastrach Kubernetes. W związku z tym kontroluje menedżera klastra Kubernetes za pomocą różnych poleceń tworzenia i zarządzania w komponencie Kubernetes.

Środki bezpieczeństwa w Kubernetes?

Przykłady standardowych środków bezpieczeństwa Kubernetes obejmują definiowanie limitów zasobów, obsługę audytów, ograniczanie dostępu etcd, regularne aktualizacje zabezpieczeń środowiska, segmentację sieci, definiowanie ścisłych zasad dotyczących zasobów, ciągłe skanowanie w poszukiwaniu luk w zabezpieczeniach i używanie obrazów z autoryzowanych repozytoriów.

Co to jest Kube-proxy?

Kube-proxy to implementacja modułu równoważenia obciążenia i sieciowego serwera proxy służąca do obsługi abstrakcji usług z innymi operacjami sieciowymi. Kube-proxy odpowiada za kierowanie ruchu do odpowiedniego kontenera na podstawie adresu IP i numeru portu przychodzących żądań.

Jak uzyskać statyczny adres IP dla load balancera w Kubernetes?

Statyczny adres IP modułu równoważenia obciążenia Kubernetes można uzyskać, zmieniając rekordy DNS, ponieważ Kubernetes Master może przypisać nowy statyczny adres IP.

Print Friendly, PDF & Email

Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.

Link do formularza tutaj: https://beitadmin.pl/pomysly

Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).

Dodaj komentarz

beitadmin.pl - Droga Administratora IT