Skip to content

Commit c342ef2

Browse files
authored
Merge pull request #38915 from mfilocha/pl-1.25a7
Synchronize Polish localization for ver 1.22, part 7
2 parents 69170a9 + 8e1a175 commit c342ef2

File tree

2 files changed

+165
-96
lines changed

2 files changed

+165
-96
lines changed
Lines changed: 165 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,168 @@
11
---
2-
title: "Przegląd"
32
weight: 20
4-
description: Ogólny zarys Kubernetesa i komponentów, z których jest zbudowany.
5-
sitemap:
6-
priority: 0.9
3+
description: >
4+
Kubernetes to przenośna, rozszerzalna platforma oprogramowania *open-source* służąca do zarządzania zadaniami i serwisami uruchamianymi w kontenerach. Umożliwia ich deklaratywną konfigurację i automatyzację. Kubernetes posiada duży i dynamicznie rozwijający się ekosystem. Szeroko dostępne są usługi, wsparcie i dodatkowe narzędzia.
5+
content_type: concept
6+
weight: 20
7+
card:
8+
name: concepts
9+
weight: 10
10+
no_list: true
711
---
12+
13+
<!-- overview -->
14+
Na tej stronie znajdziesz ogólne informacje o Kubernetesie.
15+
16+
17+
<!-- body -->
18+
19+
Kubernetes to przenośna, rozszerzalna platforma oprogramowania *open-source* służąca do zarządzania zadaniami i serwisami uruchamianymi w kontenerach,
20+
która umożliwia deklaratywną konfigurację i automatyzację. Ekosystem Kubernetesa jest duży i dynamicznie się rozwija.
21+
Usługi dla Kubernetesa, wsparcie i narzędzia są szeroko dostępne.
22+
23+
Nazwa Kubernetes pochodzi z języka greckiego i oznacza sternika albo pilota.
24+
Skrót K8s powstał poprzez zastąpienie ośmiu liter pomiędzy "K" i "s".
25+
Google otworzyło projekt Kubernetes publicznie w 2014. Kubernetes korzysta z
26+
[piętnastoletniego doświadczenia Google w uruchamianiu wielkoskalowych serwisów](/blog/2015/04/borg-predecessor-to-kubernetes/)
27+
i łączy je z najlepszymi pomysłami i praktykami wypracowanymi przez społeczność.
28+
29+
## Trochę historii
30+
31+
Aby zrozumieć, dlaczego Kubernetes stał się taki przydatny, cofnijmy sie trochę w czasie.
32+
33+
![Jak zmieniały sie metody wdrożeń](/images/docs/Container_Evolution.svg)
34+
35+
**Era wdrożeń tradycyjnych:**
36+
Na początku aplikacje uruchamiane były na fizycznych serwerach. Nie było możliwości separowania zasobów poszczególnych aplikacji,
37+
co prowadziło do problemów z alokacją zasobów.
38+
Przykładowo, kiedy wiele aplikacji jest uruchomionych na jednym fizycznym serwerze,
39+
część tych aplikacji może zużyć większość dostępnych zasobów, powodując spowolnienie działania innych.
40+
Rozwiązaniem tego problemu mogło być uruchamianie każdej aplikacji na osobnej maszynie.
41+
Niestety, takie podejście ograniczało skalowanie, ponieważ większość zasobów nie była w pełni wykorzystywana,
42+
a utrzymanie wielu fizycznych maszyn było kosztowne.
43+
44+
**Era wdrożeń w środowiskach wirtualnych:** Jako rozwiązanie zaproponowano wirtualizację, która umożliwia
45+
uruchamianie wielu maszyn wirtualnych (VM) na jednym procesorze fizycznego serwera. Wirtualizacja pozwala
46+
izolować aplikacje pomiędzy maszynami wirtualnymi, zwiększając w ten sposób bezpieczeństwo, jako że informacje
47+
związane z jedną aplikacją nie są w łatwy sposób dostępne dla pozostałych.
48+
49+
Wirtualizacja pozwala lepiej wykorzystywać zasoby fizycznego serwera i lepiej skalować,
50+
ponieważ aplikacje mogą być łatwo dodawane oraz aktualizowane, pozwala ograniczyć koszty sprzętu
51+
oraz ma wiele innych zalet.
52+
Za pomocą wirtualizacji można udostępnić wybrane zasoby fizyczne jako klaster maszyn wirtualnych "wielokrotnego użytku".
53+
54+
Każda maszyna wirtualna jest pełną maszyną zawierającą własny system operacyjny
55+
pracujący na zwirtualizowanej warstwie sprzętowej.
56+
57+
**Era wdrożeń w kontenerach:** Kontenery działają w sposób zbliżony do maszyn wirtualnych,
58+
ale mają mniejszy stopnień wzajemnej izolacji, współdzieląc ten sam system operacyjny.
59+
Kontenery określane są mianem "lekkich". Podobnie, jak maszyna wirtualna,
60+
kontener posiada własny system plików, udział w zasobach procesora, pamięć, przestrzeń procesów itd.
61+
Ponieważ kontenery są definiowane rozłącznie od leżących poniżej warstw infrastruktury,
62+
mogą być łatwiej przenoszone pomiędzy chmurami i różnymi dystrybucjami systemu operacyjnego.
63+
64+
Kontenery zyskały popularność ze względu na swoje zalety, takie jak:
65+
66+
* Szybkość i elastyczność w tworzeniu i instalacji aplikacji:
67+
obraz kontenera buduje się łatwiej niż obraz VM.
68+
* Ułatwienie ciągłego rozwoju, integracji oraz wdrażania aplikacji (*Continuous development, integration, and deployment*):
69+
obrazy kontenerów mogą być budowane w sposób wiarygodny i częsty.
70+
W razie potrzeby, przywrócenie poprzedniej wersji aplikacji jest stosunkowo łatwie (ponieważ obrazy są niezmienne).
71+
* Rozdzielenie zadań *Dev* i *Ops*: obrazy kontenerów powstają w fazie *build/release*,
72+
a nie w trakcie procesu instalacji,
73+
oddzielając w ten sposób aplikacje od infrastruktury.
74+
* Obserwowalność obejmuje nie tylko informacje i metryki z poziomu systemu operacyjnego,
75+
ale także poprawność działania samej aplikacji i inne sygnały.
76+
* Spójność środowiska na etapach rozwoju oprogramowania, testowania i działania w trybie produkcyjnym:
77+
działa w ten sam sposób na laptopie i w chmurze.
78+
* Możliwość przenoszenia pomiędzy systemami operacyjnymi i platformami chmurowymi: Ubuntu, RHEL, CoreOS,
79+
prywatnymi centrami danych, największymi dostawcami usług chmurowych czy gdziekolwiek indziej.
80+
* Zarządzanie, które w centrum uwagi ma aplikacje: Poziom abstrakcji przeniesiony jest z warstwy systemu operacyjnego
81+
działającego na maszynie wirtualnej na poziom działania aplikacji, która działa na systemie operacyjnym używając zasobów logicznych.
82+
* Luźno powiązane, rozproszone i elastyczne "swobodne" mikro serwisy: Aplikacje podzielone są na mniejsze, niezależne komponenty,
83+
które mogą być dynamicznie uruchamiane i zarządzane -
84+
nie jest to monolityczny system działający na jednej, dużej maszynie dedykowanej na wyłączność.
85+
* Izolacja zasobów: wydajność aplikacji możliwa do przewidzenia
86+
* Wykorzystanie zasobów: wysoka wydajność i upakowanie.
87+
88+
## Do czego potrzebujesz Kubernetesa i jakie są jego możliwości {#why-you-need-kubernetes-and-what-can-it-do}
89+
90+
Kontenery są dobrą metodą na opakowywanie i uruchamianie aplikacji.
91+
W środowisku produkcyjnym musisz zarządzać kontenerami, w których działają aplikacje i pilnować, aby nie było żadnych przerw w ich dostępności.
92+
Przykładowo, kiedy jeden z kontenerów przestaje działać, musi zostać wymieniony.
93+
Nie byłoby prościej, aby takimi działaniami zajmował się jakiś system?
94+
95+
I tu właśnie przychodzi z pomocą Kubernetes!
96+
Kubernetes zapewnia środowisko do uruchamiania systemów rozproszonych o wysokiej niezawodności.
97+
Kubernetes obsługuje skalowanie aplikacji, przełączanie w sytuacjach awaryjnych, różne scenariusze wdrożeń itp.
98+
Przykładowo, Kubernetes w łatwy sposób może zarządzać wdrożeniem nowej wersji oprogramowania zgodnie z metodyką *canary deployments*.
99+
100+
Kubernetes zapewnia:
101+
102+
* **Detekcję nowych serwisów i balansowanie ruchu**
103+
Kubernetes może udostępnić kontener używając nazwy DNS lub swojego własnego adresu IP.
104+
Jeśli ruch przychodzący do kontenera jest duży, Kubernetes może balansować obciążenie i przekierować ruch sieciowy,
105+
aby zapewnić stabilność całej instalacji.
106+
* **Zarządzanie obsługą składowania danych**
107+
Kubernetes umożliwia automatyczne montowanie systemów składowania danych dowolnego typu —
108+
lokalnych, od dostawców chmurowych i innych.
109+
* **Automatyczne wdrożenia i wycofywanie zmian**
110+
Możesz opisać oczekiwany stan instalacji za pomocą Kubernetesa,
111+
który zajmie się doprowadzeniem w sposób kontrolowany stanu faktycznego do stanu oczekiwanego.
112+
Przykładowo, przy pomocy Kubernetesa możesz zautomatyzować proces tworzenia nowych kontenerów
113+
na potrzeby swojego wdrożenia, usuwania istniejących i przejęcia zasobów przez nowe kontenery.
114+
* **Automatyczne zarządzanie dostępnymi zasobami**
115+
Twoim zadaniem jest dostarczenie klastra maszyn, które Kubernetes może wykorzystać do uruchamiania zadań w kontenerach.
116+
Określasz zapotrzebowanie na moc procesora i pamięć RAM dla każdego z kontenerów.
117+
Kubernetes rozmieszcza kontenery na maszynach w taki sposób, aby jak najlepiej wykorzystać dostarczone zasoby.
118+
* **Samoczynne naprawianie**
119+
Kubernetes restartuje kontenery, które przestały działać, wymienia je na nowe, wymusza wyłączenie kontenerów,
120+
które nie odpowiadają na określone zapytania o stan
121+
i nie rozgłasza powiadomień o ich dostępności tak długo, dopóki nie są gotowe do działania.
122+
* **Zarządzanie informacjami poufnymi i konfiguracją**
123+
Kubernetes pozwala składować i zarządzać informacjami poufnymi, takimi jak hasła, tokeny OAuth czy klucze SSH.
124+
Informacje poufne i zawierające konfigurację aplikacji mogą być dostarczane i zmieniane bez konieczności ponownego budowania obrazu kontenerów
125+
i bez ujawniania poufnych danych w ogólnej konfiguracji oprogramowania.
126+
127+
## Czym Kubernetes nie jest
128+
129+
Kubernetes nie jest tradycyjnym, zawierającym wszystko systemem PaaS *(Platform as a Service)*.
130+
Ponieważ Kubernetes działa w warstwie kontenerów, a nie sprzętu, posiada różne funkcjonalności ogólnego zastosowania,
131+
wspólne dla innych rozwiązań PaaS, takie jak: instalacje *(deployments)*, skalowanie i balansowanie ruchu,
132+
umożliwiając użytkownikom integrację rozwiązań służących do logowania, monitoringu i ostrzegania.
133+
Co ważne, Kubernetes nie jest monolitem i domyślnie dostępne rozwiązania są opcjonalne i działają jako wtyczki.
134+
Kubernetes dostarcza elementy, z których może być zbudowana platforma deweloperska,
135+
ale pozostawia użytkownikowi wybór i elastyczność tam, gdzie jest to ważne.
136+
137+
Kubernetes:
138+
139+
* Nie ogranicza typów aplikacji, które są obsługiwane. Celem Kubernetesa jest możliwość obsługi bardzo różnorodnego typu zadań,
140+
włączając w to aplikacje bezstanowe (*stateless*), aplikacje ze stanem (*stateful*) i ogólne przetwarzanie danych.
141+
Jeśli jakaś aplikacja może działać w kontenerze, będzie doskonale sobie radzić w środowisku Kubernetesa.
142+
* Nie oferuje wdrażania aplikacji wprost z kodu źródłowego i nie buduje aplikacji.
143+
Procesy Continuous Integration, Delivery, and Deployment (CI/CD) są zależne od kultury pracy organizacji,
144+
jej preferencji oraz wymagań technicznych.
145+
* Nie dostarcza serwisów z warstwy aplikacyjnej, takich jak warstwy pośrednie *middleware* (np. broker wiadomości),
146+
środowiska analizy danych (np. Spark), bazy danych (np. MySQL),
147+
cache ani klastrowych systemów składowania danych (np. Ceph) jako usług wbudowanych.
148+
Te składniki mogą być uruchamiane na klastrze Kubernetes i udostępniane innym aplikacjom przez przenośne rozwiązania,
149+
takie jak [Open Service Broker](https://openservicebrokerapi.org/).
150+
* Nie wymusza użycia konkretnych systemów zbierania logów, monitorowania ani ostrzegania.
151+
Niektóre z tych rozwiązań są udostępnione jako przykłady. Dostępne są też mechanizmy do gromadzenia i eksportowania różnych metryk.
152+
* Nie dostarcza, ani nie wymusza języka/systemu używanego do konfiguracji (np. Jsonnet).
153+
Udostępnia API typu deklaratywnego, z którego można korzystać za pomocą różnych metod wykorzystujących deklaratywne specyfikacje.
154+
* Nie zapewnia, ani nie wykorzystuje żadnego ogólnego systemu do zarządzania konfiguracją,
155+
utrzymaniem i samo-naprawianiem maszyn.
156+
* Co więcej, nie jest zwykłym systemem planowania *(orchestration)*. W rzeczywistości, eliminuje konieczność orkiestracji.
157+
Zgodnie z definicją techniczną, orkiestracja to wykonywanie określonego ciągu zadań: najpierw A, potem B i następnie C. Dla kontrastu,
158+
Kubernetes składa się z wielu niezależnych, możliwych do złożenia procesów sterujących,
159+
których zadaniem jest doprowadzenie stanu faktycznego do stanu oczekiwanego. Nie ma znaczenia, w jaki sposób przechodzi się od A do C.
160+
Nie ma konieczności scentralizowanego zarządzania. Dzięki temu otrzymujemy system, który jest potężniejszy,
161+
bardziej odporny i niezawodny i dający więcej możliwości rozbudowy.
162+
163+
## {{% heading "whatsnext" %}}
164+
165+
* Poczytaj o [komponentach Kubernetesa](/pl/docs/concepts/overview/components/)
166+
* Poczytaj o [API Kubernetesa](/docs/concepts/overview/kubernetes-api/)
167+
* Poczytaj o [architekturze klastra](/docs/concepts/architecture/)
168+
* Jesteś gotowy [zacząć pracę](/pl/docs/setup/)?

0 commit comments

Comments
 (0)