Изменения документа DevOps
Редактировал(а) Anton Krivchenkov 06.01.2025 19:01
От версии 3.1
отредактировано Anton Krivchenkov
на 06.01.2025 19:01
на 06.01.2025 19:01
Изменить комментарий:
К данной версии нет комментариев
К версии 2.2
отредактировано Anton Krivchenkov
на 06.01.2025 19:01
на 06.01.2025 19:01
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -113,144 +113,105 @@ 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 # какую программу будет устанавливать 120 +</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 # какие права будут у файла на удаленной машине 122 +Вопросы на собеседовании 145 145 146 -- name: restart prometheus # перезапустить prometheus 147 - service: 148 - name: prometheus # с каким сервисом будем работать 149 - state: restarted # перезапустить prometheus 150 - enabled: yes # запускать nginx при перезапуске системы 151 -``` 124 +Хороший набор ответов: [https://habr.com/ru/articles/775560/](https://habr.com/ru/articles/775560/) 152 152 153 - ---126 +### Linux 154 154 155 - ###Вопросына собеседовании128 +1. 156 156 157 - Хорошийнабор ответов:[https://habr.com/ru/articles/775560/](https://habr.com/ru/articles/775560/)130 +Что такое systemd 1. Где находится конфигурация 1. Какие основные поля в конфигурации 1. 158 158 159 - ###Linux132 +Какие есть kill сигналы? 1. Когда мы во время выполнения команды жмем Ctrl + C то какой сигнал отправляется? 1. 160 160 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? 134 +Что такое ядро Linux? 1. Как посмотреть веросию ядра Linux? 1. Что такое системные и вызовы и какие бывают? 187 187 136 +1. Какой командой посмотреть сетевые интерфейсы? 137 +1. Какой командой посмотреть какие приложения занимают те или иные порты? 138 +1. Как забрать права на доступ к файлу или директории в linux? 139 +1. 188 188 141 +Как можно запланировать выполнение комманды по расписанию, например каждую минуту? 1. Как помотреть список уже запланированных заданий? 1. 189 189 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 + 190 190 ### Git 191 191 192 -1. Как создать новую ветку? 193 - 1. Как переключиться на другую ветку? 194 -2. Как откатиться на несколько версий назад чтобы последние изменения ищезли? 195 -3. Как отправить наши текущие изменения в удаленный репозиторий? 196 -4. Как выполнить добавление изменений из одной ветки в другую? 197 - 1. Что делать если при этом возник конфликт? 198 -5. Как скачать себе локально последние изменения из удаленного репозитория (репозиторий уже есть на компьютере)? 199 -6. Чем отличается tag от branch? 200 -7. Чем отличается fetch от pull? 158 +1. 201 201 160 +Как создать новую ветку? 1. Как переключиться на другую ветку? 161 + 162 +1. Как откатиться на несколько версий назад чтобы последние изменения ищезли? 163 +1. Как отправить наши текущие изменения в удаленный репозиторий? 164 +1. 165 + 166 +Как выполнить добавление изменений из одной ветки в другую? 1. Что делать если при этом возник конфликт? 167 + 168 +1. Как скачать себе локально последние изменения из удаленного репозитория (репозиторий уже есть на компьютере)? 169 +1. Чем отличается tag от branch? 170 +1. Чем отличается fetch от pull? 171 + 202 202 ### GitLab 203 203 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? 174 +1. 211 211 176 +Что такое GitLab CI/CD и CI/CD в целом? 1. Какие поля есть в шагах (stages)? 1. Как хранить пароли? 1. Как сделать так чтобы два или больше шагов запускались одновременно? 177 + 178 +1. Что такое артефакты и где они хранятся 179 +1. Что такое stage, preprod, prod окружения? 180 +1. Как склонировать себе локально git репозиторий из gitlab используя ssh? 181 + 212 212 ### Сеть и сетевые технологии 213 213 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. Что должен делать если не нашел запись у себя в конфигурации? 184 +1. Что такое прокси и чем отличается от VPN? 185 +1. Что такое балансировщик нагрузки? 186 +1. Что такое кэширующий сервер и какие проблемы решает? 187 +1. 236 236 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 + 237 237 ### Docker и работа с упакованными в контейнер приложениями 238 238 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? 205 +1. Чем контейнеризация Docker отличается от виртуализаии? 206 +1. Чем отличается контейнер от образа (image)? 207 +1. 253 253 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 + 254 254 ### Облачные технологии 255 255 256 256 1. Для чего нам вообще нужны облака? ... ... @@ -264,42 +264,39 @@ 264 264 265 265 ### Kubernetes или коротко k8s 266 266 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 и разным зонам (датацентрам)* 228 +1. 302 302 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 + 303 303 ### Vault 304 304 305 305 1. Для чего нужен Vault?