Kubernetes to platforma do zarządzania aplikacjami konteneryzowanymi. Korzysta z interfejsu API, który pozwala kontrolować i zarządzać wdrażaniem, skalowaniem i organizacją aplikacji kontenerowych. Kubernetes może być używany lokalnie lub w chmurze. Jest obecnie najpopularniejszą platformą do zarządzania aplikacjami konteneryzowanymi.
Jedną z cennych zalet platformy Kubernetes jest możliwość skalowania aplikacji. Kubernetes może automatycznie skalować aplikacje na podstawie wykorzystania procesora, wykorzystania pamięci lub innych czynników. Dzięki temu aplikacja jest zawsze dostępna i spełnia potrzeby użytkowników.
Kubernetes to zaawansowane narzędzie, które może pomóc w zarządzaniu kontenerami Docker i ich orkiestracji. Za pomocą platformy Kubernetes można utworzyć autonomiczne środowisko dla swoich aplikacji zawierające wszystko, co jest potrzebne do ich uruchomienia. Może ono składać się z aplikacji, zależności, bibliotek i plików konfiguracyjnych.
Kubernetes może również pomóc w skalowaniu aplikacji w górę lub w dół, zależnie do potrzeb, zapewniając zawsze dostęp do zasobów wymaganych do ich skutecznego działania. Ponadto Kubernetes zapewnia wiele funkcji ułatwiających zarządzanie kontenerami Docker, takich jak stopniowe aktualizacje i sprawdzanie stanu.
Platforma Kubernetes oferuje mnóstwo zasobów, usług i narzędzi do zarządzania aplikacjami. Poniżej przedstawiono najczęściej z nich używane.
Kubernetes ma zasób o nazwie „Przychodzące”, który jest używany dla różnych funkcji, w tym jako urządzenie równoważenia obciążenia. Równoważenie obciążenia przez ten zasób umożliwia dystrybucję ruchu do zbioru zasobników, eksponując je jako jedną usługę. Może to poprawić dostępność oraz wydajność aplikacji.
Urządzenie równoważenia obciążenia sprawdza nagłówki każdego otrzymanego żądania. Wybiera zasobnik na podstawie miejsca docelowego żądania i zdefiniowanych reguł. Następnie przekazuje żądanie do tego zasobnika.
Urządzenie równoważenia obciążenia obsługuje także sprawdzanie stanu zasobnika, pozwalające określić zestaw kryteriów, które muszą zostać spełnione, zanim urządzenie równoważenia obciążenia wyśle żądanie do zasobnika. Jeśli zasobnik nie spełni wymagań, urządzenie równoważenia obciążenia przestanie wysyłać do niego żądania.
Można także użyć urządzenia równoważenia obciążenia do kierowania ruchu na podstawie źródłowego adresu IP żądania. Może to być przydatne do ograniczania dostępu do aplikacji z określonych źródeł.
Sieć w platformie Kubernetes działa poprzez tworzenie zasobników i usług. Zasobnik to grupa składająca się z jednego lub więcej kontenerów, które zostały wdrożone razem i korzystają z tej samej przestrzeni nazwy sieci i adresu IP.
Kontenery w jednym zasobniku mogą się komunikować za pomocą hosta lokalnego.
Usługi służa do eksponowania jednego lub więcej zasobników na użytek świata zewnętrznego. Usługi są wdrażane jako urządzenia równoważenia obciążenia i mogą zapewniać równoważenie obciążenia ruchem między wieloma zasobnikami.
Harmonogram Kubernetes to kluczowa część systemu Kubernetes. Odpowiada za przydział zasobów do zasobników oraz zapewnienie ich pomyślnego działania.
Harmonogram przypisuje każdemu zasobnikowi priorytet i wyszukuje węzły z wystarczającą ilością zasobów dla danego zasobnika. Jeśli zasoby nie są dostępne, harmonogram może przypisać do węzła zasobniki o wyższym priorytecie. Podczas przydziału brane pod uwagę są również różne priorytety zasobników. Ogólnie rzecz biorąc, podczas przypisywania zasobników do węzła, używane są węzły z najniższym priorytetem w celu zminimalizowania zakłóceń i wstrzymywania. Jeśli brak jest węzłów z wystarczającą ilością zasobów, harmonogram będzie czekać, aż jeden z nich stanie się dostępny.
Harmonogram jest także odpowiedzialny za ponowne uruchamianie zasobników, które zawiodły. Jeśli zasobnik zawiedzie, harmonogram będzie kontynuował jego działanie w innym węźle. Dzięki temu zasobnik zawsze ma dostęp do zasobów, które są wymagane do jego pomyślnego uruchomienia.
Automatyczne skalowanie w platformie Kubernetes to doskonała funkcja umożliwiająca automatyczne skalowanie zasobników w górę lub w dół na podstawie wykorzystania procesora lub innych czynników. Automatyczne skalowanie może pomóc zachować optymalną liczbę zasobników w klastrze, zwiększając wydajność i stabilność aplikacji.
Platforma Kubernetes oferuje dwa typy automatycznego skalowania: poziome i pionowe.
Automatyczne skalowanie w poziomie umożliwia skalowanie zasobników w górę lub w dół poprzez dodawanie lub usuwanie węzłów do/z klastra. Pionowe automatyczne skalowanie skaluje zasobniki w górę lub w dół, zmieniając limit procesora lub pamięci poszczególnych zasobników.
Automatyczne skalowanie platformy Kubernetes opiera się dwóch rozwiązaniach: wyzwalaczach skalowania i założeniach systemowych skalowania. Motywacja skalowania to warunek, który wywołuje skalowanie zasobników w górę lub w dół przez system Kubernetes. Założenie systemowe skalowania to działanie, które Kubernetes wykonuje, gdy wystąpi wyzwalacz skalowania.
DNS to system nazw domen (domain name system). Jest on używany do tłumaczenia nazw domen czytelnych dla człowieka na liczbowe adresy IP używane przez komputery. Kubernetes używa DNS do zarządzania swoimi usługami. Każda usługa w platformie Kubernetes ma unikatową nazwę DNS. Gdy tworzona jest usługa, Kubernetes tworzy dla niej rekord DNS. Rekord DNS zawiera adres IP usługi i numer portu. Kubernetes używa tych informacji do kierowania ruchu do usługi.
Nazwa DNS usługi składa się z dwóch części:
Nazwa domeny to część nazwy DNS znana wszystkim usługom w tej domenie. Nazwa usługi jest częścią nazwy DNS unikatową dla każdej usługi.
Usługa Oracle Container Engine for Kubernetes pozwala przedsiębiorstwom korzystającym z platformy Kubernetes usprawniać procesy i ograniczać budżety na tworzenie natywnych aplikacji chmurowych. Jako część Oracle Cloud Infrastructure usługa Oracle Container Engine for Kubernetes oferuje zaawansowane funkcje bez żadnych dodatkowych kosztów. Zacznij korzystać z bezpłatnej wersji próbnej Oracle Cloud Infrastructure.