Библиотека собеса по DevOps | вопросы с собеседований
3.07K subscribers
121 photos
4 videos
2 files
154 links
Вопросы с собеседований по DevOps и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/d7e18893

Работать у нас: https://job.proglib.io/

Наши каналы: https://yangx.top/proglibrary/9197
加入频道
Что такое ARP? Как это работает?

ARP означает протокол разрешения адресов (Address Resolution Protocol). Когда вы пытаетесь проверить IP-адрес в локальной сети, скажем, 192.168.1.1, ваша система должна преобразовать IP-адрес 192.168.1.1 в MAC-адрес. Это предполагает использование ARP для разрешения адреса, отсюда и его название. Системы хранят справочную таблицу ARP, в которой хранится информация о том, какие IP-адреса с какими MAC-адресами связаны. При попытке отправить пакет на IP-адрес система сначала сверится с этой таблицей, чтобы узнать, знает ли она уже MAC-адрес. Если значение кэшировано, ARP не используется.
Что такое service account?

Это уникальные элементы в API Kubernetes, которые называются учетными записями служб (ServiceAccounts) и связаны с определенным пространством имен и набором учетных данных, хранящихся в объектах Secrets в кластере. Эти пользователи (ServiceAccounts) предназначены главным образом для управления правами доступа к API Kubernetes для процессов, работающих в кластере Kubernetes.
🐳✈️ Docker ушёл из РФ! Инструкция по восстановлению доступа к Docker Hub для пользователей из России

Docker заблокировал доступ к своему главному репозиторию Docker Hub для пользователей из России. Однако есть способы обойти это ограничение и продолжить работу. В этом посте мы расскажем, как настроить альтернативные репозитории и зеркала.

Читать статью
Что такое bearer token?

Bearer token, также известный как токен учетной записи службы, представляет собой JWT-токен, который генерируется автоматически при создании новой учетной записи службы. Он содержит информацию о конкретной учетной записи службы и подписывается корневым сертификатом кластера. Этот токен сохраняется в объекте типа secret, который затем монтируется в POD по стандартному пути и периодически обновляется. При использовании данного токена процесс, запущенный в контейнере, получает доступ к API Kubernetes и может выполнять только разрешенные действия.
🔥 Кто такой DevOps-инженер?

Человек, что стоит на страже покоя. Человек, способный помирить программиста и системного администратора. Человек, способный сохранить бизнесу миллионы.

В этом ролике кратко рассказывается про задачи DevOps и про необходимые навыки. Также самое интересное — зарплаты DevOps-инженера.

Смотреть видео
В чем разница между deployment и statefulset?

В наименованиях PODов есть различия: в deployment в качестве суффикса используется случайный хеш, а в statefulset — порядковый номер. Каждый POD в statefulset имеет особое доменное имя, по которому к нему можно обратиться (это особенно полезно, например, для mongodb, где клиент должен знать имена всех узлов кластера).

При работе с дисками (volume) statefulset использует алгоритм работы at most once, который ожидает завершения работы предыдущего POD с таким же именем, чтобы занять его привязанный диск, в то время как PODы deployment'а могут занять первый доступный диск.

В стратегиях перезапуска PODов при обновлении также имеются различия.
В чем отличие меток (labels) от аннотаций (annotations)?

Метки используются для создания механизмов поиска и группировки объектов, в то время как аннотации используются для добавления метаинформации к объекту. Например, с помощью аннотаций можно запретить service mesh внедрять sidecar-контейнеры в определенные поды.
Что такое role/clusterRole?

Роли определяют права с помощью наборов правил, которые включают:

— Группы API, описанные в официальной документации по apiGroups и выводимые командой kubectl api-resources;
— Ресурсы (например, pod, namespace, deployment и другие);
— Глаголы (например, set, update и другие);
— Имена ресурсов (resourceNames), которые используются в случае необходимости предоставления доступа к определенному ресурсу, а не ко всем ресурсам данного типа.
Каким образом мы можем разделять права в k8s?

Для управления правами в Kubernetes используется механизм RBAC (Role Based Access Control). В этой системе выделяются три группы объектов: пользователь (user) или учетная запись сервиса (service account), которая определяет субъект доступа; роль (role) или кластерная роль (clusterRole), определяющая разрешения; и привязка роли (roleBinding) или кластерной роли (clusterRoleBinding) к конкретному субъекту.
Что такое CSI-плагин?

Это концепция, которая обеспечивает единообразное использование сетевых файловых систем, построенных на различных технологических основах.

Мы определяем storageClass, который соответствует дискам определенного типа, и разворачиваем provisioner в кластере — специальное программное обеспечение, способное заказывать сетевые диски в системе, способной их предоставлять (например, NAS или СХД).

Затем мы создаем объект persistentVolumeClaim, указывая нужный storageClass.

При появлении запроса на persistentVolumeClaim, provisioner заказывает диск необходимого размера в системе, которая их предоставляет, создает объект persistentVolume и связывает его с persistentVolumeClaim. При запуске POD на узле, соответствующий диск монтируется на этот узел по определенному пути, который затем монтируется на файловую систему POD.
👀Что из этого сгенерировала нейросеть?

Подписывайтесь на наш новый канал про нейросети для создания изображений, там есть:

🌸Новые нейросети и инструменты, например, вот модель генерирует картинки по наброску
🌸Промты для разных задач
🌸Лайфхаки по использованию нейросетей

👉Подписывайтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое финалайзеры (finalizers) и для чего они нужны?

Это уникальные ключи в манифесте объекта, которые определяют операции, необходимые для выполнения перед удалением объекта. Например, они используются для предотвращения удаления pvc и pv при активном PODе.
✍️Библиотека программиста» находится в поиске автора оригинальных статей

Кто нужен?
● Энтузиасты (джуны и выше), которые держат руку на пульсе, читают помимо книг зарубежные техноблоги
● Энтузиасты, которым есть что сказать

Тематика
● DevOps
● В четырех случаях из пяти вы предлагаете тему статьи

Объем
● От 7 до 15 тыс. знаков без учета кода
● 2-3 статьи в месяц

Оплата
● 8к руб. за статью
● Работаем с самозанятыми (компенсируем налог), ИП

Я пишу «так себе», что делать?
Чтобы написать статью, которую не стыдно опубликовать, достаточно овладеть инфостилем. У нас есть бесплатный курс для начинающих копирайтеров «Статьи для IT: как объяснять и распространять значимые идеи». Время прохождения курса: 1-2 недели.

✉️Пишите на [email protected]
👨‍💻📎 27 сайтов с задачками для оттачивания навыков программирования

Программистам без практики никуда. Поэтому время прокачать навыки: решение задач — хороший способ развить навыки разработки.

Вам под силу эти задачи?➡️

🔗 Ссылка на сайты
Please open Telegram to view this post
VIEW IN TELEGRAM
Какие типы volum’ов можно использовать в k8s?

Для подключения папки на ноде можно воспользоваться hostpath, однако необходимо учитывать, что POD должен быть привязан к конкретной ноде. В случае перемещения POD на другую ноду, он будет использовать ту же папку, но содержимое в ней может отсутствовать.

Другой вариант использования — local-storage, который также использует папку на диске, но привязан к конкретной ноде и автоматически привязывает POD к нужной ноде.

Также есть возможность использовать сетевые диски с помощью CSI-плагинов.
Можно ли запускать базы данных в k8s?

При определенных условиях, стоит учитывать, что контейнеры не оказывают значительного влияния на производительность приложений, однако сетевой компонент в k8s может вызывать определенные задержки, в зависимости от его реализации. В контейнерах сложнее проводить тонкую настройку приложений, так как изменение настроек ядра ОС и других низкоуровневых параметров для повышения производительности требует определенных навыков. Однако такая настройка не требуется часто.

Если мы сможем обеспечить необходимое дисковое пространство для хранения файлов баз данных и возможность переноса их между узлами, то в k8s можно успешно запускать stateful-приложения. Существуют также базы данных и очереди, оптимизированные для работы в k8s, что делает их готовыми к облачным средам. Для управления приложениями в k8s существуют операторы (Kubernetes operators), которые облегчают эксплуатацию stateful-приложений, например, postgresql stolon для управления кластерами postgresql и strimzi для управления kafka.
🎮Новый канал по разработке игр

Мы наконец-то запустили канал по разработке игр — теперь все самое важное и полезное из мира геймдева можно узнать в одном месте.

👉Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое Puppet? Как он работает?

Puppet — это инструмент управления конфигурацией, обеспечивающий настройку всех систем до желаемого и предсказуемого состояния.
Proglib запускает канал Азбука айтишника

Подписывайтесь на наш новый канал про айти для неайтишников — для совсем новичков и тех, кто постоянно взаимодействует с айтишниками.

У нас есть рубрики:
База — в ней рассказываем про термины из IT простым языком
Проект — объясняем, из чего состоят айтишные проекты и сколько они могут стоить
Психология айтишника — тут говорим про софт-скиллы, особенности работы и взаимодействия

👉Подписывайтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
Определите услугу/проект, используемый для каждого из следующих действий:

Копирование или снимок инстансов
Графический интерфейс для просмотра и изменения ресурсов
Блочное хранилище
Управление виртуальными инстансами

По порядку: Glance, Horizon, Cinder, Nova