Изменения документа DevOps
Редактировал(а) Anton Krivchenkov 06.01.2025 19:01
От версии 2.2
отредактировано Anton Krivchenkov
на 06.01.2025 19:01
на 06.01.2025 19:01
Изменить комментарий:
К данной версии нет комментариев
К версии 3.1
отредактировано Anton Krivchenkov
на 06.01.2025 19:01
на 06.01.2025 19:01
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -113,105 +113,144 @@ 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 - ### Linux153 +--- 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. Что такое системные и вызовы и какие бывают? 161 +1. Что такое systemd 162 + 1. Где находится конфигурация 163 + 2. Какие основные поля в конфигурации 164 +2. Какие есть kill сигналы? 165 + 1. Когда мы во время выполнения команды жмем Ctrl + C то какой сигнал отправляется? 166 +3. Что такое ядро Linux? 167 + 1. Как посмотреть веросию ядра Linux? 168 + 2. Что такое системные и вызовы и какие бывают? 169 +4. Какой командой посмотреть сетевые интерфейсы? 170 +5. Какой командой посмотреть какие приложения занимают те или иные порты? 171 +6. Как забрать права на доступ к файлу или директории в linux? 172 +7. Как можно запланировать выполнение комманды по расписанию, например каждую минуту? 173 + 1. Как помотреть список уже запланированных заданий? 174 +8. Что такое SSH? 175 + 1. Что нужно чтобы подключиться к удаленному серверу через SSH? 176 + 2. Как посмотреть запущен ли SSH сервер на linux хосте? 177 + 3. Где находится конфигурация SSH сервера? 178 + 4. Где хранятся ssh ключи текущего пользователя? 179 +9. Как установить программму в Linux Ubuntu? 180 + 10. Как обновить все программы? 181 + 11. Как посмотреть информацию о комманде или программе? 182 +12. Как заменить одно слово на другое в файле? 183 +13. Как редактировать файл в Linux? 184 + 1. Что такое файловый дискриптор? 185 +14. Как посмотреть запущенные процессы? 186 +15. Как завершить запущенный процесс grafana? 135 135 136 -1. Какой командой посмотреть сетевые интерфейсы? 137 -1. Какой командой посмотреть какие приложения занимают те или иные порты? 138 -1. Как забрать права на доступ к файлу или директории в linux? 139 -1. 140 140 141 -Как можно запланировать выполнение комманды по расписанию, например каждую минуту? 1. Как помотреть список уже запланированных заданий? 1. 142 142 143 -Что такое SSH? 1. Что нужно чтобы подключиться к удаленному серверу через SSH? 1. Как посмотреть запущен ли SSH сервер на linux хосте? 1. Где находится конфигурация SSH сервера? 1. Где хранятся ssh ключи текущего пользователя? 144 - 145 -1. Как установить программму в Linux Ubuntu? 146 -1. Как обновить все программы? 147 -1. Как посмотреть информацию о комманде или программе? 148 -1. Как заменить одно слово на другое в файле? 149 -1. 150 - 151 -Как редактировать файл в Linux? 1. Что такое файловый дискриптор? 152 - 153 -1. Как посмотреть запущенные процессы? 154 -1. Как завершить запущенный процесс grafana? 155 - 156 156 ### Git 157 157 158 -1. 192 +1. Как создать новую ветку? 193 + 1. Как переключиться на другую ветку? 194 +2. Как откатиться на несколько версий назад чтобы последние изменения ищезли? 195 +3. Как отправить наши текущие изменения в удаленный репозиторий? 196 +4. Как выполнить добавление изменений из одной ветки в другую? 197 + 1. Что делать если при этом возник конфликт? 198 +5. Как скачать себе локально последние изменения из удаленного репозитория (репозиторий уже есть на компьютере)? 199 +6. Чем отличается tag от branch? 200 +7. Чем отличается fetch от pull? 159 159 160 -Как создать новую ветку? 1. Как переключиться на другую ветку? 161 - 162 -1. Как откатиться на несколько версий назад чтобы последние изменения ищезли? 163 -1. Как отправить наши текущие изменения в удаленный репозиторий? 164 -1. 165 - 166 -Как выполнить добавление изменений из одной ветки в другую? 1. Что делать если при этом возник конфликт? 167 - 168 -1. Как скачать себе локально последние изменения из удаленного репозитория (репозиторий уже есть на компьютере)? 169 -1. Чем отличается tag от branch? 170 -1. Чем отличается fetch от pull? 171 - 172 172 ### GitLab 173 173 174 -1. 204 +1. Что такое GitLab CI/CD и CI/CD в целом? 205 + 1. Какие поля есть в шагах (stages)? 206 + 2. Как хранить пароли? 207 + 3. Как сделать так чтобы два или больше шагов запускались одновременно? 208 +2. Что такое артефакты и где они хранятся 209 +3. Что такое stage, preprod, prod окружения? 210 +4. Как склонировать себе локально git репозиторий из gitlab используя ssh? 175 175 176 -Что такое GitLab CI/CD и CI/CD в целом? 1. Какие поля есть в шагах (stages)? 1. Как хранить пароли? 1. Как сделать так чтобы два или больше шагов запускались одновременно? 177 - 178 -1. Что такое артефакты и где они хранятся 179 -1. Что такое stage, preprod, prod окружения? 180 -1. Как склонировать себе локально git репозиторий из gitlab используя ssh? 181 - 182 182 ### Сеть и сетевые технологии 183 183 184 -1. Что такое прокси и чем отличается от VPN? 185 -1. Что такое балансировщик нагрузки? 186 -1. Что такое кэширующий сервер и какие проблемы решает? 187 -1. 214 +1. Что такое прокси и чем отличается от VPN? 215 +2. Что такое балансировщик нагрузки? 216 +3. Что такое кэширующий сервер и какие проблемы решает? 217 +4. Что такое выделенный IP адресс в cloud? 218 + 1. Как правильно ограничить трафик к нашему приложению чтобы оно было доступно только нам? 219 +5. Какие есть уровни модели TCP/IP и пример протоколов на каждом из них? 220 + 1. В чем разница между TCP и UDP? 221 + 1. Что такое трехстороннее рукопожатие? 222 + 2. В чем разница между HTTP и HTTPS? 223 + 1. Опишите жизненный цикл запроса HTTP 224 + 2. Какие существуют методы HTTP? 225 + 3. Какие существуют коды/статусы ответа HTTP? 226 + 4. Какие распространненые заголовки HTTP? 227 + 3. Что такое TLS и как работает? 228 + 4. Что такое SMTP и как работает? 229 + 5. В чем разница между IP и MAC адресами? Для чего они используется? 230 + 6. Какие основные виды HTTP запросов существуют? 231 +6. Что такое TTL (Time to Live)? 232 +7. Как работает DHCP? 233 +8. Что такое DNS сервер? 234 + 1. По какому протоколу работает? 235 + 2. Что должен делать если не нашел запись у себя в конфигурации? 188 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 - 197 -1. Что такое TTL (Time to Live)? 198 -1. Как работает DHCP? 199 -1. 200 - 201 -Что такое DNS сервер? 1. По какому протоколу работает? 1. Что должен делать если не нашел запись у себя в конфигурации? 202 - 203 203 ### Docker и работа с упакованными в контейнер приложениями 204 204 205 -1. Чем контейнеризация Docker отличается от виртуализаии? 206 -1. Чем отличается контейнер от образа (image)? 207 -1. 239 +1. Чем контейнеризация Docker отличается от виртуализации? 240 +2. Чем отличается контейнер от образа (image)? 241 +3. Как создать свой образ docker? 242 + 1. Что такое базовый образ? 243 + 2. Чем хорошо образ alpine linux и чем он отличается например от образа ubuntu linux? 244 + 3. В чем отличия между COPY и ADD? 245 + 4. Есть ли отличия между CMD и ENTRYPOINT и можно ли их использовать вместе? 246 + 5. Где лучше хранить собраные образы docker? 247 +4. Как запустить несколько образов вместе на своем компьютере для тестирования? 248 + 1. Можно ли в docker compose ограничить использование RAM и CPU для отдельных контейнеров? 249 + 2. Сохранятся ли данные записанные приложением в контенйнере на диск после его перезапуска? 250 + 3. Что такое volumes и для каких приложений использовать их нужно? 251 + 4. Как настроить контейнер так чтобы он перезапускался сам если приложение внутри сломается? 252 +5. Где хранятся volumes и logs в docker? 208 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 - 213 -1. Где хранятся volumes и logs в docker? 214 - 215 215 ### Облачные технологии 216 216 217 217 1. Для чего нам вообще нужны облака? ... ... @@ -225,39 +225,42 @@ 225 225 226 226 ### Kubernetes или коротко k8s 227 227 228 -1. 267 +1. Какие компоненты должны быть установлены на master node? 268 + 1. А какие на worker node? 269 +2. Что такое etcd? 270 + 1. Какой тип у этой базы данных? 271 + 2. Почему в etcd должно быть нечетное количество реплик? 272 +3. Как настраивается сеть в k8s? 273 + 1. Что такое CNI? 274 + 2. Каким образом каждому pod выдается отдельный IP? 275 +4. Что такое service? 276 + 1. Как с помощью service обратиться к pod в другом namespace? 277 + 2. Является ли service DNS именем? 278 + 3. По какому правилу service будет распределять трафик между pod? 279 + 4. Чем отличаются service вида headless и clusterIP? 280 +5. Какие виды prob вы знаете? 281 + 1. Для чего нужна каждая из них? 282 +6. Сколько контейнеров может быть в одном pod? 283 + 1. Нужно ли создавать service для того чтобы контейнеры отправляли друг другу запросы в рамках одного pod? 284 +7. Какие ingress контроллеры вы знаете? 285 + 1. Что такое ingress, какие ресурсы он связывает на сетевом уровне? 286 + 2. Как в ingress использовать SSL сертификаты? 287 +8. Чем отличаются annotations от labels и приведите по одному примеру использования? 288 +9. Основные различия между Deployment, StatefulSet и DaemonSet? 289 +10. Что такое lifecycle хуки? 290 + 1. Для чего используется preStop хук с `sleep 10` функцией? 291 +11. Для чего нужны лимиты (limits) и запросы (requests) у pod? 292 + 1. HPA при расчетах использует limits или requests? 293 + 2. Планировщик при выборе на какую node размещать pod учитывает limits? 294 +12. Каким образом можем ограничить права пользователей в k8s? 295 +13. Чем так удобны helm charts? 296 + 14. Какие основные компоненты чарта? 297 + 15. Что находится в файле `values.yaml` и `Chart.yaml`? 298 + 16. Для чего в папке templates создают файл `_helpers.tpl`? 299 + 17. Как создать цикл который создаст несколько сущностей (например ports в service)? 300 + 18. Как сделать условный оператор для boolean значений и для строк? 301 + 19. Что будет записано вместо темплейта `{{ divf .Values.replicaCount .Values.zones | ceil }}`? Как может пригодиться читать тут https://github.com/eabykov/devops-kubernetes/blob/main/ЛУЧШИЕ_ПРАКТИКИ.md в коментарие к разделу *Распределите ваши pod по разным node и разным зонам (датацентрам)* 229 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 - 244 -1. Чем отличаются annotations от labels и приведите по одному примеру использования? 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 - 252 -1. Каким образом можем ограничить права пользователей в k8s? 253 -1. Чем так удобны helm charts? 254 -1. Какие основные компоненты чарта? 255 -1. Что находится в файле values.yaml и Chart.yaml? 256 -1. Для чего в папке templates создают файл _helpers.tpl? 257 -1. Как создать цикл который создаст несколько сущностей (например ports в service)? 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 и разным зонам (датацентрам)_ 260 - 261 261 ### Vault 262 262 263 263 1. Для чего нужен Vault?