0 Голосов

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

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

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

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -1,4 +1,4 @@
1 -ВОПРОСЫ для проверки знаний:
1 +ВОПРОСЫ для проверки знаний:
2 2  
3 3  {{toc/}}
4 4  
... ... @@ -113,58 +113,86 @@
113 113  
114 114  Генерация пары SSH ключей:
115 115  
116 + ssh-keygen -t ed25519 -C 'ВАШ АДРЕС ЭЛЕКТРОННОЙ ПОЧТЫ'
117 +
116 116  Файловая структура Ansible role:
117 117  
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 +
118 118  Пример файла roles/prometheus/tasks/main.yml:
119 119  
120 -</details>
133 +```yaml
134 +- name: Install prometheus # устанавливаем prometheus на удаленном сервере
135 + ansible.builtin.apt:
136 + name: prometheus # какую программу будет устанавливать
121 121  
122 -​Вопросы на собеседовании​
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 # какие права будут у файла на удаленной машине
123 123  
124 -Хороший набор ответов: [https://habr.com/ru/articles/775560/](https://habr.com/ru/articles/775560/)
146 +- name: restart prometheus # перезапустить prometheus
147 + service:
148 + name: prometheus # с каким сервисом будем работать
149 + state: restarted # перезапустить prometheus
150 + enabled: yes # запускать nginx при перезапуске системы
151 +```
125 125  
126 -### Linux
153 +---
127 127  
128 -1.
155 +## ​Вопросы на собеседованииях
129 129  
130 -Что такое systemd 1. Где находится конфигурация 1. Какие основные поля в конфигурации 1.
157 +Хороший набор ответов: [https://habr.com/ru/articles/775560/](https://habr.com/ru/articles/775560/)
131 131  
132 -Какие есть kill сигналы? 1. Когда мы во время выполнения команды жмем Ctrl + C то какой сигнал отправляется? 1.
159 +### Linux
133 133  
134 -Что такое ядро Linux? 1. Как посмотреть веросию ядра Linux? 1. Что такое системные и вызовы и какие бывают?
135 -
161 +1. Что такое systemd
162 + 1. Где находится конфигурация
163 + 1. Какие основные поля в конфигурации
164 +1. Какие есть kill сигналы?
165 + 1. Когда мы во время выполнения команды жмем Ctrl + C то какой сигнал отправляется?
166 +1. Что такое ядро Linux?
167 + 1. Как посмотреть веросию ядра Linux?
168 + 1. Что такое системные и вызовы и какие бывают?
136 136  1. Какой командой посмотреть сетевые интерфейсы?
137 137  1. Какой командой посмотреть какие приложения занимают те или иные порты?
138 138  1. Как забрать права на доступ к файлу или директории в linux?
139 -1.
140 -
141 -Как можно запланировать выполнение комманды по расписанию, например каждую минуту? 1. Как помотреть список уже запланированных заданий? 1.
142 -
143 -Что такое SSH? 1. Что нужно чтобы подключиться к удаленному серверу через SSH? 1. Как посмотреть запущен ли SSH сервер на linux хосте? 1. Где находится конфигурация SSH сервера? 1. Где хранятся ssh ключи текущего пользователя?
144 -
172 +1. Как можно запланировать выполнение комманды по расписанию, например каждую минуту?
173 + 1. Как помотреть список уже запланированных заданий?
174 +1. Что такое SSH?
175 + 1. Что нужно чтобы подключиться к удаленному серверу через SSH?
176 + 1. Как посмотреть запущен ли SSH сервер на linux хосте?
177 + 1. Где находится конфигурация SSH сервера?
178 + 1. Где хранятся ssh ключи текущего пользователя?
145 145  1. Как установить программму в Linux Ubuntu?
146 -1. Как обновить все программы?
147 -1. Как посмотреть информацию о комманде или программе?
180 + 1. Как обновить все программы?
181 + 1. Как посмотреть информацию о комманде или программе?
148 148  1. Как заменить одно слово на другое в файле?
149 -1.
150 -
151 -Как редактировать файл в Linux? 1. Что такое файловый дискриптор?
152 -
183 +1. Как редактировать файл в Linux?
184 + 1. Что такое файловый дискриптор?
153 153  1. Как посмотреть запущенные процессы?
154 154  1. Как завершить запущенный процесс grafana?
155 155  
156 156  ### Git
157 157  
158 -1.
159 -
160 -Как создать новую ветку? 1. Как переключиться на другую ветку?
161 -
190 +1. Как создать новую ветку?
191 + 1. Как переключиться на другую ветку?
162 162  1. Как откатиться на несколько версий назад чтобы последние изменения ищезли?
163 163  1. Как отправить наши текущие изменения в удаленный репозиторий?
164 -1.
165 -
166 -Как выполнить добавление изменений из одной ветки в другую? 1. Что делать если при этом возник конфликт?
167 -
194 +1. Как выполнить добавление изменений из одной ветки в другую?
195 + 1. Что делать если при этом возник конфликт?
168 168  1. Как скачать себе локально последние изменения из удаленного репозитория (репозиторий уже есть на компьютере)?
169 169  1. Чем отличается tag от branch?
170 170  1. Чем отличается fetch от pull?
... ... @@ -171,10 +171,10 @@
171 171  
172 172  ### GitLab
173 173  
174 -1.
175 -
176 -Что такое GitLab CI/CD и CI/CD в целом? 1. Какие поля есть в шагах (stages)? 1. Как хранить пароли? 1. Как сделать так чтобы два или больше шагов запускались одновременно?
177 -
202 +1. Что такое GitLab CI/CD и CI/CD в целом?
203 + 1. Какие поля есть в шагах (stages)?
204 + 1. Как хранить пароли?
205 + 1. Как сделать так чтобы два или больше шагов запускались одновременно?
178 178  1. Что такое артефакты и где они хранятся
179 179  1. Что такое stage, preprod, prod окружения?
180 180  1. Как склонировать себе локально git репозиторий из gitlab используя ssh?
... ... @@ -184,32 +184,41 @@
184 184  1. Что такое прокси и чем отличается от VPN?
185 185  1. Что такое балансировщик нагрузки?
186 186  1. Что такое кэширующий сервер и какие проблемы решает?
187 -1.
188 -
189 -Что такое выделенный IP адресс в cloud? 1. Как правильно ограничить трафик к нашему приложению чтобы оно было доступно только нам? 1.
190 -
191 -Какие есть уровни модели TCP/IP и пример протоколов на каждом из них? 1.
192 -
193 -В чем разница между TCP и UDP? 1. Что такое трехстороннее рукопожатие? 1.
194 -
195 -В чем разница между HTTP и HTTPS? 1. Опишите жизненный цикл запроса HTTP 1. Какие существуют методы HTTP? 1. Какие существуют коды/статусы ответа HTTP? 1. Какие распространненые заголовки HTTP? 1. Что такое TLS и как работает? 1. Что такое SMTP и как работает? 1. В чем разница между IP и MAC адресами? Для чего они используется? 1. Какие основные виды HTTP запросов существуют?
196 -
215 +1. Что такое выделенный IP адресс в cloud?
216 + 1. Как правильно ограничить трафик к нашему приложению чтобы оно было доступно только нам?
217 +1. Какие есть уровни модели TCP/IP и пример протоколов на каждом из них?
218 + 1. В чем разница между TCP и UDP?
219 + 1. Что такое трехстороннее рукопожатие?
220 + 1. В чем разница между HTTP и HTTPS?
221 + 1. Опишите жизненный цикл запроса HTTP
222 + 1. Какие существуют методы HTTP?
223 + 1. Какие существуют коды/статусы ответа HTTP?
224 + 1. Какие распространненые заголовки HTTP?
225 + 1. Что такое TLS и как работает?
226 + 1. Что такое SMTP и как работает?
227 + 1. В чем разница между IP и MAC адресами? Для чего они используется?
228 + 1. Какие основные виды HTTP запросов существуют?
197 197  1. Что такое TTL (Time to Live)?
198 198  1. Как работает DHCP?
199 -1.
231 +1. Что такое DNS сервер?
232 + 1. По какому протоколу работает?
233 + 1. Что должен делать если не нашел запись у себя в конфигурации?
200 200  
201 -Что такое DNS сервер? 1. По какому протоколу работает? 1. Что должен делать если не нашел запись у себя в конфигурации?
202 -
203 203  ### Docker и работа с упакованными в контейнер приложениями
204 204  
205 -1. Чем контейнеризация Docker отличается от виртуализаии?
237 +1. Чем контейнеризация Docker отличается от виртуализации?
206 206  1. Чем отличается контейнер от образа (image)?
207 -1.
208 -
209 -Как создать свой образ docker? 1. Что такое базовый образ? 1. Чем хорошо образ alpine linux и чем он отличается например от образа ubuntu linux? 1. В чем отличия между COPY и ADD? 1. Есть ли отличия между CMD и ENTRYPOINT и можно ли их использовать вместе? 1. Где лучше хранить собраные образы docker? 1.
210 -
211 -Как запустить несколько образов вместе на своем компьютере для тестирования? 1. Можно ли в docker compose ограничить использование RAM и CPU для отдельных контейнеров? 1. Сохранятся ли данные записанные приложением в контенйнере на диск после его перезапуска? 1. Что такое volumes и для каких приложений использовать их нужно? 1. Как настроить контейнер так чтобы он перезапускался сам если приложение внутри сломается?
212 -
239 +1. Как создать свой образ docker?
240 + 1. Что такое базовый образ?
241 + 1. Чем хорошо образ alpine linux и чем он отличается например от образа ubuntu linux?
242 + 1. В чем отличия между COPY и ADD?
243 + 1. Есть ли отличия между CMD и ENTRYPOINT и можно ли их использовать вместе?
244 + 1. Где лучше хранить собраные образы docker?
245 +1. Как запустить несколько образов вместе на своем компьютере для тестирования?
246 + 1. Можно ли в docker compose ограничить использование RAM и CPU для отдельных контейнеров?
247 + 1. Сохранятся ли данные записанные приложением в контенйнере на диск после его перезапуска?
248 + 1. Что такое volumes и для каких приложений использовать их нужно?
249 + 1. Как настроить контейнер так чтобы он перезапускался сам если приложение внутри сломается?
213 213  1. Где хранятся volumes и logs в docker?
214 214  
215 215  ### Облачные технологии
... ... @@ -225,38 +225,41 @@
225 225  
226 226  ### Kubernetes или коротко k8s
227 227  
228 -1.
229 -
230 -Какие компоненты должны быть установлены на master node? 1. А какие на worker node? 1.
231 -
232 -Что такое etcd? 1. Какой тип у этой базы данных? 1. Почему в etcd должно быть нечетное количество реплик? 1.
233 -
234 -Как настраивается сеть в k8s? 1. Что такое CNI? 1. Каким образом каждому pod выдается отдельный IP? 1.
235 -
236 -Что такое service? 1. Как с помощью service обратиться к pod в другом namespace? 1. Является ли service DNS именем? 1. По какому правилу service будет распределять трафик между pod? 1. Чем отличаются service вида headless и clusterIP? 1.
237 -
238 -Какие виды prob вы знаете? 1. Для чего нужна каждая из них? 1.
239 -
240 -Сколько контейнеров может быть в одном pod? 1. Нужно ли создавать service для того чтобы контейнеры отправляли друг другу запросы в рамках одного pod? 1.
241 -
242 -Какие ingress контроллеры вы знаете? 1. Что такое ingress, какие ресурсы он связывает на сетевом уровне? 1. Как в ingress использовать SSL сертификаты?
243 -
265 +1. Какие компоненты должны быть установлены на master node?
266 + 1. А какие на worker node?
267 +1. Что такое etcd?
268 + 1. Какой тип у этой базы данных?
269 + 1. Почему в etcd должно быть нечетное количество реплик?
270 +1. Как настраивается сеть в k8s?
271 + 1. Что такое CNI?
272 + 1. Каким образом каждому pod выдается отдельный IP?
273 +1. Что такое service?
274 + 1. Как с помощью service обратиться к pod в другом namespace?
275 + 1. Является ли service DNS именем?
276 + 1. По какому правилу service будет распределять трафик между pod?
277 + 1. Чем отличаются service вида headless и clusterIP?
278 +1. Какие виды prob вы знаете?
279 + 1. Для чего нужна каждая из них?
280 +1. Сколько контейнеров может быть в одном pod?
281 + 1. Нужно ли создавать service для того чтобы контейнеры отправляли друг другу запросы в рамках одного pod?
282 +1. Какие ingress контроллеры вы знаете?
283 + 1. Что такое ingress, какие ресурсы он связывает на сетевом уровне?
284 + 1. Как в ingress использовать SSL сертификаты?
244 244  1. Чем отличаются annotations от labels и приведите по одному примеру использования?
245 245  1. Основные различия между Deployment, StatefulSet и DaemonSet?
246 -1.
247 -
248 -Что такое lifecycle хуки? 1. Для чего используется preStop хук с sleep 10 функцией? 1.
249 -
250 -Для чего нужны лимиты (limits) и запросы (requests) у pod? 1. HPA при расчетах использует limits или requests? 1. Планировщик при выборе на какую node размещать pod учитывает limits?
251 -
287 +1. Что такое lifecycle хуки?
288 + 1. Для чего используется preStop хук с `sleep 10` функцией?
289 +1. Для чего нужны лимиты (limits) и запросы (requests) у pod?
290 + 1. HPA при расчетах использует limits или requests?
291 + 1. Планировщик при выборе на какую node размещать pod учитывает limits?
252 252  1. Каким образом можем ограничить права пользователей в k8s?
253 253  1. Чем так удобны helm charts?
254 254  1. Какие основные компоненты чарта?
255 -1. Что находится в файле values.yaml и Chart.yaml?
256 -1. Для чего в папке templates создают файл _helpers.tpl?
295 +1. Что находится в файле `values.yaml` и `Chart.yaml`?
296 +1. Для чего в папке templates создают файл `_helpers.tpl`?
257 257  1. Как создать цикл который создаст несколько сущностей (например ports в service)?
258 258  1. Как сделать условный оператор для boolean значений и для строк?
259 -1. Что будет записано вместо темплейта {{ divf .Values.replicaCount .Values.zones | ceil }}? Как может пригодиться читать тут [https://github.com/eabykov/devops-kubernetes/blob/main/](https://github.com/eabykov/devops-kubernetes/blob/main/)ЛУЧШИЕ_ПРАКТИКИ.md в коментарие к разделу _Распределите ваши pod по разным node и разным зонам (датацентрам)_
299 +1. Что будет записано вместо темплейта `{{ divf .Values.replicaCount .Values.zones | ceil }}`? Как может пригодиться читать тут <https://github.com/eabykov/devops-kubernetes/blob/main/ЛУЧШИЕ_ПРАКТИКИ.md> в коментарие к разделу _Распределите ваши pod по разным node и разным зонам (датацентрам)_
260 260  
261 261  ### Vault
262 262