Изменения документа DevOps
Редактировал(а) Anton Krivchenkov 06.01.2025 19:01
От версии 2.3
отредактировано Anton Krivchenkov
на 06.01.2025 19:01
на 06.01.2025 19:01
Изменить комментарий:
К данной версии нет комментариев
К версии 2.1
отредактировано Anton Krivchenkov
на 06.01.2025 19:01
на 06.01.2025 19:01
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -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/CD43 +</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 и Kubernetes52 +</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 и настройка с помощью Ansible97 +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 +