Skip to content

Commit 77ed502

Browse files
committed
[pl] docs/concepts/architecture/_index.md
1 parent b0636fc commit 77ed502

File tree

1 file changed

+217
-0
lines changed
  • content/pl/docs/concepts/architecture

1 file changed

+217
-0
lines changed
Lines changed: 217 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,217 @@
1+
---
2+
title: "Architektura klastra"
3+
weight: 30
4+
description: >
5+
Podstawowe założenia architektury Kubernetesa.
6+
---
7+
8+
Klaster Kubernetesa składa się z warstwy sterowania oraz zestawu maszyn roboczych, zwanych węzłami, które
9+
uruchamiają konteneryzowane aplikacje. Każdy klaster potrzebuje co najmniej jednego węzła roboczego, aby obsługiwać Pody.
10+
11+
Węzeł roboczy hostuje Pody, które są komponentami _workload_ aplikacji. Warstwa
12+
sterowania zarządza węzłami roboczymi oraz Podami w klastrze. W środowiskach
13+
produkcyjnych, warstwa sterowania zazwyczaj działa na wielu komputerach, a klaster
14+
zazwyczaj działa na wielu węzłach, zapewniając odporność na awarie i wysoką dostępność.
15+
16+
Ten dokument opisuje różne komponenty, które musisz posiadać, aby mieć kompletny i działający klaster Kubernetesa.
17+
18+
{{< figure src="/images/docs/kubernetes-cluster-architecture.svg" alt="Warstwa sterowania (kube-apiserver, etcd, kube-controller-manager, kube-scheduler) oraz kilka węzłów. Każdy węzeł uruchamia kubelet i kube-proxy." caption="Rysunek 1. Komponenty klastra Kubernetesa." class="diagram-large" >}}
19+
20+
{{< details summary="About this architecture" >}}
21+
Diagram na Rysunku 1 przedstawia przykładową referencyjną architekturę klastra Kubernetesa.
22+
Rzeczywisty rozkład komponentów może różnić się w zależności od specyficznych konfiguracji klastra i wymagań.
23+
24+
Na schemacie każdy węzeł uruchamia komponent [`kube-proxy`](#kube-proxy).
25+
Potrzebujesz komponentu sieciowego proxy na każdym węźle, aby
26+
zapewnić, że API {{< glossary_tooltip text="Service" term_id="service">}} i
27+
związane z nim zachowania są dostępne w sieci klastra. Niektóre wtyczki
28+
sieciowe jednak dostarczają własne, zewnętrzne implementacje proxy. Kiedy
29+
korzystasz z tego rodzaju wtyczki sieciowej, węzeł nie musi uruchamiać `kube-proxy`.
30+
{{< /details >}}
31+
32+
## Komponenty warstwy sterowania {#control-plane-components}
33+
34+
Komponenty warstwy sterowania podejmują globalne decyzje dotyczące klastra (na
35+
przykład harmonogramowanie), a także wykrywają i reagują na zdarzenia klastra (na
36+
przykład uruchamianie nowego {{< glossary_tooltip text="poda" term_id="pod">}} gdy nie
37+
zgadza się liczba `{{< glossary_tooltip text="replik" term_id="replica">}}` Deploymentu.
38+
39+
Elementy warstwy sterowania mogą być uruchamiane na dowolnej maszynie w klastrze. Jednakże, dla uproszczenia, skrypty
40+
instalacyjne zazwyczaj uruchamiają wszystkie elementy warstwy sterowania na tej samej maszynie i nie uruchamiają kontenerów
41+
użytkownika na tej maszynie. Zobacz [Tworzenie klastrów o wysokiej dostępności za pomocą kubeadm](/docs/setup/production-environment/tools/kubeadm/high-availability/)
42+
dla przykładowej konfiguracji warstwy sterowania, która działa na wielu maszynach.
43+
44+
### kube-apiserver {#kube-apiserver}
45+
46+
{{< glossary_definition term_id="kube-apiserver" length="all" >}}
47+
48+
### etcd {#etcd}
49+
50+
{{< glossary_definition term_id="etcd" length="all" >}}
51+
52+
### kube-scheduler {#kube-scheduler}
53+
54+
{{< glossary_definition term_id="kube-scheduler" length="all" >}}
55+
56+
### kube-controller-manager {#kube-controller-manager}
57+
58+
{{< glossary_definition term_id="kube-controller-manager" length="all" >}}
59+
60+
Istnieje wiele różnych typów kontrolerów. Niektóre z nich to:
61+
62+
- Kontroler węzłów (ang. Node controller): Odpowiada za zauważanie i reagowanie, gdy węzły przestają działać.
63+
- Kontroler zadania (ang. Job controller): Monitoruje obiekty zadania (Job), które reprezentują jednorazowe zadania, a następnie tworzy Pody, aby wykonały te zadania do końca.
64+
- Kontroler EndpointSlice: Uzupełnia obiekty EndpointSlice (aby zapewnić połączenie między Services a Pods).
65+
- Kontroler ServiceAccount: Tworzenie domyślnych obiektów ServiceAccount dla nowych przestrzeni nazw.
66+
67+
Powyższa lista nie jest wyczerpującą.
68+
69+
### cloud-controller-manager {#cloud-controller-manager}
70+
71+
{{< glossary_definition term_id="cloud-controller-manager" length="short" >}}
72+
73+
Manager 'cloud-controller' uruchamia tylko kontrolery specyficzne dla dostawcy
74+
chmury. Jeśli uruchamiasz Kubernetesa w swojej siedzibie lub w środowisku do
75+
nauki na swoim komputerze osobistym, klaster nie posiada managera 'cloud-controller'.
76+
77+
Podobnie jak kube-controller-manager, cloud-controller-manager łączy kilka logicznie niezależnych
78+
pętli kontrolnych w jedną binarkę, którą uruchamiasz jako pojedynczy proces. Możesz go skalować
79+
horyzontalnie (uruchamiając więcej niż jedną kopię), aby poprawić wydajność lub pomóc w tolerowaniu awarii.
80+
81+
Następujące kontrolery mogą mieć zależności od dostawcy chmury:
82+
83+
- Kontroler węzłów (ang. Node controller): Do sprawdzania dostawcy chmury w
84+
celu ustalenia, czy węzeł został usunięty w chmurze po tym, jak przestaje odpowiadać.
85+
- Kontroler tras (ang. Route controller): Do konfiguracji tras w podstawowej infrastrukturze chmurowej.
86+
- Kontroler usługi (ang. Service controller): Do tworzenia, aktualizowania i usuwania load balancerów dostawcy chmury.
87+
88+
---
89+
90+
## Komponenty węzła {#node-components}
91+
92+
Komponenty węzła działają na każdym węźle, utrzymując działające pody i zapewniając środowisko wykonawcze Kubernetesa.
93+
94+
### kubelet {#kubelet}
95+
96+
{{< glossary_definition term_id="kubelet" length="all" >}}
97+
98+
### `kube-proxy` (opcjonalne) {#kube-proxy}
99+
100+
{{< glossary_definition term_id="kube-proxy" length="all" >}} Jeśli
101+
używasz [wtyczki sieciowej](#network-plugins), która samodzielnie
102+
implementuje przekazywanie pakietów dla Usług i zapewnia równoważne działanie
103+
do kube-proxy, to nie musisz uruchamiać kube-proxy na węzłach w swoim klastrze.
104+
105+
### Środowisko uruchomieniowe kontenera {#container-runtime}
106+
107+
{{< glossary_definition term_id="container-runtime" length="all" >}}
108+
109+
## Dodatki {#addons}
110+
111+
Dodatki (ang. Addons) wykorzystują zasoby Kubernetesa
112+
({{< glossary_tooltip term_id="daemonset" >}}, {{< glossary_tooltip term_id="deployment" >}},
113+
itp.) do wdrażania funkcji klastra. Ponieważ zapewniają one
114+
funkcje na poziomie klastra, zasoby te należą do przestrzeni nazw `kube-system`.
115+
116+
Wybrane dodatki są opisane poniżej; aby uzyskać rozszerzoną listę
117+
dostępnych dodatków, zobacz [Dodatki](/docs/concepts/cluster-administration/addons/).
118+
119+
### DNS {#dns}
120+
121+
Podczas gdy inne dodatki nie są ściśle wymagane, wszystkie klastry Kubernetes powinny mieć
122+
[DNS klastra](/docs/concepts/services-networking/dns-pod-service/), ponieważ wiele elementów na nim polega.
123+
124+
Cluster DNS to serwer DNS, będący uzupełnieniem dla innych serwerów
125+
DNS w Twoim środowisku, który obsługuje rekordy DNS dla usług Kubernetes.
126+
127+
Kontenery uruchamiane przez Kubernetesa automatycznie uwzględniają ten serwer DNS w swoich wyszukiwaniach DNS.
128+
129+
### Interfejs Web UI (Dashboard) {#web-ui-dashboard}
130+
131+
[Dashboard](/docs/tasks/access-application-cluster/web-ui-dashboard/) to uniwersalny interfejs
132+
internetowy dla klastrów Kubernetesa. Umożliwia użytkownikom zarządzanie
133+
i rozwiązywanie problemów z aplikacjami działającymi w klastrze, a także samym klastrem.
134+
135+
### Monitorowanie zasobów kontenerów {#container-resource-monitoring}
136+
137+
[Monitorowanie Zasobów Kontenera](/docs/tasks/debug/debug-cluster/resource-usage-monitoring/) rejestruje ogólne
138+
metryki dotyczące kontenerów w centralnej bazie danych i udostępnia interfejs użytkownika do przeglądania tych danych.
139+
140+
### Rejestrowanie na poziomie klastra {#cluster-level-logging}
141+
142+
Mechanizm [logowania na poziomie klastra](/docs/concepts/cluster-administration/logging/) jest
143+
odpowiedzialny za zapisywanie logów z kontenerów w centralnym magazynie logów z interfejsem do przeszukiwania/przeglądania.
144+
145+
### Wtyczki sieciowe {#network-plugins}
146+
147+
[Wtyczki sieciowe](/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins)
148+
są komponentami oprogramowania, które implementują
149+
specyfikację interfejsu sieciowego kontenera (CNI). Są odpowiedzialne za
150+
przydzielanie adresów IP do podów i umożliwianie im komunikacji między sobą w klastrze.
151+
152+
## Warianty architektury {#architecture-variations}
153+
154+
Podczas gdy podstawowe komponenty Kubernetesa pozostają niezmienne, sposób ich
155+
wdrażania i zarządzania może się różnić. Zrozumienie tych wariacji jest kluczowe dla
156+
projektowania i utrzymania klastrów Kubernetesa, które spełniają określone potrzeby operacyjne.
157+
158+
### Opcje wdrażania warstwy sterowania {#control-plane-deployment-options}
159+
160+
Komponenty warstwy sterowania mogą być wdrażane na kilka sposobów:
161+
162+
Tradycyjna implementacja: : Komponenty warstwy sterowania działają bezpośrednio na
163+
dedykowanych maszynach lub maszynach wirtualnych (VM), często zarządzane jako usługi systemd.
164+
165+
Statyczne Pody: : Komponenty warstwy sterowania są wdrażane jako
166+
statyczne Pody, zarządzane przez kubelet na określonych węzłach.
167+
Jest to powszechne podejście stosowane przez narzędzia takie jak kubeadm.
168+
169+
Samodzielnie hostowane : Warstwa sterowania działa jako Pody
170+
wewnątrz samego klastra Kubernetes, zarządzane
171+
przez Deploymenty i StatefulSety lub inne obiekty Kubernetesa.
172+
173+
Zarządzane usługi Kubernetesa: Dostawcy usług chmurowych zazwyczaj
174+
ukrywają warstwę kontrolną, zarządzając jej elementami w ramach swoich usług.
175+
176+
### Rozważania dotyczące umieszczania workloadów {#workload-placement-considerations}
177+
178+
Umiejscowienie workloadów, w tym komponentów warstwy sterowania, może różnić się w
179+
zależności od wielkości klastra, wymagań dotyczących wydajności i polityk operacyjnych:
180+
181+
- W mniejszych klastrach lub klastrach deweloperskich, komponenty warstwy sterowania i workloady użytkowników mogą działać na tych samych węzłach.
182+
- Większe klastry produkcyjne często dedykują określone węzły dla
183+
komponentów warstwy sterowania, oddzielając je od workloadów użytkowników.
184+
- Niektóre organizacje uruchamiają krytyczne dodatki lub narzędzia monitorujące na węzłach warstwy sterowania.
185+
186+
### Narzędzia do zarządzania klastrem {#cluster-management-tools}
187+
188+
Narzędzia takie jak kubeadm, kops i Kubespray oferują różne podejścia do wdrażania i
189+
zarządzania klastrami, z których każde ma własną metodę rozmieszczenia i zarządzania komponentami.
190+
191+
Elastyczność architektury Kubernetesa umożliwia organizacjom dostosowanie ich klastrów do
192+
specyficznych potrzeb, balansując czynniki takie jak złożoność operacyjna, wydajność i narzut na zarządzanie.
193+
194+
### Dostosowywanie i rozszerzalność {#customization-and-extensibility}
195+
196+
Architektura Kubernetesa pozwala na szeroką konfigurację:
197+
198+
- Niestandardowe schedulery mogą być wdrażane do pracy wraz z domyślnym schedulerem Kubernetesa lub aby całkowicie go zastąpić.
199+
- Serwery API mogą być rozszerzane za pomocą CustomResourceDefinitions i agregacji API.
200+
- Dostawcy chmury mogą mocno integrować się z Kubernetesem używając `cloud-controller-manager`.
201+
202+
Elastyczność architektury Kubernetesa umożliwia organizacjom dostosowanie ich klastrów do
203+
specyficznych potrzeb, balansując czynniki takie jak złożoność operacyjna, wydajność i narzut na zarządzanie.
204+
205+
## {{% heading "whatsnext" %}}
206+
207+
Dowiedz się więcej na temat:
208+
209+
- [Węzły](/docs/concepts/architecture/nodes/) i
210+
[ich komunikacja](/docs/concepts/architecture/control-plane-node-communication/) z
211+
warstwą sterowania.
212+
- [Kontrolery Kubernetesa](/docs/concepts/architecture/controller/).
213+
- [kube-scheduler](/docs/concepts/scheduling-eviction/kube-scheduler/), czyli domyślny scheduler dla Kubernetesa.
214+
- Oficjalna [dokumentacja](https://etcd.io/docs/) Etcd.
215+
- Wiele [środowisk uruchomieniowych kontenerów](/docs/setup/production-environment/container-runtimes/) w Kubernetesie.
216+
- Integracja z dostawcami chmury za pomocą [cloud-controller-manager](/docs/concepts/architecture/cloud-controller/).
217+
- Polecenia [kubectl](/docs/reference/generated/kubectl/kubectl-commands).

0 commit comments

Comments
 (0)