0 Голосов

Изменения документа DevOps

Редактировал(а) Anton Krivchenkov 06.01.2025 19:01

От версии 2.3
отредактировано Anton Krivchenkov
на 06.01.2025 19:01
Изменить комментарий: К данной версии нет комментариев
К версии 2.1
отредактировано Anton Krivchenkov
на 06.01.2025 19:01
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -1,5 +3,3 @@
1 -ВОПРОСЫ для проверки знаний:
2 -
3 3  {{toc/}}
4 4  
5 5  ![[devOps.jpg|devOps.jpg]]
... ... @@ -7,10 +7,11 @@
7 7  Порядок изучения технологий для DevOps: [https://roadmap.sh/r/devops-fork-hzrp1](https://roadmap.sh/r/devops-fork-hzrp1) и комментарии к порядку изучения технологий:
8 8  
9 9  1. Выучить основы bash и python/go (дополнительная информация ниже в Базовые знания Linux, сетей и bash скриптов)
10 -1. Из операционных систем советую поставить себе Ubuntu: [https://ubuntu.com/desktop](https://ubuntu.com/desktop)
8 +1.
11 11  
12 -> Большинство серверов работают на linux и Ubuntu будет удобен в обычном пользовании и подготовке к работе
10 +Из операционных систем советую поставить себе Ubuntu: [https://ubuntu.com/desktop](https://ubuntu.com/desktop)
13 13  
12 +> Большинство серверов работают на linux и Ubuntu будет удобен в обычном пользовании и подготовке к работе
14 14  1. Из текстовых редакторов научиться открывать файлы и редактировать в nano, а также в vim (если удобно)
15 15  1. По терминалу вся информация будет в Базовые знания Linux, сетей и bash скриптов
16 16  1. По системе контроля версий git ниже в Git система контроля версий и автоматизация с помощью GitLab CI/CD
... ... @@ -33,7 +33,7 @@
33 33  * Канал от создателей платных курсов Merion Academy на котором рассказывают про технологии из RoadMap выше простыми словами: [https://www.youtube.com/watch?v=NtGN7Nz6I0c](https://www.youtube.com/watch?v=NtGN7Nz6I0c)
34 34  * Хороший канал по devops, все видео смотреть на скорости 1.25 (если не хотите заснуть): [https://www.youtube.com/@pavlenkoat/playlists](https://www.youtube.com/@pavlenkoat/playlists)
35 35  
36 -#### ​Базовые знания Linux, сетей и bash скриптов​
35 +​Базовые знания Linux, сетей и bash скриптов​
37 37  
38 38  | Цель и что нужно для изучения + Задания | Как поймем что цель достигнута? |
39 39  | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
... ... @@ -41,15 +41,19 @@
41 41  | Linux скрипты - простые сценарии, автоматизация рутинных задач. Задание: сделать скрипты для всех заданий [https://github.com/eabykov/devops-linux](https://github.com/eabykov/devops-linux) и задания 2,5,9 в [https://github.com/bregman-arie/devops-exercises/tree/master/topics/shell](https://github.com/bregman-arie/devops-exercises/tree/master/topics/shell) | Умеет создавать и использовать переменные, может применять условный оператор IF и использовать CASE, умеет использовать циклы, вопросы [https://github.com/bregman-arie/devops-exercises/tree/master/topics/shell](https://github.com/bregman-arie/devops-exercises/tree/master/topics/shell) |
42 42  | Сети и сетевые технологии - как сервера (настольные ПК и тд) обьединяются в общую сеть для обмена информацией, пример интернет, глобальная сеть обьединяющая компьютеры по всему миру. Прочесть статью [https://habr.com/ru/post/326574/](https://habr.com/ru/post/326574/) , [https://ru.wikipedia.org/wiki/](https://ru.wikipedia.org/wiki/)Маска_подсети и [https://habr.com/ru/post/711578/](https://habr.com/ru/post/711578/) , посмотреть про websocket [https://youtu.be/19d4AXt3dSI](https://youtu.be/19d4AXt3dSI) | Как подключиться по SSH и как работает SSH, что такое 'пакет', уровни TCP/IP, что такое DNS, что такое HTTP/HTTPS протокол и REST API, что такое IP и маска подсети, как на linux посмотреть сетевые интерфейсы, сниффинг трафика, что такое Nginx (как выглядит конфиг) и round-robin балансировка, вопросы [https://github.com/bregman-arie/devops-exercises#network](https://github.com/bregman-arie/devops-exercises#network) и [https://github.com/bregman-arie/devops-exercises/tree/master/topics/dns](https://github.com/bregman-arie/devops-exercises/tree/master/topics/dns) |
43 43  
44 -#### ​Git система контроля версий и автоматизация с помощью GitLab CI/CD​
43 +</details>
45 45  
45 +​Git система контроля версий и автоматизация с помощью GitLab CI/CD​
46 +
46 46  | Цель и что нужно для изучения + Задания | Как поймем что цель достигнута? |
47 47  | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
48 48  | Git - система управления версиями для совместной работы над проектом и в случае чего удобному восстановлению к более старой версии [https://youtu.be/EeARyFrZsnU](https://youtu.be/EeARyFrZsnU) . Пройти курс [https://www.youtube.com/watch?list=PLg5SS_4L6LYstwxTEOU05E0URTHnbtA0l](https://www.youtube.com/watch?list=PLg5SS_4L6LYstwxTEOU05E0URTHnbtA0l) до 15 урока и создать свой репозиторий на github с несколькими ветками и тегами | Знает что такое commit и как его делать, умеет делать branch и tag и знает в чем между ними разница, знает что такое merge и как исправлять конфликты, знает как откатиться на более старую версию, как склонировать репозиторий локально и как загрузить свои изменения в github, в чем разница межу fetch и pull, вопросы [https://github.com/bregman-arie/devops-exercises/tree/master/topics/git](https://github.com/bregman-arie/devops-exercises/tree/master/topics/git) |
49 49  | CI/CD - выполнение автоматически действий по триггеру, например commit в master, создание merge, создание tag или cron расписанию. В курсе [https://www.youtube.com/watch?list=PLg5SS_4L6LYstwxTEOU05E0URTHnbtA0l](https://www.youtube.com/watch?list=PLg5SS_4L6LYstwxTEOU05E0URTHnbtA0l) 15й и 16й, [https://youtu.be/tE3u1LquFcg?t=212](https://youtu.be/tE3u1LquFcg?t=212) скорость 1.25, [https://github.com/gitlabhq/gitlabhq/blob/master/doc/ci/docker/using_kaniko.md](https://github.com/gitlabhq/gitlabhq/blob/master/doc/ci/docker/using_kaniko.md) .gitlab-ci.yml как собирать Docker Image в GitLab правильно | Сделал автоматическую сборку своего Docker Image и отправку dockerhub хранилище образов (хранилище образов называют registry), GitLab CI/CD основные понятия, из каких шагов состоит идеальный CI/CD пайплайн, вопросы [https://github.com/bregman-arie/devops-exercises/tree/master/topics/cicd](https://github.com/bregman-arie/devops-exercises/tree/master/topics/cicd) |
50 50  
51 -#### ​Контейнеризация с помощью Docker и Kubernetes
52 +</details>
52 52  
54 +​Контейнеризация с помощью Docker и Kubernetes​
55 +
53 53  | Цель и что нужно для изучения + Задания | Как поймем что цель достигнута? |
54 54  | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
55 55  | Docker - упаковка приложения в image в котором будет все что нужно для запуска [https://youtu.be/aZTL2zRmOnA](https://youtu.be/aZTL2zRmOnA) | Понимает зачем нужен docker, умеет создавать свой образ и пушить его в dockerhub, умеет запускать несколько образов вместе используя compose, вопросы [https://habr.com/ru/company/southbridge/blog/528206/](https://habr.com/ru/company/southbridge/blog/528206/) |
... ... @@ -60,8 +60,10 @@
60 60  * Docker: [https://roadmap.sh/docker](https://roadmap.sh/docker)
61 61  * Kubernetes: [https://roadmap.sh/kubernetes](https://roadmap.sh/kubernetes)
62 62  
63 -#### ​Мониторинг, золотые сигналы и логгирование​
66 +</details>
64 64  
68 +​Мониторинг, золотые сигналы и логгирование​
69 +
65 65  | Цель и что нужно для изучения + Задания | Как поймем что цель достигнута? |
66 66  | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
67 67  | Мониторинг - сбор исторических данных о нашей системе [https://youtu.be/wDan20_WyNg](https://youtu.be/wDan20_WyNg) использовать пример [https://github.com/ruanbekker/docker-monitoring-stack-gpnc](https://github.com/ruanbekker/docker-monitoring-stack-gpnc) , Linux серверах, показателей приложений и их логов, сетевых метрик, и оповещение, если что-то пошло не так. Prometheus + Grafana + любые экспортеры, ELK стек [https://youtu.be/ZcC3BTChCY0?t=110](https://youtu.be/ZcC3BTChCY0?t=110) и [https://github.com/docker/awesome-compose/tree/master/elasticsearch-logstash-kibana](https://github.com/docker/awesome-compose/tree/master/elasticsearch-logstash-kibana) , Трейсинг [https://youtu.be/7Dyf4AiUAcQ](https://youtu.be/7Dyf4AiUAcQ) | Понимает как создавать алерты (оповещения), может настроить мониторинг Docker, linux host, в Kubernetes установить [https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack) , вопросы [https://github.com/bregman-arie/devops-exercises#prometheus](https://github.com/bregman-arie/devops-exercises#prometheus) , [https://github.com/bregman-arie/devops-exercises#monitoring](https://github.com/bregman-arie/devops-exercises#monitoring) и [https://github.com/bregman-arie/devops-exercises#elastic](https://github.com/bregman-arie/devops-exercises#elastic) |
... ... @@ -78,18 +78,6 @@
78 78  
79 79  Пример алерта в AlertManager который срабатывает по условию из Prometheus
80 80  
81 -```yaml
82 -- name: Host out of memory
83 - # description - описание алерта, более детальное пояснение о чем он
84 - description: Node memory is filling up (< 10% left)
85 - # query - запрос в случае которого будет срабатывать алерт, правило (например памяти меньше 10%)
86 - query: '(node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 < 10) * on(instance) group_left (nodename) node_uname_info{nodename=~".+"}'
87 - # severity - уровень алертинга, важность, например warning это предупреждение, а critical критично и опасно - самый большой приоритет
88 - severity: warning
89 - # for - сколько минут должно соблюдаться 'query' выше, 0m сработает алерт сразу, 2m правило в query должно соблюдаться 2 минуты
90 - for: 2m
91 -```
92 -
93 93  > Готовые алерты брать тут: [https://github.com/samber/awesome-prometheus-alerts/blob/master/_data/rules.yml](https://github.com/samber/awesome-prometheus-alerts/blob/master/_data/rules.yml)
94 94  
95 95  Примеры работы с логами в ELK:
... ... @@ -99,12 +99,9 @@
99 99  
100 100  Логи которые попадут в Elasticsearch (формат JSON):
101 101  
102 -```json
103 -{"program_name": "database", "date": "2023-10-11", "time": "18:45:01", "level": "INFO", "message": "Application ready"}
104 -{"program_name": "web-app", "date": "2023-10-11", "time": "18:45:02", "level": "ERROR", "message": "failed to start"}
105 -```
95 +</details>
106 106  
107 -#### ​IaC - (Инфраструктура как код) создание серверов с помощью Terraform и настройка с помощью Ansible​
97 +​IaC - (Инфраструктура как код) создание серверов с помощью Terraform и настройка с помощью Ansible​
108 108  
109 109  | Цель и что нужно для изучения + Задания | Как поймем что цель достигнута? |
110 110  | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
... ... @@ -113,91 +113,69 @@
113 113  
114 114  Генерация пары SSH ключей:
115 115  
116 - ssh-keygen -t ed25519 -C 'ВАШ АДРЕС ЭЛЕКТРОННОЙ ПОЧТЫ'
117 -
118 118  Файловая структура Ansible role:
119 119  
120 - roles/ # роли хранятся в папке 'roles'
121 - prometheus/ # имя роли, в нашем случае 'prometheus'
122 - tasks/
123 - main.yml # ниже пример файла
124 - files/
125 - prometheus.conf # файл который будет скопирован на удаленную машину
126 - vars/
127 - main.yml # переменные для данной роли, например версия prometheus
128 - defaults/
129 - main.yml # самые базовые переменные по умолчанию, имеют ниже приоритет чем 'vars' выше
130 -
131 131  Пример файла roles/prometheus/tasks/main.yml:
132 132  
133 -```yaml
134 -- name: Install prometheus # устанавливаем prometheus на удаленном сервере
135 - ansible.builtin.apt:
136 - name: prometheus # какую программу будет устанавливать
110 +</details>
137 137  
138 -- name: Copy prometheus config to remote hosts # имя задачи, чтобы мы понимали что делает
139 - ansible.builtin.copy:
140 - src: prometheus.conf # где файл лежит у нас на компе
141 - dest: /etc/prometheus/prometheus.conf # то куда файл попадет на удаленных хостах
142 - owner: aider # кто будет хозяином файла на удаленной машине
143 - group: aider # какая группа будет у файла на удаленной машине
144 - mode: u=rw,g=r,o=r # какие права будут у файла на удаленной машине
112 +​Вопросы на собеседовании​
145 145  
146 -- name: restart prometheus # перезапустить prometheus
147 - service:
148 - name: prometheus # с каким сервисом будем работать
149 - state: restarted # перезапустить prometheus
150 - enabled: yes # запускать nginx при перезапуске системы
151 -```
152 -
153 ----
154 -
155 -### ​Вопросы на собеседовании​
156 -
157 157  Хороший набор ответов: [https://habr.com/ru/articles/775560/](https://habr.com/ru/articles/775560/)
158 158  
159 159  ### Linux
160 160  
161 -1.
118 +1.
162 162  
163 -Что такое systemd 1. Где находится конфигурация 1. Какие основные поля в конфигурации 1.
120 +Что такое systemd
121 + 1. Где находится конфигурация
122 + 1. Какие основные поля в конфигурации
123 +1.
164 164  
165 -Какие есть kill сигналы? 1. Когда мы во время выполнения команды жмем Ctrl + C то какой сигнал отправляется? 1.
125 +Какие есть kill сигналы?
126 + 1. Когда мы во время выполнения команды жмем Ctrl + C то какой сигнал отправляется?
127 +1.
166 166  
167 -Что такое ядро Linux? 1. Как посмотреть веросию ядра Linux? 1. Что такое системные и вызовы и какие бывают?
168 -
129 +Что такое ядро Linux?
130 + 1. Как посмотреть веросию ядра Linux?
131 + 1. Что такое системные и вызовы и какие бывают?
169 169  1. Какой командой посмотреть сетевые интерфейсы?
170 170  1. Какой командой посмотреть какие приложения занимают те или иные порты?
171 171  1. Как забрать права на доступ к файлу или директории в linux?
172 -1.
135 +1.
173 173  
174 -Как можно запланировать выполнение комманды по расписанию, например каждую минуту? 1. Как помотреть список уже запланированных заданий? 1.
137 +Как можно запланировать выполнение комманды по расписанию, например каждую минуту?
138 + 1. Как помотреть список уже запланированных заданий?
139 +1.
175 175  
176 -Что такое SSH? 1. Что нужно чтобы подключиться к удаленному серверу через SSH? 1. Как посмотреть запущен ли SSH сервер на linux хосте? 1. Где находится конфигурация SSH сервера? 1. Где хранятся ssh ключи текущего пользователя?
177 -
141 +Что такое SSH?
142 + 1. Что нужно чтобы подключиться к удаленному серверу через SSH?
143 + 1. Как посмотреть запущен ли SSH сервер на linux хосте?
144 + 1. Где находится конфигурация SSH сервера?
145 + 1. Где хранятся ssh ключи текущего пользователя?
178 178  1. Как установить программму в Linux Ubuntu?
179 179  1. Как обновить все программы?
180 180  1. Как посмотреть информацию о комманде или программе?
181 181  1. Как заменить одно слово на другое в файле?
182 -1.
150 +1.
183 183  
184 -Как редактировать файл в Linux? 1. Что такое файловый дискриптор?
185 -
152 +Как редактировать файл в Linux?
153 + 1. Что такое файловый дискриптор?
186 186  1. Как посмотреть запущенные процессы?
187 187  1. Как завершить запущенный процесс grafana?
188 188  
189 189  ### Git
190 190  
191 -1.
159 +1.
192 192  
193 -Как создать новую ветку? 1. Как переключиться на другую ветку?
194 -
161 +Как создать новую ветку?
162 + 1. Как переключиться на другую ветку?
195 195  1. Как откатиться на несколько версий назад чтобы последние изменения ищезли?
196 196  1. Как отправить наши текущие изменения в удаленный репозиторий?
197 -1.
165 +1.
198 198  
199 -Как выполнить добавление изменений из одной ветки в другую? 1. Что делать если при этом возник конфликт?
200 -
167 +Как выполнить добавление изменений из одной ветки в другую?
168 + 1. Что делать если при этом возник конфликт?
201 201  1. Как скачать себе локально последние изменения из удаленного репозитория (репозиторий уже есть на компьютере)?
202 202  1. Чем отличается tag от branch?
203 203  1. Чем отличается fetch от pull?
... ... @@ -204,10 +204,12 @@
204 204  
205 205  ### GitLab
206 206  
207 -1.
175 +1.
208 208  
209 -Что такое GitLab CI/CD и CI/CD в целом? 1. Какие поля есть в шагах (stages)? 1. Как хранить пароли? 1. Как сделать так чтобы два или больше шагов запускались одновременно?
210 -
177 +Что такое GitLab CI/CD и CI/CD в целом?
178 + 1. Какие поля есть в шагах (stages)?
179 + 1. Как хранить пароли?
180 + 1. Как сделать так чтобы два или больше шагов запускались одновременно?
211 211  1. Что такое артефакты и где они хранятся
212 212  1. Что такое stage, preprod, prod окружения?
213 213  1. Как склонировать себе локально git репозиторий из gitlab используя ssh?
... ... @@ -217,32 +217,55 @@
217 217  1. Что такое прокси и чем отличается от VPN?
218 218  1. Что такое балансировщик нагрузки?
219 219  1. Что такое кэширующий сервер и какие проблемы решает?
220 -1.
190 +1.
221 221  
222 -Что такое выделенный IP адресс в cloud? 1. Как правильно ограничить трафик к нашему приложению чтобы оно было доступно только нам? 1.
192 +Что такое выделенный IP адресс в cloud?
193 + 1. Как правильно ограничить трафик к нашему приложению чтобы оно было доступно только нам?
194 +1.
223 223  
224 -Какие есть уровни модели TCP/IP и пример протоколов на каждом из них? 1.
196 +Какие есть уровни модели TCP/IP и пример протоколов на каждом из них?
197 + 1.
225 225  
226 -В чем разница между TCP и UDP? 1. Что такое трехстороннее рукопожатие? 1.
199 +В чем разница между TCP и UDP?
200 + 1. Что такое трехстороннее рукопожатие?
201 + 1.
227 227  
228 -В чем разница между HTTP и HTTPS? 1. Опишите жизненный цикл запроса HTTP 1. Какие существуют методы HTTP? 1. Какие существуют коды/статусы ответа HTTP? 1. Какие распространненые заголовки HTTP? 1. Что такое TLS и как работает? 1. Что такое SMTP и как работает? 1. В чем разница между IP и MAC адресами? Для чего они используется? 1. Какие основные виды HTTP запросов существуют?
229 -
203 +В чем разница между HTTP и HTTPS?
204 + 1. Опишите жизненный цикл запроса HTTP
205 + 1. Какие существуют методы HTTP?
206 + 1. Какие существуют коды/статусы ответа HTTP?
207 + 1. Какие распространненые заголовки HTTP?
208 + 1. Что такое TLS и как работает?
209 + 1. Что такое SMTP и как работает?
210 + 1. В чем разница между IP и MAC адресами? Для чего они используется?
211 + 1. Какие основные виды HTTP запросов существуют?
230 230  1. Что такое TTL (Time to Live)?
231 231  1. Как работает DHCP?
232 -1.
214 +1.
233 233  
234 -Что такое DNS сервер? 1. По какому протоколу работает? 1. Что должен делать если не нашел запись у себя в конфигурации?
216 +Что такое DNS сервер?
217 + 1. По какому протоколу работает?
218 + 1. Что должен делать если не нашел запись у себя в конфигурации?
235 235  
236 236  ### Docker и работа с упакованными в контейнер приложениями
237 237  
238 238  1. Чем контейнеризация Docker отличается от виртуализаии?
239 239  1. Чем отличается контейнер от образа (image)?
240 -1.
224 +1.
241 241  
242 -Как создать свой образ docker? 1. Что такое базовый образ? 1. Чем хорошо образ alpine linux и чем он отличается например от образа ubuntu linux? 1. В чем отличия между COPY и ADD? 1. Есть ли отличия между CMD и ENTRYPOINT и можно ли их использовать вместе? 1. Где лучше хранить собраные образы docker? 1.
226 +Как создать свой образ docker?
227 + 1. Что такое базовый образ?
228 + 1. Чем хорошо образ alpine linux и чем он отличается например от образа ubuntu linux?
229 + 1. В чем отличия между COPY и ADD?
230 + 1. Есть ли отличия между CMD и ENTRYPOINT и можно ли их использовать вместе?
231 + 1. Где лучше хранить собраные образы docker?
232 +1.
243 243  
244 -Как запустить несколько образов вместе на своем компьютере для тестирования? 1. Можно ли в docker compose ограничить использование RAM и CPU для отдельных контейнеров? 1. Сохранятся ли данные записанные приложением в контенйнере на диск после его перезапуска? 1. Что такое volumes и для каких приложений использовать их нужно? 1. Как настроить контейнер так чтобы он перезапускался сам если приложение внутри сломается?
245 -
234 +Как запустить несколько образов вместе на своем компьютере для тестирования?
235 + 1. Можно ли в docker compose ограничить использование RAM и CPU для отдельных контейнеров?
236 + 1. Сохранятся ли данные записанные приложением в контенйнере на диск после его перезапуска?
237 + 1. Что такое volumes и для каких приложений использовать их нужно?
238 + 1. Как настроить контейнер так чтобы он перезапускался сам если приложение внутри сломается?
246 246  1. Где хранятся volumes и logs в docker?
247 247  
248 248  ### Облачные технологии
... ... @@ -258,30 +258,51 @@
258 258  
259 259  ### Kubernetes или коротко k8s
260 260  
261 -1.
254 +1.
262 262  
263 -Какие компоненты должны быть установлены на master node? 1. А какие на worker node? 1.
256 +Какие компоненты должны быть установлены на master node?
257 + 1. А какие на worker node?
258 +1.
264 264  
265 -Что такое etcd? 1. Какой тип у этой базы данных? 1. Почему в etcd должно быть нечетное количество реплик? 1.
260 +Что такое etcd?
261 + 1. Какой тип у этой базы данных?
262 + 1. Почему в etcd должно быть нечетное количество реплик?
263 +1.
266 266  
267 -Как настраивается сеть в k8s? 1. Что такое CNI? 1. Каким образом каждому pod выдается отдельный IP? 1.
265 +Как настраивается сеть в k8s?
266 + 1. Что такое CNI?
267 + 1. Каким образом каждому pod выдается отдельный IP?
268 +1.
268 268  
269 -Что такое service? 1. Как с помощью service обратиться к pod в другом namespace? 1. Является ли service DNS именем? 1. По какому правилу service будет распределять трафик между pod? 1. Чем отличаются service вида headless и clusterIP? 1.
270 +Что такое service?
271 + 1. Как с помощью service обратиться к pod в другом namespace?
272 + 1. Является ли service DNS именем?
273 + 1. По какому правилу service будет распределять трафик между pod?
274 + 1. Чем отличаются service вида headless и clusterIP?
275 +1.
270 270  
271 -Какие виды prob вы знаете? 1. Для чего нужна каждая из них? 1.
277 +Какие виды prob вы знаете?
278 + 1. Для чего нужна каждая из них?
279 +1.
272 272  
273 -Сколько контейнеров может быть в одном pod? 1. Нужно ли создавать service для того чтобы контейнеры отправляли друг другу запросы в рамках одного pod? 1.
281 +Сколько контейнеров может быть в одном pod?
282 + 1. Нужно ли создавать service для того чтобы контейнеры отправляли друг другу запросы в рамках одного pod?
283 +1.
274 274  
275 -Какие ingress контроллеры вы знаете? 1. Что такое ingress, какие ресурсы он связывает на сетевом уровне? 1. Как в ingress использовать SSL сертификаты?
276 -
285 +Какие ingress контроллеры вы знаете?
286 + 1. Что такое ingress, какие ресурсы он связывает на сетевом уровне?
287 + 1. Как в ingress использовать SSL сертификаты?
277 277  1. Чем отличаются annotations от labels и приведите по одному примеру использования?
278 278  1. Основные различия между Deployment, StatefulSet и DaemonSet?
279 -1.
290 +1.
280 280  
281 -Что такое lifecycle хуки? 1. Для чего используется preStop хук с sleep 10 функцией? 1.
292 +Что такое lifecycle хуки?
293 + 1. Для чего используется preStop хук с sleep 10 функцией?
294 +1.
282 282  
283 -Для чего нужны лимиты (limits) и запросы (requests) у pod? 1. HPA при расчетах использует limits или requests? 1. Планировщик при выборе на какую node размещать pod учитывает limits?
284 -
296 +Для чего нужны лимиты (limits) и запросы (requests) у pod?
297 + 1. HPA при расчетах использует limits или requests?
298 + 1. Планировщик при выборе на какую node размещать pod учитывает limits?
285 285  1. Каким образом можем ограничить права пользователей в k8s?
286 286  1. Чем так удобны helm charts?
287 287  1. Какие основные компоненты чарта?
... ... @@ -304,3 +304,5 @@
304 304  1. Что нужно сделать в приложении чтобы его трейсы появились в Jaeger?
305 305  
306 306  ### Flux и Flagger (канареечные релизы)
321 +
322 +