Ściągawka Kubernetes: architektura, komponenty, arkusz poleceń

Opublikowany: 2020-12-15

Kubernetes stał się istotną częścią przemysłu i zmienia świat technologii. Janet Kuo, współprzewodnicząca KubeCon, omówiła funkcje Kubernetes i ich znaczenie w nadchodzącym czasie. Opowiada o rozszerzeniach Kubernetes i rozwiązaniach, które zmienią świat .

Ta ściągawka zapewni odniesienie do profesjonalistów pracujących przy wdrażaniu Kubernetes. Zawiera wszystkie niezbędne szczegóły, aby pomóc początkującym użytkownikom Kubernetes. Ściągawka Kubernetes jest szybkim i wygodnym środkiem przekazu do wszystkich podstawowych pojęć i poleceń Kubernetes.

Spis treści

O Kubernetes

Platforma typu open source do automatycznego wdrażania i skalowania kontenerów w klastrach hostów w celu zapewnienia infrastruktury zorientowanej na kontenery jest znana jako Kubernetes (znana również jako „Kube” lub k8s). Umożliwia łatwe i wydajne zarządzanie różnymi hostami, na których działają kontenery Linux, poprzez ich klastrowanie.

Kubernetes to platforma zaprojektowana do pełnego zarządzania cyklem życia aplikacji i usług kontenerowych. Użytkownik Kubernetes może zdefiniować sposób, w jaki aplikacja powinna działać i współdziałać z różnymi aplikacjami.

Użytkownicy mogą przełączać ruch między różnymi wersjami aplikacji, przeprowadzać aktualizacje, skalować usługi w górę iw dół itp. dzięki Kubernetes. Oferuje użytkownikom wysoki stopień elastyczności, niezawodności i mocy w zarządzaniu aplikacjami.

Niektóre z głównych funkcji Kubernetes to:

  • Maksymalizuj zasoby, lepiej wykorzystując sprzęt.
  • Koordynator kontenerów na wielu hostach.
  • Zautomatyzuj proces wdrażania i aktualizacje.
  • Potrafi uruchomić kontener Linuksa.
  • Automatyczne skalowanie pomaga w uruchamianiu kontenerów na węzłach klastra.
  • Skalowanie w górę i w dół zgodnie z wymaganiami.
  • Samoleczenie poprzez wymianę, zmianę harmonogramu i ponowne uruchomienie martwych pojemników.
  • Zautomatyzowane wycofywanie i wdrażanie.
  • Równoważenie obciążenia i wykrywanie usług.
  • Automatyczne ponowne uruchamianie, automatyczne umieszczanie i automatyczna replikacja itp.

Przeczytaj: Algorytm głębokiego uczenia

Architektura Kubernetes

Architektura Kubernetes składa się z warstw: warstwy wyższej i niższej. Złożoność abstrahowania warstwy wyższej można znaleźć w warstwach niższych. Poszczególne maszyny fizyczne lub wirtualne są łączone w klaster. Do komunikacji między każdym serwerem używana jest wspólna sieć. Tak więc, podobnie jak inne platformy rozproszone, Kubernetes ma jeden (przynajmniej) master i wiele węzłów obliczeniowych.

  • Mistrz Kubernetes planuje wdrożenia, udostępnia interfejs API i zarządza całym klastrem Kubernetes.
  • Węzeł uruchamia środowisko wykonawcze kontenera, agenta do komunikacji z urządzeniem głównym oraz inne komponenty monitorowania, rejestrowania itp.

Komponenty architektury Kubernetes

Przyjrzyjmy się celowi i komponentom mastera i węzłów w architekturze Kubernetes.

Mistrz

Master utrzymuje żądany stan klastra. Ponieważ zarządza całym klastrem, nazywa się go master. Zawiera:

  • Serwer API: Serwer API Kubernetes
  • Harmonogram: używany do planowania pod w węzłach roboczych
  • Kontroler: zarządza replikacją pod
  • Itd: usługa metadanych

Węzły

Zawiera niezbędne usługi, które są ważne dla prowadzenia kapsuł. Master zarządza węzłami. Jest również nazywany Minionem. Zawiera:

  • Pod: Grupa kontenerów
  • Docker: Technologia oparta na kontenerach, przestrzeń użytkownika systemu operacyjnego.
  • Kubelet: agenci kontenera odpowiedzialni za utrzymanie zestawu podów.
  • Kube-proxy: kieruje ruch przychodzący do węzła z usługi

Teraz zrozummy ważne polecenia Kubernetes.

Polecenia Kubectl

Kubectl to narzędzie wiersza poleceń dla Kubernetes. Podstawowe polecenia Kubectl można podzielić na:

  • Introspekcja kapsuł i kontenerów
  • Introspekcja klastra
  • Debugowanie
  • Szybkie polecenia
  • Obiekty

Introspekcja kapsułek i pojemników

Funkcjonalność Komenda
Do opisywania nazw pod Kubectl opisuje pod<nazwa>
Aby wyświetlić wszystkie aktualne pody Kubectl zdobądź strąki
Aby wyświetlić listę wszystkich kontrolerów replikacji Kubectl uzyskać rc
Do wyświetlania nazwy kontrolera replikacji Kubectl opisuje rc <nazwa>
Aby wyświetlić listę kontrolerów replikacji w przestrzeni nazw Kubectl get rc –namespace=”przestrzeń nazw”
Za wyświetlanie nazwy usługi Kubectl opisuje svc<nazwa>
Usługi wystawiania ofert Kubectl zdobądź cvc
Do ciągłego obserwowania węzłów. Kubectl pobierz węzły -w
Aby usunąć pod Kubectl usuń pod<nazwa>

Introspekcja klastra

Funkcjonalność Komenda
Aby uzyskać informacje związane z wersją Wersja Kubectl
Aby uzyskać szczegóły konfiguracji Widok konfiguracji Kubectl
Aby uzyskać informacje dotyczące klastra Informacje o klastrze Kubectl
Aby uzyskać informacje o węźle Kubectl opisuje węzeł<węzeł>

Polecenia debugowania

Funkcjonalność Komenda
Do wyświetlania metryk dla pod Top pod Kubectl
Do wyświetlania metryk dla węzła Górny węzeł Kubectl
Do oglądania dzienników Kubelet Obejrzyj -n 2 cat/var/log/kublet.log
Do pobierania logów z usługi dla kontenera Dzienniki Kubectl -f<nazwa>>[-c< $container>]
Do wykonania polecenia w serwisie poprzez wybranie kontenera Kubectl exec<usługa><polecenia>[-c< $kontener>]

Szybkie polecenia

Poniższe szybkie polecenia są często używane i dlatego są bardzo przydatne.

Funkcjonalność Komenda
Do uruchomienia kapsuły z nazwą i obrazem. Kubectl run<nazwa> — image=<nazwa-obrazu>
Do tworzenia usługi opisanej w <manifest.yaml> Kubectl create -f <manifest.yaml>
Do skalowania licznika replikacji w celu zliczenia liczby wystąpień. Skala Kubectl –replicas=<liczba>rc<nazwa>
Do mapowania portu zewnętrznego na wewnętrzny port replikacji. Expose rc<nazwa> –port=<zewnętrzny>–target-port=<wewnętrzny>
Do zatrzymywania wszystkich strąków w <n> Kubectl Drain<n>– usuń-dane-lokalne–wymuszaj–ignore-demonset
Do tworzenia przestrzeni nazw. Kubectl utwórz przestrzeń nazw <przestrzeń nazw>
Za umożliwienie węzłowi głównemu uruchamiania podów. Kubectltaintnodes –all-node-role.kuernetes.io/master-

Obiekty

Oto niektóre ze znanych obiektów używanych w Kubernetes:

Lista wspólnych obiektów
Wszystko Wersje kontrolera
cm= mapa konf. Powiązania ról klastra
Cronjobs cs=stany komponentów
Wdrożenie=wdrożenia limity=limit zakresów
ev= wydarzenia hpa= poziome autoskalowanie pod
Oferty pracy ds= zestawy demonów
Nie = węzły ns= przestrzenie nazw
po= strąki Wstępne ustawienia pod
Zasady bezpieczeństwa Psp= pod Pv= tomy trwałe
limit = limity zasobów rs= zestawy replik
role rc= kontrolery replikacji
sc= klasy pamięci pdb= budżety dystrybucji pod
Clusterroles tajniki
crd=niestandardowa definicja zasobu Szablony podów
csr= żądania podpisania certyfikatu sa= konta usług
Netpol- polityki sieciowe Powiązania ról
ing= wejście pcv = trwałe roszczenia dotyczące woluminów
ep=punkty końcowe sts= zestawy stanowe

Przeczytaj także: Regularyzacja w głębokim uczeniu

Ściągawka z polecenia Kubernetes

Wszystkie podstawowe informacje o Kubernetes, jego architekturze i poleceniach są pokazane w poniższej ściągawce Kubernetes:

Jeśli chcesz dowiedzieć się więcej o technikach głębokiego uczenia się, uczeniu maszynowym, sprawdź dyplom PG IIIT-B i upGrad w uczeniu maszynowym i sztucznej inteligencji, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 450 godzin rygorystycznego szkolenia, ponad 30 studiów przypadków i zadania, status absolwentów IIIT-B, ponad 5 praktycznych praktycznych projektów zwieńczenia i pomoc w pracy z najlepszymi firmami.

Co to jest Kubernetes?

Kubernetes to platforma typu open source do automatyzacji wdrażania, skalowania i zarządzania kontenerami. Kontener to gotowy do uruchomienia pakiet oprogramowania, który zawiera wszystko, co jest wymagane do uruchomienia aplikacji: kod, środowisko uruchomieniowe, aplikacje i biblioteki systemowe. Kontenery są jak logiczne jednostki aplikacji, a gdy Kubernetes je grupuje, łatwo jest nimi zarządzać i odkrywać kontenery. Te kontenery są wdrażane i skalowane na hostach, aby zapewnić infrastrukturę zorientowaną na kontenery. Krótko mówiąc, jest to platforma, która zarządza całym cyklem życia aplikacji kontenerowych.

Jakie są główne elementy architektury Kubernetes?

W architekturze Kubernetes istnieją dwa główne komponenty — węzeł główny i węzeł roboczy. Węzeł to główna maszyna robocza, która jest ważna przy uruchamianiu grupy klastrów zwanych podami. Całym klastrem zarządza węzeł nadrzędny, natomiast węzeł roboczy wykonuje zadania przydzielone przez węzeł nadrzędny. Węzły te mają w sobie wiele wbudowanych komponentów. Węzeł główny zawiera Kubernetes API Server, Kubernetes Scheduler, Kubernetes Controller i itp. Węzeł roboczy zawiera pod, docker, kubelet i kube-proxy.

Co robią kubelet i kube-proxy?

Kubelet, który jest obecny w każdym węźle, zapewnia dobre działanie kontenerów w pod. Robi to, biorąc zestaw PodSpecs dostarczonych głównie przez apiserver i sprawdzając kontenery obecne w tych PodSpecsach. PodSpec to obiekt YAML lub JSON, który opisuje pod. Kubernetes Network Proxy, znany również jako kube-proxy, utrzymuje reguły sieciowe na węzłach. Komunikacja z sesji sieciowych w klastrze lub poza klastrem do zasobników jest możliwa dzięki tym regułom sieciowym. Kube-proxy przekazuje ruch, jeśli warstwa filtrowania pakietów systemu operacyjnego jest niedostępna.