Библиотека собеса по 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
加入频道
Напишите политику для AWS S3 бакета, которая разрешает доступ только с определенных IP адресов.

{
"Id": "AllowFromSourceIP",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "SourceIP",
"Action": "s3:*",
"Effect": "Deny",
"Resource": [
"arn:aws:s3:::demo-bucket",
"arn:aws:s3:::demo-bucket/*"
],
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"11.11.11.11/32",
"22.22.22.22/32"
]
}
},
"Principal": "*"
}
]
}
Что такое непрерывная интеграция?

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

Каждый фрагмент кода (изменение / патч) проверяется для того, чтобы изменения можно было безопасно объединить. Сегодня обычной практикой является тестирование изменений с помощью автоматизированной сборки, которая обеспечивает интеграцию кода. Это может быть одна сборка, которая запускает несколько тестов на разных уровнях (модульных, функциональных и т. д.), или несколько отдельных сборок, которые нужно пройти, чтобы изменения были добавлены в репозиторий.
Что такое тестовая кухня в Chef?

Test Kitchen — это инструмент командной строки в Chef, который запускает экземпляр и тестирует на нем cookbook перед ее развертыванием на реальных узлах.

Вот наиболее часто используемые команды.
Какие инструменты с открытым исходным кодом вы используете, чтобы сделать Puppet более мощным?

Изменения в конфигурации отслеживаются с помощью Jira, а дальнейшее обслуживание осуществляется посредством внутренних процедур. Контроль версий использует поддержку Git и приложения диспетчера кода Puppet. Изменения передаются через конвейер непрерывной интеграции Jenkins.
Какие ресурсы есть в Puppet?

Ресурсы — это базовые единицы любого инструмента управления конфигурацией. Это функции ноды, такие как его пакеты программного обеспечения или услуги. Объявление ресурса, записанное в каталоге, описывает действие, которое должно быть выполнено над ресурсом или с ним. Когда каталог выполняется, он устанавливает ноду в желаемое состояние.
Почему люди используют SSH?

SSH, или Secure Shell, используется для установки безопасного соединения между клиентом и сервером. Это важно для таких задач, как удаленное управление сервером, обеспечение зашифрованной и аутентифицированной связи.
Какова важность управления конфигурацией в DevOps?

Управление конфигурацией (CM) помогает команде автоматизировать трудоемкие и утомительные задачи, тем самым повышая производительность и гибкость организации. Это также помогает обеспечить согласованность и улучшить процесс разработки продукта за счет использования средств оптимизации проектирования, обширной документации, контроля и внедрения изменений на различных этапах.
Что такое тестирование устойчивости?

Тестирование устойчивости — это программный процесс, который проверяет поведение приложения в неконтролируемых и хаотических сценариях. Он гарантирует, что данные и функциональность не будут потеряны после возникновения сбоя.
Что такое синий/зеленый шаблон развертывания?

Это метод непрерывного развертывания, который обычно используется для сокращения времени простоя. Здесь трафик передается от одного экземпляра к другому. Чтобы включить новую версию кода, мы должны заменить старый код новой версией кода. Новая версия существует в зеленой среде, а старая версия — в синей среде. После внесения изменений в предыдущую версию нам нужен новый экземпляр из старого, чтобы выполнить более новую версию экземпляра.
Назовите три механизма безопасности, которые Дженкинс использует для аутентификации пользователей.

⚡️Дженкинс использует внутреннюю базу данных для хранения пользовательских данных и учетных данных.
⚡️Jenkins может использовать сервер облегченного протокола доступа к каталогам (LDAP) для аутентификации пользователей.
⚡️Jenkins можно настроить на использование механизма аутентификации, который использует развернутый сервер приложений.
Опишите некоторые шаблоны развертывания.

Blue Green развертывания и Canary-релизы являются распространенными шаблонами развертывания.

В сине-зеленых развертываниях у вас есть две идентичные среды. В «зеленой» среде находится текущая производственная система. Развертывание происходит в «синей» среде.

«Синяя» среда проверяется на наличие неисправностей и, если все работает хорошо, балансировка нагрузки и другие компоненты переключаются из «зеленой» среды в «синюю».

Canary-релизы — это релизы, в которых определенные функции предоставляются определенной группе пользователей, чтобы снизить риск, связанный с выпуском новых функций.
Как запустить несколько контейнеров с помощью одного сервиса?

С помощью Docker Compose можно запускать несколько контейнеров как одну службу. Здесь каждый контейнер работает изолированно, но может взаимодействовать друг с другом. Все файлы Docker Compose представляют собой файлы YAML.
Каково значение непрерывного тестирования в DevOps?

Процесс непрерывного тестирования выполняется в DevOps, чтобы избежать тестирования всего кода за раз. В традиционном SDLC мы тестируем код после того, как весь код разработан, но в DevOps мы тестируем мгновенно каждое изменение, внесенное в код. Этот вид тестирования позволяет избежать задержек с выпуском продукта, а также помогает добиться более высокого качества.
Как посмотреть нагрузку на диски?

Установить утилиту sysstat, проверить нагрузку на диски iostat -xtc.
По вашему опыту, в чем преимущества DevOps?

Пример ответа: «Применяя философию DevOps, я получил несколько преимуществ, в том числе более быстрый выход на рынок, повышенную надежность и стабильность, а также улучшенную масштабируемость. Благодаря простоте распределения ресурсов, которую обеспечивает горизонтальное и вертикальное масштабирование, команды могут улучшить масштабируемость приложения и лучше удовлетворить требования пользователей. Автоматизация, непрерывная интеграция и непрерывная доставка также могут облегчить командам быстрое создание, тестирование и развертывание своих приложений и сократить время вывода на рынок. Автоматизированное тестирование и мониторинг также могут помочь повысить общую надежность и стабильность приложения.»
Опишите идеальную облачную инфраструктуру и настройку облачного ведения логов.

Пример ответа: «Я предпочитаю сочетание инстансов для обработки, управляемых баз данных для хранения данных, балансировщиков нагрузки для распределения трафика и CDN для доставки контента. Для логгинга я использую централизованные решения, такие как ELK Stack, для мониторинга и анализа поведения системы».
В каких случаях не отработает перенос пода на другую ноду?

Если на другой ноде нет ресурсов для размещения пода или нет сетевой доступности до ноды.
Как вы можете временно отключить безопасность Jenkins, если пользователи с правами администратора заблокировали доступ к консоли администратора?

Если безопасность включена, файл конфигурации содержит XML-элемент с именем useSecurity, которому будет присвоено значение true.

Если изменить этот параметр на false, безопасность будет отключена при следующем перезапуске Jenkins.
Почему важно иметь управление конфигурацией в DevOps?

Пример ответа: «Это гарантирует, что конфигурации приложения согласованы в различных средах, уменьшая количество ошибок во время развертывания и гарантируя, что приложения ведут себя должным образом».
Что такое Puppet Modules и чем они отличаются от Puppet Manifests?

Модуль Puppet — это просто набор данных (фактов, шаблонов, файлов и т. д.) и манифестов. Эти модули имеют определенную структуру каталогов и помогают организовать коды Puppet, поскольку их можно использовать для разделения кода на различные манифесты. Использование модулей Puppet для организации почти всех манифестов Puppet считается лучшей практикой. Модули Puppet отличаются от манифестов, поскольку последние представляют собой просто программы Puppet, содержащие код.