Библиотека задач по DevOps | тесты, код, задания
2.87K subscribers
115 photos
3 videos
2 files
150 links
Задачи и тесты по DevOps для тренировки и обучения.

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

Наши каналы: https://yangx.top/proglibrary/9197

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

Работать у нас: https://job.proglib.io/
加入频道
Чем отличается count от for_each?

count — это итерация по списку, который содержит целочисленные элементы, for_each — это итерация по корневым ключам словаря, которые могут содержать данные любого типа.

resource "aws_instance" "web" {
count = 3

instance_type = "t2.micro"
ami = data.aws_ami.debian_buster.id
tags = {
Name = "WebServer-${count.index + 1}"
}
}
Описание ресурса выше создаст 3 одинаковых EC2 инстанса, изменив имя с указанием номера текущего состояния счётчика. count начинает отсчет с 0, поэтому чтобы 1 EC2 инстанс был с индексом 1 в имени ему прибавили 1.

resource "aws_instance" "server" {
for_each = {
web = { type = "t2.micro", public_ip = true },
db = { type = "m5.large", public_ip = false }
}

instance_type = each.value["type"]
ami = data.aws_ami.debian_buster.id
associate_public_ip_address = each.value["public_ip"]
tags = {
Name = "each.key"
}
}
Ресурс выше создаст 2 EC2 инстанса с итерацией по ключам each.key и использовав значения вложенных словарей в конфигурации EC2.
Как IaC реализуется с помощью AWS?

Начните с разговора о старых механизмах записи команд в файлы сценариев и их тестирования в отдельной среде перед развертыванием, а также о том, как этот подход заменяется IaC. Подобно коду, написанному для других сервисов, IaC позволяет разработчикам писать, тестировать и поддерживать объекты инфраструктуры в описательной форме, используя такие форматы, как JSON или YAML. Это упрощает разработку и ускоряет развертывание изменений инфраструктуры.
Какая из следующих команд запускает Jenkins из командной строки?
Anonymous Quiz
17%
java –jar Jenkins.war
13%
java –war Jenkins.jar
64%
java –jar Jenkins.jar
6%
java –war Jenkins.war
Какой файл используется для определения зависимостей в Maven?
Anonymous Quiz
9%
build.xml
61%
pom.xml
27%
dependency.xml
2%
Version.xml
Как запустить браузер с помощью WebDriver в Selenium?

Чтобы запустить браузер с помощью WebDriver, используется следующий синтаксис:

WebDriver driver = new InternetExplorerDriver();

WebDriver driver = new ChromeDriver();

WebDriver driver = new FirefoxDriver();
Приведите примеры, облачных платформ поддерживающих Docker.

Amazon Web Services
Microsoft Azure
Google Cloud Platform
Rackspace
Какую из следующих команд CLI можно использовать для переименования файлов?
Anonymous Quiz
6%
git rm
87%
git mv
7%
git rm -r
Что такое роль в Ansible?

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

Два способа перезапустить Jenkins вручную:
(Jenkins_url)/restart — принудительно перезагружается, не дожидаясь завершения сборки.
(Jenkins_url)/safeRestart — позволяет завершить все запущенные сборки перед их перезапуском.
В облаке есть 3 зоны доступности. Как сделать так, чтобы поды приложения распределились по этим зонам доступности равномерно?

Необходимо настроить podAntiAffinity. Либо, более новый вариант для данной задачи, настроить topologySpreadConstraints с указание ключа лейбла зон.
По-умолчанию, в Ansible все задачи из списка выполняются параллельно на всех хостах, которые указаны в hosts. Как сделать так, чтобы задачи выполнялись последовательно по хостам?

Необходимо установить параметр serial: 1, чтобы определить количество хостов, на которых будут выполняться паралелльно задачи. Значение 1 будет значить, что все задачи будут проходить параллельно по 1 хосту за раз.
Как запустить несколько контейнеров с помощью одного сервиса?

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

Nagios считается объектно-ориентированным, поскольку он использует модульную конструкцию, в которой элементы системы представлены как объекты с определенными свойствами и поведением. Эти объекты могут взаимодействовать друг с другом для создания единой системы мониторинга. Такая философия проектирования упрощает обслуживание и масштабируемость, а также обеспечивает более эффективное управление данными.
Расскажите про основной файл конфигурации и его расположение в Nagios.

Основной файл конфигурации состоит из нескольких директив, влияющих на работу Nagios. Процесс Nagios и CGI читают файл конфигурации. Пример основного файла конфигурации будет помещен в каталог настроек: /usr/local/Nagios/etc/resource.cfg
Каковы предварительные условия для внедрения DevOps?

Ниже приведены полезные предварительные условия для внедрения DevOps:
✍🏻 По крайней мере одно программное обеспечение для контроля версий
✍🏻 Правильная коммуникация между членами команды
✍🏻 Автоматизированное тестирование
✍🏻 Автоматизированное развертывание
Какой из этих вариантов не является методом WebElement?
Anonymous Quiz
7%
getText()
41%
size()
14%
getTagName()
38%
sendKeys()
Что такое тестирование устойчивости?

Тестирование устойчивости — это программный процесс, который проверяет поведение приложения в неконтролируемых и хаотических сценариях. Это также гарантирует, что данные и функциональность не будут потеряны после возникновения сбоя.
Назовите три важных KPI DevOps.

Три важных KPI заключаются в следующем:
Среднее время восстановления после сбоя: это среднее время, необходимое для восстановления после сбоя.
Частота развертывания: частота, с которой происходит развертывание.
Процент неудачных развертываний: количество неудачных развертываний.
Как ограничить связь между подами Kubernetes?

В зависимости от используемого вами сетевого плагина CNI, если он поддерживает API сетевой политики Kubernetes, Kubernetes позволяет вам указывать сетевые политики, ограничивающие доступ к сети.

Политики могут ограничивать IP-адреса, порты и/или селекторы. (Селекторы — это фича, специфичная для Kubernetes, которая позволяет подключать и связывать правила или компоненты друг с другом. Например, вы можете подключить определенные тома к определенным модулям на основе меток, используя селекторы.)
Что такое ветвление?

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