diff --git a/questions/kubernetes.md b/questions/kubernetes.md index 0f0be50..0bdb2d3 100644 --- a/questions/kubernetes.md +++ b/questions/kubernetes.md @@ -462,4 +462,74 @@ StatefulSet используются для управления stateful-при Чтобы HPA работал необходимо, чтобы в кластере был установлен metrics-server, чтобы считывать меетрики потребления ресурсов. По умолчанию HPA можно настроить для метрики потребления CPU и/или памяти. Возможно расширение функционала HPA с помощью [keda](https://keda.sh/). + + +34. Что такое Headless сервис? + +
+ Ответ + +При указании `ClusterIP: None` для сервиса мы создаём "безголовый сервис", у данного сервиса не будет виртуального IP адреса. Headless сервис это просто А-запись в системе DNS, таким образом имя сервиса преобразуется не в виртуальный IP сервиса, а сразу в IP пода. Headless сервисы полезны, когда приложение само должно управлять тем, к какому Pod подключаться. Например, gRPC-клиенты держат по одному соединению с сервисами и сами управляют запросами, мультиплексируя запросы к одному серверу. В случае использования ClusterIP клиент может создать одно подключение и нагружать ровно один Pod сервера. + +
+ +35. Что такое ExternalName сервис? + +
+ Ответ + +Сервис типа ExternalName добавляет запись типа CNAME во внутренний DNS сервер Kubernetes. Например: +``` +apiVersion: v1 +kind: Service +metadata: + name: ya-ru +spec: + type: ExternalName + externalName: ya.ru +``` +Для сервиса `ya-ru` не создаётся endpoint. Поэтому сразу переходим к запросам к DNS. +``` +ya-ru.default.svc.cluster.local. 5 IN CNAME ya.ru. +``` + +
+ +36. Что такое ExternalIP сервис? + +
+ Ответ + +При определении сервиса можно добавить поле externalIPs, в котором можно указать IP адрес машины кластера. При обращении на этот IP и указанный в сервисе порт, запрос будет переброшен на соответствующий сервис. +Например: +``` +apiVersion: v1 +kind: Service +metadata: + name: external-svc-nginx + labels: + app: nginx +spec: + ports: + - name: http-main + port: 8080 + protocol: TCP + targetPort: 8090 + selector: + app: nginx + externalIPs: + - 192.168.218.178 +``` +При обращении к 192.168.218.178:8080 запрос будет переброшен к сервису external-svc-nginx:8080 + +
+ +37. Что такое NodePort сервис? + +
+ Ответ + +Сервисы типа NodePort открывают порт на каждой ноде кластера на сетевых интерфейсах хоста. Все запросы, приходящие на этот порт, будут пересылаться на endpoints, связанные с данным сервисом. +Диапазон портов, который можно использовать в NodePort — 30000-32767. Но его можно изменить при конфигурации кластера. +
\ No newline at end of file diff --git a/questions/linux.mainPlus.md b/questions/linux.mainPlus.md index 7cda090..d798a40 100644 --- a/questions/linux.mainPlus.md +++ b/questions/linux.mainPlus.md @@ -349,3 +349,24 @@ IP адрес хоста, при его наличии у DNS сервера, в - Запрос может также содержать и другие заголовки. Необходимо только, чтобы сервер смог понять эти заголовки. + +15. Порядок загрузки дистрибутива Linux. + +
+ Ответ + +1. Включение компьютера кнопкой. +2. Загрузить BIOS / UEFI из NVRAM. +3. Собрать сведения об аппаратуре. +4. Выбрать устройства для запуска (диск, сеть). +5. Идентифицировать системный раздел EFI. +6. Загрузить BIOS / UEFI из NVRAM. +7. Определить какое ядро загрузить. +8. Загрузить ядро. +9. Создать структуры данных ядра. +10. Запустить init / systemd как PID 1. +11. Выполнить сценарии запуска. +12. Запустить систему. + +
+ diff --git a/questions/theoryDevOps.md b/questions/theoryDevOps.md index 2363834..9edf189 100644 --- a/questions/theoryDevOps.md +++ b/questions/theoryDevOps.md @@ -4,4 +4,18 @@ 2. Что такое Scrum и Kanban? Чем они отличаются? -3. Какие инструменты использует DevOps? \ No newline at end of file +3. Какие инструменты использует DevOps? + +4. Теорема САР. Что это такое? + +
+ Ответ + +Теорема CAP (известная также как теорема Брюера) — эвристическое утверждение о том, что в любой реализации распределённых вычислений возможно обеспечить не более двух из трёх следующих свойств: + +- Согласованность данных (англ. consistency) — во всех вычислительных узлах в один момент времени данные не противоречат друг другу; +- Доступность (англ. availability) — любой запрос к распределённой системе завершается корректным откликом, однако без гарантии, что ответы всех узлов системы совпадают; +- Устойчивость к разделению (англ. partition tolerance) — расщепление распределённой системы на несколько изолированных секций не приводит к некорректности отклика от каждой из секций. + +
+