Skip to content

Commit 4f64f6b

Browse files
New Crowdin updates (#2643)
* New translations lab1-prerequisites.md (French) * New translations lab1-prerequisites.md (Ukrainian) * New translations lab3-compute-resources.md (Ukrainian) * New translations lab4-certificate-authority.md (Ukrainian) * New translations lab5-kubernetes-configuration-files.md (Ukrainian) * New translations lab6-data-encryption-keys.md (Ukrainian) * New translations lab7-bootstrapping-etcd.md (Ukrainian) * New translations lab8-bootstrapping-kubernetes-controllers.md (Ukrainian) * New translations lab9-bootstrapping-kubernetes-workers.md (Ukrainian)
1 parent e1bb36c commit 4f64f6b

9 files changed

+1150
-1
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
author: Wale Soyinka
3+
contributors: Steven Spencer, Ganna Zhyrnova
4+
tags:
5+
- kubernetes
6+
- k8s
7+
- exercice d'atelier
8+
---
9+
10+
# Labo n°1 : Prérequis
11+
12+
!!! info
13+
14+
Il s'agit d'un fork de l'original ["Kubernetes the hard way"](https://github.com/kelseyhightower/kubernetes-the-hard-way) écrit à l'origine par Kelsey Hightower (GitHub : kelseyhightower). Contrairement à l'original, qui se base sur des distributions de type Debian pour l'architecture ARM64, ce fork cible les distributions Enterprise Linux telles que Rocky Linux, qui fonctionne sur l'architecture x86_64.
15+
16+
Dans ce laboratoire, vous passerez en revue les exigences machine nécessaires pour suivre ce didacticiel.
17+
18+
## Machines virtuelles ou physiques
19+
20+
Ce tutoriel nécessite quatre (4) machines x86_64 virtuelles ou physiques exécutant Debian 12 (bookworm). Le tableau suivant répertorie les quatre machines et leurs exigences en matière de CPU, de mémoire et de stockage.
21+
22+
| Nom | Description | CPU | RAM | Stockage |
23+
| ------- | ------------------------- | --- | ------ | -------- |
24+
| jumpbox | Hôte administratif | 1 | 512 Mo | 10Go |
25+
| server | Serveur Kubernetes | 1 | 2 Go | 20 Go |
26+
| node-0 | Nœud Worker de Kubernetes | 1 | 2 Go | 20 Go |
27+
| node-1 | Nœud Worker de Kubernetes | 1 | 2 Go | 20 Go |
28+
29+
La manière dont vous provisionnez les machines dépend de vous, la seule exigence est que chaque machine réponde aux exigences système ci-dessus, y compris les spécifications de la machine et la version du système d'exploitation. Une fois les quatre machines provisionnées, vérifiez la configuration système requise en exécutant la commande `uname` sur chaque machine :
30+
31+
```bash
32+
uname -mov
33+
```
34+
35+
Après avoir exécuté la commande `uname`, vous devriez obtenir un résultat similaire :
36+
37+
```text
38+
#1 SMP PREEMPT_DYNAMIC Wed Feb 19 16:28:19 UTC 2025 x86_64 GNU/Linux
39+
```
40+
41+
Le `x86_64` que vous voyez dans le résultat confirme que le système est une architecture x86_64. Cela devrait être le cas pour divers systèmes basés sur AMD et Intel.
42+
43+
À suivre : [setting-up-the-jumpbox](lab2-jumpbox.md)

docs/labs/kubernetes-the-hard-way/lab1-prerequisites.uk.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ tags:
1717

1818
## Віртуальні або фізичні машини
1919

20-
Вам потрібні чотири (4) віртуальні або фізичні машини x86_64, на яких працює Debian 12 (bookworm). У наведеній нижче таблиці перераховано чотири машини та їхні вимоги до ЦП, пам’яті, та сховища.
20+
Для цього підручника потрібні чотири (4) віртуальні або фізичні машини x86_64, на яких працює Rocky Linux 9.5 (контейнери Incus або LXD також мають працювати). У наведеній нижче таблиці перераховано чотири машини та їхні вимоги до ЦП, пам’яті, та сховища.
2121

2222
| Назва | Опис | CPU | RAM | Пам’ять |
2323
| ------- | ------------------------ | --- | ----- | ------- |
Lines changed: 236 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,236 @@
1+
---
2+
author: Wale Soyinka
3+
contributors: Steven Spencer
4+
tags:
5+
- kubernetes
6+
- k8s
7+
- лабораторна вправа
8+
---
9+
10+
# Лабораторна робота 3: Надання обчислювальних ресурсів
11+
12+
!!! info
13+
14+
Це гілка розгалуження від оригінальної ["Kubernetes the hard way"](https://github.com/kelseyhightower/kubernetes-the-hard-way), Келсі Хайтауера (GitHub: kelseyhightower). На відміну від оригіналу, який базується на дистрибутивах, подібних до Debian, для архітектури ARM64, ця гілка націлена на дистрибутиви Enterprise Linux, такі як Rocky Linux, який працює на архітектурі x86_64.
15+
16+
Для Kubernetes потрібен набір машин для розміщення площини керування Kubernetes і робочих вузлів, де зрештою запускаються контейнери. У цій лабораторній роботі ви надасте машини, необхідні для налаштування кластера Kubernetes.
17+
18+
## Машинна база даних
19+
20+
Цей підручник використовуватиме текстовий файл, який слугуватиме машинною базою даних, щоб зберігати різні атрибути машини, які ви використовуватимете під час налаштування рівня керування Kubernetes і робочих вузлів. Наступна схема представляє записи в машинній базі даних, один запис на рядок:
21+
22+
```text
23+
IPV4_ADDRESS FQDN HOSTNAME POD_SUBNET
24+
```
25+
26+
Кожен стовпець відповідає IP-адресі машини `IPV4_ADDRESS`, повному доменному імені `FQDN`, імені хосту `HOSTNAME` та IP-підмережі `POD_SUBNET`. Kubernetes призначає одну IP-адресу кожному «pod», а «POD_SUBNET» представляє унікальний діапазон IP-адрес, призначений кожній машині в кластері для цього.
27+
28+
Ось приклад машинної бази даних, подібної до тієї, що використовувалася під час створення цього посібника. Зверніть увагу на приховані IP-адреси. Ви можете призначити будь-яку IP-адресу своїм машинам за умови, що кожна машина доступна один одному та «jumpbox».
29+
30+
```bash
31+
cat machines.txt
32+
```
33+
34+
```text
35+
XXX.XXX.XXX.XXX server.kubernetes.local server
36+
XXX.XXX.XXX.XXX node-0.kubernetes.local node-0 10.200.0.0/24
37+
XXX.XXX.XXX.XXX node-1.kubernetes.local node-1 10.200.1.0/24
38+
```
39+
40+
Тепер ваша черга створити файл `machines.txt` з деталями для трьох машин, які ви використовуватимете для створення свого кластера Kubernetes. Скористайтеся наведеною вище прикладом бази даних машин і додайте деталі для своїх машин.
41+
42+
## Налаштування SSH доступу
43+
44+
Ви будете використовувати SSH для налаштування машин у кластері. Переконайтеся, що у вас є `кореневий` доступ SSH до кожної машини, зазначеної в базі даних вашої машини. Вам може знадобитися ввімкнути кореневий доступ SSH на кожному вузлі, оновивши файл `sshd_config` і перезапустивши сервер SSH.
45+
46+
### Увімкніть кореневий доступ SSH
47+
48+
Ви можете пропустити цей розділ, якщо у вас є `кореневий` доступ SSH для кожної з ваших машин.
49+
50+
Нова інсталяція `Rocky Linux` вимикає доступ SSH для користувача `root` за умовчанням. Це з міркувань безпеки, оскільки користувач `root` має повний адміністративний контроль над Unix-подібними системами. Слабкі паролі жахливі для машин, підключених до Інтернету. Як згадувалося раніше, ви ввімкнете «кореневий» доступ через SSH, щоб спростити кроки в цьому посібнику. Безпека – це компроміс; у цьому випадку ви оптимізуєтеся для зручності.
51+
52+
Увійдіть на кожну машину за допомогою SSH і свого облікового запису користувача, а потім перейдіть на `root` користувача за допомогою команди `su`:
53+
54+
```bash
55+
su - root
56+
```
57+
58+
Відредагуйте файл конфігурації демона SSH `/etc/ssh/sshd_config` і встановіть для параметра `PermitRootLogin` значення `yes`:
59+
60+
```bash
61+
sed -i \
62+
's/^#PermitRootLogin.*/PermitRootLogin yes/' \
63+
/etc/ssh/sshd_config
64+
```
65+
66+
Перезапустіть сервер SSH `sshd`, щоб отримати оновлений файл конфігурації:
67+
68+
```bash
69+
systemctl restart sshd
70+
```
71+
72+
### Створення та розповсюдження ключів SSH
73+
74+
Тут ви згенеруєте та розповсюдите пару ключів SSH на машини `server`, `node-0` і `node-1, які ви використовуватимете для виконання команд на цих машинах протягом цього підручника. Виконайте наступні команди з машини `jumpbox\`.
75+
76+
Згенеруйте новий ключ SSH:
77+
78+
```bash
79+
ssh-keygen
80+
```
81+
82+
Натисніть ++enter++, щоб прийняти всі значення за замовчуванням для запитів тут:
83+
84+
```text
85+
Generating public/private rsa key pair.
86+
Enter file in which to save the key (/root/.ssh/id_rsa):
87+
Enter passphrase (empty for no passphrase):
88+
Enter same passphrase again:
89+
Your identification has been saved in /root/.ssh/id_rsa
90+
Your public key has been saved in /root/.ssh/id_rsa.pub
91+
```
92+
93+
Скопіюйте відкритий ключ SSH на кожну машину:
94+
95+
```bash
96+
while read IP FQDN HOST SUBNET; do
97+
ssh-copy-id root@${IP}
98+
done < machines.txt
99+
```
100+
101+
Додавши кожен ключ, переконайтеся, що доступ до відкритого ключа SSH працює:
102+
103+
```bash
104+
while read IP FQDN HOST SUBNET; do
105+
ssh -n root@${IP} uname -o -m
106+
done < machines.txt
107+
```
108+
109+
```text
110+
x86_64 GNU/Linux
111+
x86_64 GNU/Linux
112+
x86_64 GNU/Linux
113+
```
114+
115+
## Імена хостів
116+
117+
У цьому розділі ви призначите імена хостів машинам `server`, `node-0` і `node-1`. Ви використовуватимете ім’я хоста під час виконання команд із `jumpbox` для кожної машини. Ім'я хоста також відіграє важливу роль у кластері. Замість використання IP-адреси для видачі команд серверу API Kubernetes клієнти Kubernetes використовуватимуть ім’я хоста `server`. Кожна робоча машина також використовує імена хостів «node-0» і «node-1» під час реєстрації в певному кластері Kubernetes.
118+
119+
Щоб налаштувати ім’я хоста для кожного комп’ютера, виконайте наступні команди в `jumpbox`.
120+
121+
Встановіть ім’я хоста для кожної машини, зазначеної у файлі `machines.txt`:
122+
123+
```bash
124+
while read IP FQDN HOST SUBNET; do
125+
ssh -n root@${IP} cp /etc/hosts /etc/hosts.bak
126+
CMD="sed -i 's/^127.0.0.1.*/127.0.0.1\t${FQDN} ${HOST}/' /etc/hosts"
127+
ssh -n root@${IP} "$CMD"
128+
ssh -n root@${IP} hostnamectl hostname ${HOST}
129+
done < machines.txt
130+
```
131+
132+
Перевірте ім’я хоста, налаштоване на кожній машині:
133+
134+
```bash
135+
while read IP FQDN HOST SUBNET; do
136+
ssh -n root@${IP} hostname --fqdn
137+
done < machines.txt
138+
```
139+
140+
```text
141+
server.kubernetes.local
142+
node-0.kubernetes.local
143+
node-1.kubernetes.local
144+
```
145+
146+
## Таблиця пошуку хостів
147+
148+
У цьому розділі ви згенеруєте файл `hosts` і додасте його до файлу `/etc/hosts` у `jumpbox` і до файлів `/etc/hosts` на всіх трьох членах кластера, які використовуються для цього посібника. Це дозволить кожній машині бути доступною за допомогою імені хоста, наприклад `server`, `node-0` або `node-1`.
149+
150+
Створіть новий файл `hosts` і додайте заголовок, щоб визначити додані машини:
151+
152+
```bash
153+
echo "" > hosts
154+
echo "# Kubernetes The Hard Way" >> hosts
155+
```
156+
157+
Згенеруйте запис хоста для кожної машини у файлі `machines.txt` і додайте його до файлу `hosts`:
158+
159+
```bash
160+
while read IP FQDN HOST SUBNET; do
161+
ENTRY="${IP} ${FQDN} ${HOST}"
162+
echo $ENTRY >> hosts
163+
done < machines.txt
164+
```
165+
166+
Перегляньте записи хостів у файлі `hosts`:
167+
168+
```bash
169+
cat hosts
170+
```
171+
172+
```text
173+
174+
# Kubernetes The Hard Way
175+
XXX.XXX.XXX.XXX server.kubernetes.local server
176+
XXX.XXX.XXX.XXX node-0.kubernetes.local node-0
177+
XXX.XXX.XXX.XXX node-1.kubernetes.local node-1
178+
```
179+
180+
## Додавання записів `/etc/hosts` до локальної машини
181+
182+
У цьому розділі ви додасте записи DNS із файлу `hosts` до локального файлу `/etc/hosts` на вашій машині `jumpbox`.
183+
184+
Додайте записи DNS із `hosts` до `/etc/hosts`:
185+
186+
```bash
187+
cat hosts >> /etc/hosts
188+
```
189+
190+
Перевірте оновлення файлу `/etc/hosts`:
191+
192+
```bash
193+
cat /etc/hosts
194+
```
195+
196+
```text
197+
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
198+
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
199+
200+
# Kubernetes The Hard Way
201+
XXX.XXX.XXX.XXX server.kubernetes.local server
202+
XXX.XXX.XXX.XXX node-0.kubernetes.local node-0
203+
XXX.XXX.XXX.XXX node-1.kubernetes.local node-1
204+
```
205+
206+
Ви повинні мати можливість SSH для кожної машини, зазначеної у файлі `machines.txt`, використовуючи ім’я хоста.
207+
208+
```bash
209+
for host in server node-0 node-1
210+
do ssh root@${host} uname -o -m -n
211+
done
212+
```
213+
214+
```text
215+
server x86_64 GNU/Linux
216+
node-0 x86_64 GNU/Linux
217+
node-1 x86_64 GNU/Linux
218+
```
219+
220+
## Додавання записів `/etc/hosts` до віддалених машин
221+
222+
У цьому розділі ви додасте записи хостів із `hosts` до `/etc/hosts` на кожній машині, указаній у текстовому файлі `machines.txt`.
223+
224+
Скопіюйте файл `hosts` на кожну машину та додайте його вміст до `/etc/hosts`:
225+
226+
```bash
227+
while read IP FQDN HOST SUBNET; do
228+
scp hosts root@${HOST}:~/
229+
ssh -n \
230+
root@${HOST} "cat hosts >> /etc/hosts"
231+
done < machines.txt
232+
```
233+
234+
Ви можете використовувати імена хостів під час підключення до комп’ютерів зі свого комп’ютера «jumpbox» або будь-якого з трьох комп’ютерів у кластері Kubernetes. Замість використання IP-адрес тепер ви можете підключатися до машин за допомогою імені хоста, наприклад `server`, `node-0` або `node-1`.
235+
236+
Далі: [Надання ЦС і генерація сертифікатів TLS](lab4-certificate-authority.md)

0 commit comments

Comments
 (0)