Изменения документа DevOps
Редактировал(а) Anton Krivchenkov 06.01.2025 19:01
От версии 4.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 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,4 +1,4 @@ 1 -ВОПРОСЫ для проверки знаний: 1 +ВОПРОСЫ для проверки знаний: 2 2 3 3 {{toc/}} 4 4 ... ... @@ -113,86 +113,58 @@ 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 - 1. Какие основные поля в конфигурации 164 -1. Какие есть kill сигналы? 165 - 1. Когда мы во время выполнения команды жмем Ctrl + C то какой сигнал отправляется? 166 -1. Что такое ядро Linux? 167 - 1. Как посмотреть веросию ядра Linux? 168 - 1. Что такое системные и вызовы и какие бывают? 134 +Что такое ядро Linux? 1. Как посмотреть веросию ядра Linux? 1. Что такое системные и вызовы и какие бывают? 135 + 169 169 1. Какой командой посмотреть сетевые интерфейсы? 170 170 1. Какой командой посмотреть какие приложения занимают те или иные порты? 171 171 1. Как забрать права на доступ к файлу или директории в linux? 172 -1. Как можно запланировать выполнение комманды по расписанию, например каждую минуту? 173 - 1. Как помотреть список уже запланированных заданий? 174 -1. Что такое SSH? 175 - 1. Что нужно чтобы подключиться к удаленному серверу через SSH? 176 - 1. Как посмотреть запущен ли SSH сервер на linux хосте? 177 - 1. Где находится конфигурация SSH сервера? 178 - 1. Где хранятся ssh ключи текущего пользователя? 139 +1. 140 + 141 +Как можно запланировать выполнение комманды по расписанию, например каждую минуту? 1. Как помотреть список уже запланированных заданий? 1. 142 + 143 +Что такое SSH? 1. Что нужно чтобы подключиться к удаленному серверу через SSH? 1. Как посмотреть запущен ли SSH сервер на linux хосте? 1. Где находится конфигурация SSH сервера? 1. Где хранятся ssh ключи текущего пользователя? 144 + 179 179 1. Как установить программму в Linux Ubuntu? 180 - 1. Как обновить все программы?181 - 1. Как посмотреть информацию о комманде или программе?146 +1. Как обновить все программы? 147 +1. Как посмотреть информацию о комманде или программе? 182 182 1. Как заменить одно слово на другое в файле? 183 -1. Как редактировать файл в Linux? 184 - 1. Что такое файловый дискриптор? 149 +1. 150 + 151 +Как редактировать файл в Linux? 1. Что такое файловый дискриптор? 152 + 185 185 1. Как посмотреть запущенные процессы? 186 186 1. Как завершить запущенный процесс grafana? 187 187 188 188 ### Git 189 189 190 -1. Как создать новую ветку? 191 - 1. Как переключиться на другую ветку? 158 +1. 159 + 160 +Как создать новую ветку? 1. Как переключиться на другую ветку? 161 + 192 192 1. Как откатиться на несколько версий назад чтобы последние изменения ищезли? 193 193 1. Как отправить наши текущие изменения в удаленный репозиторий? 194 -1. Как выполнить добавление изменений из одной ветки в другую? 195 - 1. Что делать если при этом возник конфликт? 164 +1. 165 + 166 +Как выполнить добавление изменений из одной ветки в другую? 1. Что делать если при этом возник конфликт? 167 + 196 196 1. Как скачать себе локально последние изменения из удаленного репозитория (репозиторий уже есть на компьютере)? 197 197 1. Чем отличается tag от branch? 198 198 1. Чем отличается fetch от pull? ... ... @@ -199,10 +199,10 @@ 199 199 200 200 ### GitLab 201 201 202 -1. Чтотакое GitLab CI/CD и CI/CD в целом?203 - 1. Какие поля есть в шагах (stages)?204 - 1. Как хранить пароли? 205 - 1. Как сделать так чтобы два или больше шагов запускались одновременно?174 +1. 175 + 176 +Что такое GitLab CI/CD и CI/CD в целом? 1. Какие поля есть в шагах (stages)? 1. Как хранить пароли? 1. Как сделать так чтобы два или больше шагов запускались одновременно? 177 + 206 206 1. Что такое артефакты и где они хранятся 207 207 1. Что такое stage, preprod, prod окружения? 208 208 1. Как склонировать себе локально git репозиторий из gitlab используя ssh? ... ... @@ -212,41 +212,32 @@ 212 212 1. Что такое прокси и чем отличается от VPN? 213 213 1. Что такое балансировщик нагрузки? 214 214 1. Что такое кэширующий сервер и какие проблемы решает? 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 запросов существуют? 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 + 229 229 1. Что такое TTL (Time to Live)? 230 230 1. Как работает DHCP? 231 -1. Что такое DNS сервер? 232 - 1. По какому протоколу работает? 233 - 1. Что должен делать если не нашел запись у себя в конфигурации? 199 +1. 234 234 201 +Что такое DNS сервер? 1. По какому протоколу работает? 1. Что должен делать если не нашел запись у себя в конфигурации? 202 + 235 235 ### Docker и работа с упакованными в контейнер приложениями 236 236 237 -1. Чем контейнеризация Docker отличается от виртуализа ции?205 +1. Чем контейнеризация Docker отличается от виртуализаии? 238 238 1. Чем отличается контейнер от образа (image)? 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. Как настроить контейнер так чтобы он перезапускался сам если приложение внутри сломается? 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 + 250 250 1. Где хранятся volumes и logs в docker? 251 251 252 252 ### Облачные технологии ... ... @@ -262,41 +262,38 @@ 262 262 263 263 ### Kubernetes или коротко k8s 264 264 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 сертификаты? 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 + 285 285 1. Чем отличаются annotations от labels и приведите по одному примеру использования? 286 286 1. Основные различия между Deployment, StatefulSet и DaemonSet? 287 -1. Что такое lifecycle хуки? 288 - 1. Для чего используется preStop хук с `sleep 10` функцией? 289 -1. Для чего нужны лимиты (limits) и запросы (requests) у pod? 290 - 1. HPA при расчетах использует limits или requests? 291 - 1. Планировщик при выборе на какую node размещать pod учитывает limits? 246 +1. 247 + 248 +Что такое lifecycle хуки? 1. Для чего используется preStop хук с sleep 10 функцией? 1. 249 + 250 +Для чего нужны лимиты (limits) и запросы (requests) у pod? 1. HPA при расчетах использует limits или requests? 1. Планировщик при выборе на какую node размещать pod учитывает limits? 251 + 292 292 1. Каким образом можем ограничить права пользователей в k8s? 293 293 1. Чем так удобны helm charts? 294 294 1. Какие основные компоненты чарта? 295 -1. Что находится в файле `values.yaml`и`Chart.yaml`?296 -1. Для чего в папке templates создают файл `_helpers.tpl`?255 +1. Что находится в файле values.yaml и Chart.yaml? 256 +1. Для чего в папке templates создают файл _helpers.tpl? 297 297 1. Как создать цикл который создаст несколько сущностей (например ports в service)? 298 298 1. Как сделать условный оператор для boolean значений и для строк? 299 -1. Что будет записано вместо темплейта `{{ divf .Values.replicaCount .Values.zones | ceil }}`? Как может пригодиться читать тут<https://github.com/eabykov/devops-kubernetes/blob/main/ЛУЧШИЕ_ПРАКТИКИ.md>в коментарие к разделу _Распределите ваши pod по разным node и разным зонам (датацентрам)_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 и разным зонам (датацентрам)_ 300 300 301 301 ### Vault 302 302