Najlepsze pytania
Chronologia
Czat
Perspektywa

Kubernetes

oprogramowanie do zarządzanie klastrem kontenerów Z Wikipedii, wolnej encyklopedii

Kubernetes
Remove ads

Kubernetes (stylizowany na K8s[2]) – otwartoźródłowa[3] platforma do zarządzania, automatyzacji i skalowania aplikacji kontenerowych. Jego pierwotna wersja została stworzona w 2014 roku przez Google, a obecnie rozwijany jest przez Cloud Native Computing Foundation. Kubernetes działa z wieloma bibliotekami uruchomieniowymi dla kontenerów (ang. container runtime), takimi jak containerd, CRI-O, Docker Engine lub Mirantis Container Runtime[4]. Jest również wspierany przez większość chmur publicznych i dostarczany w usłudze PaaS oraz IaaS. Wielu dostawców oferuje także własne dystrybucje Kubernetes pod inną nazwą.

Szybkie fakty Autor, Pierwsze wydanie ...
Remove ads

Historia

Podsumowanie
Perspektywa
Thumb
Dyskusja na temat Google Kubernetes Engine podczas Google Cloud Summit

Pracę nad projektem Kubernetes (κυβερνήτης, gr. gubernator, kapitan) rozpoczęli trzej inżynierowie Google: Joe Beda, Brendan Burns i Craig McLuckie. Później dołączyli do nich inni pracownicy Google, w tym Brian Grant i Tim Hockin[5]. W połowie 2014 roku firma Google ogłosiła pierwsze wydanie platformy. Duży wpływ na rozwój projektu miał opracowany w Google system Borg[6][7]. Oryginalna nazwa kodowa Kubernetes w Google to Projekt Siedem z Dziewięciu (ang. Project Seven of Nine), co jest odniesieniem do fikcyjnej postaci z serialu Star Trek o tej samej nazwie, która jest „bardziej przyjaznym” Borgiem[8]. Siedem szprych na kole logo Kubernetes odnosi się właśnie do tego kryptonimu. Oryginalny projekt Borg został napisany w całości w języku C++, ale przepisany system Kubernetes jest zaimplementowany w Go.

Kubernetes v1.0 został wydany 21 lipca 2015 roku. W tym czasie przy współpracy z Linux Foundation powstała także organizacja Cloud Native Computing Foundation (CNCF)[9]. 6 marca 2018 roku projekt Kubernetes zajął dziewiąte miejsce w liczbie commitów na GitHub oraz drugie miejsce w liczbie kontrybutorów i otworzonych issues[10].

Remove ads

Obiekty Kubernetes

Podsumowanie
Perspektywa

Kubernetes udostępnia zestaw narzędzi, które zapewniają mechanizmy wdrażania, utrzymywania i skalowania aplikacji w oparciu o procesor, pamięć[11] lub niestandardowe parametry[12]. Kubernetes został zaprojektowany tak, aby był elastyczny w celu umożliwienia szerokiego wykorzystania. Ta elastyczność jest w dużej mierze zapewniana przez API Kubernetes, który jest wykorzystywany przez komponenty wewnętrzne, a także przez rozszerzenia i kontenery uruchomione przez Kubernetes[13]. Platforma kontroluje zasoby obliczeniowe i pamięciowe, definiując je jako obiekty, którymi następnie można zarządzać. Kluczowymi obiektami Kubernetes są:

Pody

W nomenklaturze projektu pod oznacza abstrakcję grupującą skonteneryzowane komponenty. Pod składa się z jednego lub kilku kontenerów znajdujących się na tym samym hoście, mogących współdzielić zasoby. Pod jest najmniejszą jednostką możliwą do uruchomienia w Kubernetes[14].

Usługi

Thumb
Uproszczony widok pokazujący, w jaki sposób Usługi współdziałają z siecią Pod w klastrze Kubernetes

Usługi (ang. services) Kubernetes to zestaw podów współpracujących ze sobą, tak jak jedna wielowarstwowa aplikacja. Zestaw podów stanowiących usługę jest definiowany przez selektor etykiet[13].

Wolumeny

Systemy plików w kontenerze Kubernetes domyślnie zapewniają efemeryczną pamięć masową. Oznacza to, że ponowne uruchomienie poda usuwa wszystkie dane z takich kontenerów, a zatem ta forma przechowywania jest dość ograniczająca. Wolumin (ang. volumes) Kubernetes zapewnia trwałe miejsce do przechowywania, które istnieje przez cały okres eksploatacji poda.

Przestrzenie nazw

Kubernetes udostępnia współdzielone zasoby przez udostępnienie na wyłączność przy pomocy przestrzeni nazw (ang. namespaces). Przestrzenie nazw są przeznaczone do użytku w środowiskach z wieloma użytkownikami w wielu zespołach lub projektach, a nawet w celu wydzielenia środowisk, takich jak deweloperskie, testowe i produkcyjne.

Sekrety

Częstym wyzwaniem dla twórców aplikacji jest decydowanie, gdzie przechowywać oraz jak zarządzać informacjami poufnymi, takimi jak hasła, tokeny OAuth i klucze SSH. Mechanizm dostarczony przez Kubernetes nazywa się „sekretami” (ang. secrets). Sekrety są bezpieczniejsze i bardziej elastyczne niż umieszczanie wrażliwych danych w definicji poda lub w obrazie kontenera.

Remove ads

Mikroserwisy

Kubernetes jest powszechnie używany jako sposób hostowania mikroserwisów, ponieważ wraz z ekosystemem powiązanych narzędzi zapewnia wszystkie możliwości niezbędne do budowania aplikacji zgodnie z architekturą mikroserwisów.

Zobacz też

Przypisy

Linki zewnętrzne

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads