Spis treści[Ukryć][Pokazać]
- 1. Co to jest Kubernetes?
- 2. Co rozumiesz przez kontener w Kubernetes?
- 3. Jakie są główne komponenty Kubernetes?
- 4. Co rozumiesz przez orkiestrację w kubernetes?
- 5. Czym dokładnie jest klaster Kubernetes?
- 6. W jaki sposób Kubernetes upraszcza wdrażanie w kontenerach?
- 7. Jakie są fundamentalne różnice między Kubernetes a Docker Swarm?
- 8. Czym jest przestrzeń nazw w Kubernetes?
- 9. Czym dokładnie jest główny komponent Kubernetes etcd?
- 10. Jakie są rozwiązania bezpieczeństwa API na Kubernetes?
- 11. Jakie są różnice między aplikacjami wdrożonymi na hostach i kontenerach?
- 12. Co właściwie rozumiesz przez Minikube?
- 13. Jak można monitorować klaster Kubernetes?
- 14. Jaką funkcję pełnią węzły Kubernetes?
- 15. Opisz szczegółowo hipstera.
- 16. Opisz działanie węzła głównego Kubernetes.
- 17. Co odróżnia pojemnik od kapsułki?
- 18. Co rozumiesz pod pojęciem load balancer w Kubernetes?
- 19. Jaką funkcję pełni serwer Kube-API?
- 20. Co oznaczają zestawy stanowe Kubernetesa?
- 21. Jak sprawdzasz centralne dzienniki kapsuły?
- 22. ClusterIP: Co to jest?
- 23. Opowiedz mi o kontrolerach replikacji?
- 24. Jak działa sieć Ingress i co to jest?
- 25. Prometeusz w Kubernetesie: po co to jest?
- 26. Czym jest usługa bezgłowa?
- 27. Czego potrzebuję do lokalnego uruchamiania architektury Kubernetes?
- 28. Co rozumiesz przez zbiór stanowy?
- 29. Co oznaczają stwory w Kubernetes?
- 30. Jakie funkcje pełnią usługi w ramach komponentów Kubernetes?
- 31. Czym dokładnie jest Helm?
- 32. Wyjaśnij PVC
- Wnioski
Firma Google pierwotnie stworzyła Kubernetes, technologię orkiestracji kontenerów typu open source, w 2014 r. Wdrażanie, skalowanie i administrowanie konteneryzowanymi aplikacjami miało być zautomatyzowane.
Z biegiem czasu Kubernetes stał się de facto standardem branżowym w zakresie orkiestracji kontenerów i jest szeroko stosowany przez firmy różnej wielkości do zarządzania obciążeniami w kontenerach.
Znaczenie Kubernetes we współczesnym świecie polega na jego zdolności do oferowania spójnej metody zarządzania aplikacjami kontenerowymi na dużą skalę, obejmującą różne klastry i środowiska chmurowe. Z tego powodu firmy mogą zarządzać, rozwijać i wdrożyć swoje aplikacje szybko i skutecznie.
Utrzymanie konteneryzowanych aplikacji jest dodatkowo ułatwione dzięki rozbudowanemu zestawowi funkcji Kubernetes, który obejmuje samonaprawianie, automatyczne skalowanie i stopniowe aktualizacje.
Ponieważ coraz więcej firm korzysta z konteneryzacji i mikrousług w celu przyspieszenia procedur tworzenia i wdrażania aplikacji, przewiduje się, że zakres Kubernetes będzie się rozszerzał w przyszłości.
Przyjęcie technologii natywnych dla chmury i ogólne przejście na systemy wielochmurowe i hybrydowe będą w dużym stopniu zależeć od Kubernetes. Ponieważ coraz więcej urządzeń jest podłączonych do Internetu, Kubernetes będzie również coraz częściej wykorzystywany w kontekście przetwarzanie krawędziowe i IoT.
Zakładam, że znasz już te szczegóły, ponieważ czytasz ten post na Kubernetes Interview Questions, który poinformuje Cię o najczęściej zadawanych pytaniach podczas rozmowy kwalifikacyjnej. Zaczynajmy.
1. Co to jest Kubernetes?
Kubernetes jest framework open source do orkiestracji aplikacji kontenerowych i administrowania nimi. Umożliwia spójne i efektywne wdrażanie, skalowanie i konserwację aplikacji kontenerowych.
Kubernetes oferuje pojedynczą metodę zarządzania aplikacjami kontenerowymi na dużą skalę i jest zbudowany do działania w różnych klastrach i środowiskach chmurowych.
Samonaprawianie, automatyczne skalowanie i stopniowe aktualizacje to tylko niektóre z funkcji, które jeszcze bardziej ułatwiają zarządzanie aplikacjami w kontenerach.
2. Co rozumiesz przez kontener w Kubernetes?
Kontenery to przenośne, lekkie i samowystarczalne podejście do pakowania i uruchamiania oprogramowania. Pakowanie i wdrażanie aplikacji odbywa się spójnie i skutecznie w Kubernetes przy użyciu kontenerów.
Aby odróżnić się od innych kontenerów i maszyny hosta, każdy kontener wykonuje tylko jeden proces. Zależności aplikacji, biblioteki i pliki konfiguracyjne są zawarte w obrazie kontenera, który służy jako definicja kontenera.
Zamierzona liczba replik kontenera zawsze działa dzięki wykorzystaniu orkiestracji kontenerów przez Kubernetes do zarządzania i skalowania kontenerów. Ułatwia to programistom zarządzanie i wdrażanie aplikacji w kilku klastrach i środowiskach chmurowych.
3. Jakie są główne komponenty Kubernetes?
Oto główne składniki kubeneters:
- Kubernetes master: Ten komponent, który obejmuje również menedżera kontrolerów i harmonogram, etcd (rozproszony magazyn klucz-wartość), serwer API i inne komponenty, odpowiada za zarządzanie klastrem jako całością.
- Węzły: są to stacje robocze, na których wykonywane są konteneryzowane programy. Kubelet, który współdziała z elementem głównym w celu utrzymania zamierzonego stanu klastra, jest wykonywany na każdym węźle wraz ze środowiskiem wykonawczym kontenera (takim jak Docker).
- Strąki: najmniejszym i najbardziej podstawowym elementem modelu obiektowego Kubernetes jest kapsuła, która służy jako host dla jednego lub większej liczby kontenerów.
- Usługi: Usługi oferują spójny punkt końcowy dla zasobników i umożliwiają równoważenie obciążenia oraz wykrywanie usług.
- Kontrolery replikacji: gwarantują, że wymagana liczba replik podów zawsze działa.
- Wpisy tajne i ConfigMaps: Te zasoby służą do przechowywania danych konfiguracyjnych i wpisów tajnych dla zasobników i innych obiektów klastra.
4. Co rozumiesz przez orkiestrację w kubernetes?
W Kubernetes termin „orkiestracja” odnosi się do zautomatyzowanej administracji i koordynacji kontenerów oraz zasobów, z którymi są one połączone. Obejmuje działania obejmujące tworzenie sieci, skalowalność, wdrażanie i samonaprawianie. Korzystając z obiektów, takich jak pody, usługi i kontrolery replikacji, Kubernetes koordynuje aplikacje.
Strąki, które mogą pomieścić jeden lub więcej pojemników, to najmniejsze jednostki, które można rozmieścić. Zarządzanie usługami równoważenie obciążenia i wykrywanie usług oraz zapewnić podom solidny punkt końcowy. Replika poda zawsze działa z wymaganą liczbą kopii dzięki kontrolerom replikacji.
5. Czym dokładnie jest klaster Kubernetes?
Zestaw węzłów obsługujących konteneryzowane aplikacje w różnych kontekstach i maszynach — w chmurze, fizycznych, wirtualnych i lokalnych — tworzy klaster Kubernetes. Ułatwia proste zarządzanie i migrację aplikacji, a także ich tworzenie.
6. W jaki sposób Kubernetes upraszcza wdrażanie w kontenerach?
Ponieważ typowa aplikacja działałaby w klastrze kontenerów na wielu hostach, wszystkie te kontenery musiałyby się ze sobą komunikować.
Aby to osiągnąć, wymagany jest system na dużą skalę, który może skalować, równoważyć obciążenie i monitorować kontenery. Musisz użyć Kubernetes, aby ułatwić wdrażanie w kontenerach, ponieważ jest ono niezależne od chmury i może działać na dowolnym publicznym lub prywatnym dostawcy.
7. Jakie są fundamentalne różnice między Kubernetes a Docker Swarm?
Planuj i grupuj kontenery Docker za pomocą Docker Swarm, natywnego narzędzia open-source do orkiestracji kontenerów firmy Docker. Następujące cechy odróżniają Swarm od Kubernetes:
- Podczas gdy zarówno Kubernetes, jak i Docker Swarm nie mają możliwości automatycznego skalowania, skalowanie Docker jest pięć razy szybsze niż Kubernetes.
- Kubernetes zapewnia GUI w postaci dashboardu, ale Docker Swarm go nie ma.
- W porównaniu do Kubernetes, który jest trudniejszy do skonfigurowania, ale daje gwarancję silnego klastra, Docker Swarm jest łatwiejszy w instalacji, ale nie ma stabilnego klastra.
- Podczas gdy Kubernetes zawiera wbudowane możliwości rejestrowania i monitorowania, Docker potrzebuje zewnętrznych narzędzi, takich jak stos ELK.
- Aktualizacje kroczące można wdrażać za pośrednictwem platformy Docker, ale automatyczne wycofywanie nie jest możliwe; Aktualizacje kroczące oraz automatyczne wycofywanie można wdrażać za pomocą Kubernetes.
8. Czym jest przestrzeń nazw w Kubernetes?
Przestrzeń nazw Kubernetes jest wykorzystywana w środowisku, w którym kilku użytkowników pracuje nad wieloma projektami na dużym obszarze geograficznym. Przestrzeń nazw dzieli zasoby klastra na kilku użytkowników.
9. Czym dokładnie jest główny komponent Kubernetes etcd?
Etcd jest kluczową częścią głównego serwera Kubernetes. Dodatkowo służy jako centrum klastra Kubernetes, w którym elementy są przechowywane w rozproszonym magazynie klucz-wartość.
Technologia replikacji jest używana w połączeniu z algorytmem do zachowania danych zapisanych w etcd między serwerami. Podczas porównywania i wymiany danych między serwerami etcd używana jest optymistyczna waluta, aby zminimalizować sytuacje blokowania i zwiększyć szybkość serwera.
10. Jakie są rozwiązania bezpieczeństwa API na Kubernetes?
Zapewnienie API Security może odbywać się w sposób podany poniżej:
- Za pomocą uwierzytelniania API
- Wybór odpowiedniego trybu uwierzytelniania dla trybu uwierzytelniania serwera API = Węzeł, RBAC
- Śledzenie błędów RBAC
- Upewnienie się, że protokół TLS jest używany do zabezpieczania ruchu
- Używając Authorization-mode=Webhook, aby upewnić się, że Kubeless chroni swoje API
- Eliminacja domyślnych uprawnień konta usługi
- Korzystanie z najnowszej wersji kube
- Upewnienie się, że pulpit nawigacyjny kube jest zgodny z rygorystycznymi zasadami RBAC
- Implementacja polityki bezpieczeństwa pod w celu ograniczenia dostępu do kontenera i zabezpieczenia węzła
11. Jakie są różnice między aplikacjami wdrożonymi na hostach i kontenerach?
System operacyjny i architektura składają się na wdrażane aplikacje. System operacyjny będzie miał jądro zawierające wiele bibliotek potrzebnych aplikacji.
Maszyna, na której działają kontenery procesów, jest nazywana hostem kontenera. Ponieważ ten typ oprogramowania różni się od innych programów, aplikacje muszą zawierać niezbędne biblioteki. Pliki binarne nie mogą naruszać praw żadnego innego oprogramowania, ponieważ są oddzielone od reszty systemu.
12. Co właściwie rozumiesz przez Minikube?
Dzięki Minikube Kubernetes można łatwo uruchomić lokalnie. Dzięki temu maszyna wirtualna może hostować klaster Kubernetes z jednym węzłem.
13. Jak można monitorować klaster Kubernetes?
Działanie i stan kontenerów działających pod Kubernetes można śledzić na różne sposoby. Prometeusz, jeden z najczęściej używanych instrumentów, składa się z kilku części, które zostały omówione w poniższych sekcjach.
- Serwer Prometheus zbiera i przechowuje dane szeregów czasowych.
- Zawiera biblioteki klienckie, które ułatwiają instrumentację kodu aplikacji.
- Posiada bramę push, która może obsługiwać tymczasowe zadania.
- Istnieją eksporterzy z wyspecjalizowanymi funkcjami dla różnych usług kontenerowych, takich jak StatsD, HAProxy, Graphite itp.
- Dodatkowo otrzymasz menedżera alertów do obsługi powiadomień na różnych systemach wsparcia.
14. Jaką funkcję pełnią węzły Kubernetes?
Do obsługi podów Node oferuje kluczowe funkcje. Nods, znane również jako stwory, mogą działać na dowolnym komputerze rzeczywistym lub wirtualnym, w zależności od klastra.
W Kubernetes węzeł jest głównym komputerem roboczym, podczas gdy komponenty główne nadzorują każdy węzeł z osobna.
15. Opisz szczegółowo hipstera.
Heapster łączy dane w całym klastrze generowanym przez Kubelet, który jest wykonywany w każdym węźle. To narzędzie do zarządzania kontenerami jest natywnie obsługiwane przez ten klaster Kubernetes i działa jako pod, tak jak każdy inny pod w klastrze.
Zasadniczo wymaga to zlokalizowania każdego węzła w klastrze i wykorzystania działającego na komputerze agenta Kubernetes do przeszukiwania danych z węzłów Kubernetes klastra.
16. Opisz działanie węzła głównego Kubernetes.
Węzeł główny podnosi węzły rządzące i kontrolujące węzłów roboczych. Jest to podobne do klastra Kubernetes. Węzły odpowiadają za zarządzanie klastrami oraz API służące do konfigurowania i zarządzania zasobami kolekcji. Ze względu na zalety dedykowanych zasobników główne węzły Kubernetes mogą działać równolegle z samym Kubernetes.
17. Co odróżnia pojemnik od kapsułki?
Jako jednostka replikacji Kubernetes wykorzystuje kapsułę, która jest grupą kontenerów. Kontenery to zbiór kodów, które powinien utworzyć pod dla aplikacji. W obrębie tego samego zasobnika kontenery mogą się ze sobą komunikować.
18. Co rozumiesz pod pojęciem load balancer w Kubernetes?
Jedną z najbardziej rozpowszechnionych i akceptowanych metod ekspozycji usług jest load balancer. W zależności od środowiska pracy system równoważenia obciążenia jest wewnętrznym lub zewnętrznym systemem równoważenia obciążenia.
Podczas gdy zewnętrzny moduł równoważenia obciążenia kieruje ruch z obciążenia zewnętrznego do zasobników zaplecza, wewnętrzny moduł równoważenia obciążenia automatycznie równoważy obciążenie i przypisuje zasobnikom niezbędną konfigurację.
19. Jaką funkcję pełni serwer Kube-API?
W przypadku obiektów API ten typ weryfikuje i oferuje informacje konfiguracyjne. Składa się z kontrolerów replikacji, usług i zasobników. Dodatkowo oferuje operacje REST oraz interfejs klastra. Wszystkie pozostałe komponenty komunikują się ze sobą za pośrednictwem tego wspólnego stanu klastra frontendowego.
20. Co oznaczają zestawy stanowe Kubernetesa?
Obiekt interfejsu API obciążeń nazywany zestawem stanowym służy do zarządzania aplikacjami stanowymi. Służy do skalowania zestawów podów i zarządzania wdrożeniami. W pamięci dyskowej, która łączy się z zestawem stanowym, zapisano i aktualizowano informacje o stanie i inne elastyczne dane zasobników stanowych.
21. Jak sprawdzasz centralne dzienniki kapsuły?
Do pobierania dzienników centralnych z zasobnika można użyć jednego z dwóch stylów rejestrowania.
- Użyj agenta rejestrowania na poziomie węzła.
- Kontener wózka bocznego w strumieniu
- Użyj agenta rejestrowania razem z kontenerem wózka bocznego.
- Bezpośrednio wyeksportuj logi z programu
22. ClusterIP: Co to jest?
Domyślna usługa Kubernetes, ClusterIP, oferuje wewnętrzną usługę klastra (bez dostępu z zewnątrz), do której inne aplikacje w klastrze mają dostęp.
23. Opowiedz mi o kontrolerach replikacji?
W przypadku wszystkich długo działających strąków kontrolery replikacji pełnią rolę nadzorców. Gwarantuje to, że wymagana liczba podów jest aktywna w dowolnym momencie i że każdy strąk lub grupa podów ma spójną strukturę.
Jeśli jest więcej strąków niż zamierzona liczba, nadwyżki strąków są przerywane. Ponadto kontroler natychmiast wymieni wszelkie wadliwe kapsułki.
24. Jak działa sieć Ingress i co to jest?
Użytkownicy mogą uzyskiwać dostęp do Twoich usług Kubernetes spoza klastra Kubernetes dzięki elementowi o nazwie Ingress. Ustanawiając reguły określające, które połączenia przychodzące docierają do określonych usług, użytkownicy mogą konfigurować dostęp.
Ten obiekt API oferuje reguły routingu potrzebne do kontrolowania sposobu, w jaki użytkownicy spoza klastra uzyskują dostęp do usług w klastrze Kubernetes za pośrednictwem protokołu HTTPS/HTTP. Dzięki temu użytkownicy mogą szybko i wydajnie budować reguły kierowania ruchu bez konieczności tworzenia kilku systemów równoważenia obciążenia lub udostępniania każdej usługi w węzłach.
25. Prometeusz w Kubernetesie: po co to jest?
Zestaw narzędzi typu open source o nazwie Prometheus służy do monitorowania i ostrzegania aplikacji w zależności od metryk. Oferuje schemat danych i język zapytań oraz jest w stanie dostarczać informacje o metrykach i działania. Umożliwia użycie języka do wielu celów instrumentalnych.
Oprócz Alertmanagera i Grafany, operator Prometheus oferuje proste monitorowanie wdrożeń i usługi K8s.
26. Czym jest usługa bezgłowa?
Usługa bezgłowa to taka, która wykorzystuje adres IP, ale podaje informacje o podłączonych zasobnikach zamiast równoważenia obciążenia.
27. Czego potrzebuję do lokalnego uruchamiania architektury Kubernetes?
W celu integracji Kubernetes przemodelowano kilka infrastruktur lokalnych. Aby zintegrować pamięć masową, serwery i sieć w spójny system, potrzebna jest specjalistyczna wiedza na wysokim poziomie.
Wybór odpowiedniego sprzętu sieciowego i pamięci masowej ma kluczowe znaczenie dla Kubernetes, ponieważ umożliwia interakcję z zasobami pamięci masowej, modułami równoważenia obciążenia itp. Automatyzacja komponentów sieciowych i pamięci masowej jest kluczowym elementem propozycji wartości Kubernetes.
28. Co rozumiesz przez zbiór stanowy?
Element interfejsu API obciążeń znany jako zestaw stanowy służy do zarządzania aplikacjami stanowymi. Może być również używany do skalowania zestawów zasobników i zarządzania wdrożeniami. Pamięć dyskowa, która jest połączona z zestawem stanowym, zawiera informacje o stanie i inne dane dla zasobników stanowych.
29. Co oznaczają stwory w Kubernetes?
W Kubernetes węzeł jest nazywany maszyną roboczą; wcześniej był znany jako stronnik. W oparciu o klaster może to być komputer wirtualny lub rzeczywista maszyna.
Każdy węzeł jest zarządzany przez główne komponenty Kubernetes i zawiera usługi potrzebne do obsługi zasobników. Środowisko uruchomieniowe kontenera, kubelet i serwer proxy Kube są zawarte w usługach oferowanych przez węzeł.
30. Jakie funkcje pełnią usługi w ramach komponentów Kubernetes?
Dzięki udostępnieniu wirtualnego adresu IP usługa służy jako abstrakcja dla podów. Wirtualny adres IP ułatwia połączenia użytkowników z kontenerami działającymi wewnątrz zasobników. Jest to komponent, który określa sposób ułożenia pojemników w strąkach.
31. Czym dokładnie jest Helm?
Obsługiwany przez CNF rejestr zarządzania pakietami aplikacji Helm jest dostępny dla Kubernetes. Wstępnie skonfigurowany Wykresy steru można pobrać i wdrożyć w systemie Kubernetes. Jednym z najpopularniejszych rozwiązań do zarządzania pakietami dla środowiska Kubernetes jest to. Zespoły DevOps mogą wdrażać aplikacje w środowiskach produkcyjnych i programistycznych, wersjonować je i śledzić ich postępy przy użyciu istniejących wykresów.
32. Wyjaśnij PVC
PVC jest akronimem wyrażenia „Persistent Volume Claim”. Jest to miejsce, o które Kubernetes poprosił dla podów. Znajomość podstawowego udostępniania przez użytkownika nie jest konieczna. Przestrzeń nazw, w której tworzony jest kapsuła i miejsce, w którym należy zgłosić to żądanie, powinna być zgodna.
Wnioski
Pytania i odpowiedzi do rozmowy kwalifikacyjnej Kubernetes są kompletne.
Bez wątpienia można dowiedzieć się więcej o Kubernetes, najnowocześniejszej technologii, która umożliwiła zarządzanie i uruchamianie tysięcy kontenerów, ale jest to solidny punkt wyjścia. Aby uzyskać pomoc w przygotowaniu do rozmowy kwalifikacyjnej, zob Seria wywiadów z haszdorkiem.
Dodaj komentarz