Kluczowe pojęcia dotyczące produktu Red Hat OpenShift Container Platform

Zapoznaj się z podstawowymi pojęciami dotyczącymi operatorów, kontenerów i Kubernetes , aby zrozumieć korzyści płynące z migracji aplikacji do chmury.

Więcej informacji na temat pracy z produktem Red Hat® OpenShift® Container Platformzawierają następujące tematy:

Operatory i zależności

Co to jest operator?
Operator jest zestawem zasobów własnych Kubernetes, które pakuje, wdraża i zarządza aplikacją Kubernetes , rozszerzając interfejs API Kubernetes .
Co to jest aplikacja Kubernetes ?
Aplikacja Kubernetes to aplikacja, która jest wdrażana na platformie Kubernetes i zarządzana za pomocą interfejsów API Kubernetes i narzędzi kubectl.
Jak działa operator?

Operator składa się z kilku części oprogramowania, które umożliwiają efektywne zarządzanie aplikacjami w systemie Kubernetes -kontrolera i jednej lub kilku niestandardowych definicji zasobów (CRD).

Kontroler to kod niestandardowy wdrożony w klastrze Kubernetes , który obserwuje zmiany w niestandardowych zasobach Kubernetes i reaguje na nie. Zasób niestandardowy jest rozszerzeniem interfejsu API Kubernetes i służy do udostępniania dodatkowych możliwości, które mogą nie być dostępne w domyślnej instalacji systemu Kubernetes . Umożliwia dostosowanie i modulację systemu Kubernetes.

Co to jest zależność?
Zależność jest wymaganiem wstępnym, które musi zostać spełnione, aby przetwarzanie mogło być kontynuowane. Oznacza to, że jeżeli jedna jednostka w systemie nie może w znaczący sposób funkcjonować bez innej jednostki, to jest to jednostka zależna. Na przykład aplikacja może być zależna od serwera, bazy danych lub innych usług, z którymi jest połączona. W przypadku migracji do chmury takie zależności aplikacji stanowią potencjalne ryzyko. Narzędzia do wykrywania udostępniają jasny obraz relacji między poszczególnymi aplikacjami i ich zależnościami, dzięki czemu można pomyślnie zmigrować wszystkie newralgiczne aplikacje i usługi do chmury.

Operator Lifecycle Manager (OLM)

Co to jest Operator Lifecycle Manager
Operator Lifecycle Manager (OLM) rozszerza możliwości systemu Kubernetes , umożliwiając użytkownikom instalowanie i aktualizowanie operatorów oraz ich zależności w klastrze oraz zarządzanie nimi.
Dlaczego należy używać programu Operator Lifecycle Manager?
  • Łatwiej można zarządzać aplikacjami, definiując aplikację jako pojedynczy zasób Kubernetes , z których każdy ma swoje wymagania i metadane. OLM wymaga tych metadanych, aby sprawdzić, czy operator może bezpiecznie działać w klastrze i zrozumieć, w jaki sposób należy zastosować aktualizacje.
  • Można zautomatyzować instalację aplikacji i rozwiązać problemy z zależnościami lub przeprowadzić instalację ręczną z użyciem tylko programu kubectl.
  • Istnieje możliwość zautomatyzowania aktualizacji aplikacji i zastosowania różnych strategii zatwierdzania dla każdej z nich.

Konteneryzacja, Kubernetesi Red Hat OpenShift Container Platform

Co to jest kontener?
Kontener jest wykonywalną jednostką oprogramowania, w której kod aplikacji jest spakowany razem z bibliotekami i zależnościami. Można go uruchamiać w dowolnym miejscu na komputerze desktop, w tradycyjnym środowisku informatycznym lub w chmurze. Kontenery wykorzystują wirtualizację systemu operacyjnego (OS), dzięki czemu wiele aplikacji współużytkuje system operacyjny, izolując procesy i kontrolując ilość zasobów procesora, pamięci i dysku, do których mogą uzyskać dostęp te procesy.
Co to jest konteneryzacja?
Konteneryzacja jest procesem pakowania kodu oprogramowania i wszystkich jego zależności, tak aby mógł działać spójnie na dowolnej infrastrukturze.
Korzyści z konteneryzacji

Konteneryzacja przynosi następujące korzyści programistom i zespołom programistycznym:

  • Przenośność: Kontener tworzy wykonywalny pakiet oprogramowania, który jest abstrahowany od systemu operacyjnego hosta (nie jest powiązany z nim ani od niego zależny), a zatem jest przenośny i może działać jednolicie i spójnie na dowolnej platformie lub chmurze.
  • Sprawność działania: Open Source Docker Engine for running containers uruchomił standard branżowy dla kontenerów z prostymi narzędziami programistycznymi i uniwersalnym podejściem do tworzenia pakietów, które działa zarówno w systemach operacyjnych Linux® , jak i Windows™ . Obecnie wielu użytkowników preferuje mechanizmy zarządzane przez OCI (Open Container Initiative). Programiści mogą nadal korzystać z narzędzi i procesów DevOps , które umożliwiają szybkie tworzenie i ulepszanie aplikacji.
  • Prędkość: Pojemniki są często określane jako "lekkie", co oznacza, że współużytkują jądro systemu operacyjnego (OS) komputera. Ta architektura zwiększa wydajność serwera, zmniejsza koszty serwera i licencjonowania oraz skraca czas inicjowania.
  • Izolacja błędów: każda aplikacja w kontenerze jest izolowana i działa niezależnie od innych aplikacji. Awaria jednego kontenera nie ma wpływu na dalsze działanie innych kontenerów. Zespoły programistyczne mogą identyfikować i eliminować wszelkie problemy techniczne w jednym kontenerze bez przestojów w innych kontenerach. Ponadto mechanizm kontenerowy może używać dowolnych technik izolowania zabezpieczeń systemu operacyjnego, takich jak kontrola dostępu SELinux, do izolowania błędów w kontenerach.
  • Wydajność: Oprogramowanie działające w środowiskach skonteneryzowanych współużytkuje jądro systemu operacyjnego maszyny, a warstwy aplikacji w kontenerze mogą być współużytkowane między kontenerami. Dlatego kontenery są z natury mniej pojemne niż maszyna wirtualna i wymagają mniej czasu uruchamiania, dzięki czemu znacznie więcej kontenerów może działać na tej samej mocy obliczeniowej co jedna maszyna wirtualna. Ta architektura zwiększa wydajność serwera i zmniejsza koszty serwera i licencjonowania.
  • Łatwość zarządzania: Platforma orkiestracji kontenerów automatyzuje instalację, skalowanie i zarządzanie kontenerowymi obciążeniami i usługami. Platformy orkiestracji kontenerów ułatwiają wykonywanie zadań związanych z zarządzaniem, takich jak skalowanie skonteneryzowanych aplikacji, wdrażanie nowych wersji aplikacji oraz monitorowanie, rejestrowanie i debugowanie. Kubernetes, być może najbardziej popularny system orkiestracji kontenerów, to technologia Open Source (początkowo udostępniana przez firmę Googlena podstawie ich wewnętrznego projektu o nazwie Borg), która automatyzuje pierwotnie funkcje kontenerów Linux . System Kubernetes współpracuje z wieloma mechanizmami kontenerowymi, takimi jak Docker, ale współpracuje również z dowolnym systemem kontenerowym, który jest zgodny ze standardami Open Container Initiative (OCI) dla formatów obrazów kontenerów i środowisk wykonawczych.
  • Bezpieczeństwo: izolacja aplikacji jako kontenerów z natury zapobiega inwazji złośliwego kodu na inne kontenery lub system hosta. Można również zdefiniować uprawnienia zabezpieczeń, aby automatycznie blokować niepożądanym komponentom dostęp do kontenerów lub ograniczać komunikację z niepotrzebnymi zasobami.

Więcej informacji na temat konteneryzacji zawiera sekcja Containerization Wyjaśnione.

Co to jest Kubernetes?
Kubernetes -znany również jako "k8s" lub "kube"-jest platformą orkiestracji kontenerów służącą do planowania i automatyzacji wdrażania, zarządzania i skalowania aplikacji kontenerowych.
Dlaczego warto korzystać z systemu Kubernetes?

Zespoły operacyjne muszą zaplanować i zautomatyzować wdrażanie, tworzenie sieci, skalowalność i dostępność coraz większej liczby kontenerów.

Programiści wybierają środowisko Kubernetes ze względu na jego szeroką funkcjonalność, rozległy i rozwijający się ekosystem narzędzi Open Source oraz wsparcie i przenośność wśród czołowych dostawców usług chmurowych (niektórzy z nich oferują obecnie w pełni zarządzane usługi Kubernetes ).

Co robi system Kubernetes ?

System Kubernetes planuje i automatyzuje następujące zadania:

  • Wdrożenie: umożliwia wdrożenie określonej liczby kontenerów na określonym hoście i zachowanie ich działania w pożądanym stanie.
  • Propagacja: propagacja jest zmianą wdrożenia. Korzystając z systemu Kubernetes, można inicjować, wstrzymywać, wznawiać lub wycofywać propagację.
  • Wykrywanie usług: Kubernetes może automatycznie ujawniać kontener w Internecie lub w innych kontenerach, używając nazwy DNS lub adresu IP.
  • Udostępnianie pamięci masowej: w razie potrzeby ustaw opcję Kubernetes , aby podłączyć trwałą lokalną lub chmurową pamięć masową dla kontenerów.
  • Równoważenie obciążenia i skalowanie: gdy ruch do kontenera gwałtownie wzrosty, system Kubernetes może zastosować równoważenie obciążenia i skalowanie w celu jego dystrybucji w sieci, aby zachować stabilność.
  • Samonaprawy w celu zapewnienia wysokiej dostępności: jeśli kontener ulegnie awarii, system Kubernetes może go zrestartować lub zastąpić automatycznie; może również ściągnąć kontenery, które nie spełniają wymagań kontroli poprawności.
Co to jest Red Hat Red Hat OpenShift Container Platform?

Red Hat OpenShift Container Platform to platforma do automatyzacji wdrażania aplikacji w kontenerach i zarządzania nimi. Podczas gdy produkt Red Hat OpenShift Container Platform używa systemu Kubernetes do harmonizowania kontenerów, system Kubernetes nie zarządza wymaganiami na poziomie platformy ani procesami wdrażania. Dlatego system Red Hat OpenShift Container Platform zwiększa możliwości systemu Kubernetes , udostępniając narzędzia i procesy do zarządzania platformami.

Więcej informacji na ten temat zawiera sekcja Red Hat OpenShift Container Platform.