Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
171 changes: 91 additions & 80 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,117 +1,128 @@
# Домашнее задание к занятию "`Название занятия`" - `Фамилия и имя студента`
# Домашнее задание к занятию "Компоненты Kubernetes" - `Молоствов Андрей`

---

### Инструкция по выполнению домашнего задания
### Требования приложения

1. Сделайте `fork` данного репозитория к себе в Github и переименуйте его по названию или номеру занятия, например, https://github.com/имя-вашего-репозитория/git-hw или https://github.com/имя-вашего-репозитория/7-1-ansible-hw).
2. Выполните клонирование данного репозитория к себе на ПК с помощью команды `git clone`.
3. Выполните домашнее задание и заполните у себя локально этот файл README.md:
- впишите вверху название занятия и вашу фамилию и имя
- в каждом задании добавьте решение в требуемом виде (текст/код/скриншоты/ссылка)
- для корректного добавления скриншотов воспользуйтесь [инструкцией "Как вставить скриншот в шаблон с решением](https://github.com/netology-code/sys-pattern-homework/blob/main/screen-instruction.md)
- при оформлении используйте возможности языка разметки md (коротко об этом можно посмотреть в [инструкции по MarkDown](https://github.com/netology-code/sys-pattern-homework/blob/main/md-instruction.md))
4. После завершения работы над домашним заданием сделайте коммит (`git commit -m "comment"`) и отправьте его на Github (`git push origin`);
5. Для проверки домашнего задания преподавателем в личном кабинете прикрепите и отправьте ссылку на решение в виде md-файла в вашем Github.
6. Любые вопросы по выполнению заданий спрашивайте в чате учебной группы и/или в разделе “Вопросы по заданию” в личном кабинете.

Желаем успехов в выполнении домашнего задания!

### Дополнительные материалы, которые могут быть полезны для выполнения задания
База данных (StatefulSet)

1. [Руководство по оформлению Markdown файлов](https://gist.github.com/Jekins/2bf2d0638163f1294637#Code)
Копий: 3

---
RAM на копию: 4 ГБ

CPU на копию: 1 ядро

### Задание 1
Хранилище на копию: 50 ГБ (предположительно)

```
Итого:
RAM: 3 × 4 ГБ = 12 ГБ
CPU: 3 × 1 ядро = 3 ядра
Storage: 3 × 50 ГБ = 150 ГБ
```
Кеш (StatefulSet/Deployment)

`Приведите ответ в свободной форме........`
Копий: 3

1. `Заполните здесь этапы выполнения, если требуется ....`
2. `Заполните здесь этапы выполнения, если требуется ....`
3. `Заполните здесь этапы выполнения, если требуется ....`
4. `Заполните здесь этапы выполнения, если требуется ....`
5. `Заполните здесь этапы выполнения, если требуется ....`
6.
RAM на копию: 4 ГБ

CPU на копию: 1 ядро

```
Поле для вставки кода...
....
....
....
....
Итого:
RAM: 3 × 4 ГБ = 12 ГБ
CPU: 3 × 1 ядро = 3 ядра
```

`При необходимости прикрепитe сюда скриншоты
![Название скриншота 1](ссылка на скриншот 1)`
Фронтенд (Deployment)
Копий: 5

RAM на копию: 50 МБ = 0.05 ГБ

---
CPU на копию: 0.2 ядра

```
Итого:
RAM: 5 × 0.05 ГБ = 0.25 ГБ
CPU: 5 × 0.2 ядра = 1 ядро
```

### Задание 2
Бекенд (Deployment)
Копий: 10

`Приведите ответ в свободной форме........`
RAM на копию: 600 МБ = 0.6 ГБ

1. `Заполните здесь этапы выполнения, если требуется ....`
2. `Заполните здесь этапы выполнения, если требуется ....`
3. `Заполните здесь этапы выполнения, если требуется ....`
4. `Заполните здесь этапы выполнения, если требуется ....`
5. `Заполните здесь этапы выполнения, если требуется ....`
6.
CPU на копию: 1 ядро

```
Поле для вставки кода...
....
....
....
....
Итого:
RAM: 10 × 0.6 ГБ = 6 ГБ
CPU: 10 × 1 ядро = 10 ядер
```
### Запас на отказоустойчивость

`При необходимости прикрепитe сюда скриншоты
![Название скриншота 2](ссылка на скриншот 2)`
Правило: выдерживать потерю одной ноды
Для обеспечения отказоустойчивости добавляем запас:

Дополнительные ресурсы: +1 копия каждого компонента

---
Дополнительные ресурсы: ОЗУ: ~10 ГБ, CPU: ~6 ядер

```
Итого с запасом:
ОЗУ: 30.25 + 10 = 40.25 ГБ
CPU: 17 + 6 = 23 ядра
Хранилище: 150 ГБ
```

### Ресурсы на системные компоненты Kubernetes

*На каждую ноду требуется для системных нужд:

### Задание 3
*kubelet, kube-proxy: 0.5 ГБ ОЗУ, 0.5 ядра

`Приведите ответ в свободной форме........`
*container runtime: 0.5 ГБ ОЗУ, 0.5 ядра

1. `Заполните здесь этапы выполнения, если требуется ....`
2. `Заполните здесь этапы выполнения, если требуется ....`
3. `Заполните здесь этапы выполнения, если требуется ....`
4. `Заполните здесь этапы выполнения, если требуется ....`
5. `Заполните здесь этапы выполнения, если требуется ....`
6.
system/OS: 1 ГБ ОЗУ, 0.5 ядра

```
Поле для вставки кода...
....
....
....
....
Итого на ноду: 2 ГБ ОЗУ, 1.5 ядра
```

`При необходимости прикрепитe сюда скриншоты
![Название скриншота](ссылка на скриншот)`
### Расчет количества рабочих нод

### Задание 4
Предполагаемая конфигурация ноды:

`Приведите ответ в свободной форме........`
ОЗУ: 16 ГБ

CPU: 8 ядер

Хранилище: 100 ГБ SSD

```
Расчет:
Доступные ресурсы на ноду (за вычетом системных):
ОЗУ: 16 ГБ - 2 ГБ = 14 ГБ
CPU: 8 ядер - 1.5 ядра = 6.5 ядер
Требуемое количество нод:
По ОЗУ: 40.25 ГБ / 14 ГБ = 2.87 это 3 ноды
По CPU: 23 ядра / 6.5 ядра = 3.54 это 4 ноды
Vаксимальное значение: 4 ноды
```

1. `Заполните здесь этапы выполнения, если требуется ....`
2. `Заполните здесь этапы выполнения, если требуется ....`
3. `Заполните здесь этапы выполнения, если требуется ....`
4. `Заполните здесь этапы выполнения, если требуется ....`
5. `Заполните здесь этапы выполнения, если требуется ....`
6.
### Итоговая рекомендуемая конфигурация

```
Поле для вставки кода...
....
....
....
....
Количество нод: 4
Параметры каждой ноды:
- ОЗУ: 16 ГБ (14 ГБ доступно для подов)
- CPU: 8 ядер (6.5 ядер доступно)
- Хранилище: 100 ГБ SSD
- Сеть: 1 Гбит/с

Суммарные ресурсы кластера:
- ОЗУ: 4 × 16 ГБ = 64 ГБ (56 ГБ доступно)
- CPU: 4 × 8 = 32 ядра (26 доступно)
- Хранилище: 4 × 100 = 400 ГБ
```

`При необходимости прикрепитe сюда скриншоты
![Название скриншота](ссылка на скриншот)`
Binary file added img/1.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/3.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/4.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.