Библиотека задач по DevOps | тесты, код, задания
الذهاب إلى القناة على Telegram
Задачи и тесты по DevOps для тренировки и обучения. По рекламе: @proglib_adv Наши каналы: https://t.me/proglibrary/9197 Учиться у нас: https://proglib.io/w/2b07c285 Для обратной связи: @proglibrary_feeedback_bot
إظهار المزيد3 007
المشتركون
لا توجد بيانات24 ساعات
لا توجد بيانات7 أيام
+630 أيام
أرشيف المشاركات
Какую из следующих команд CLI можно использовать для переименования файлов?
Приведите примеры, облачных платформ поддерживающих Docker.
Amazon Web Services
Microsoft Azure
Google Cloud Platform
Rackspace
Как запустить браузер с помощью WebDriver в Selenium?
Чтобы запустить браузер с помощью WebDriver, используется следующий синтаксис:
WebDriver driver = new InternetExplorerDriver();
WebDriver driver = new ChromeDriver();
WebDriver driver = new FirefoxDriver();
Какой файл используется для определения зависимостей в Maven?
Какая из следующих команд запускает Jenkins из командной строки?
Как IaC реализуется с помощью AWS?
Начните с разговора о старых механизмах записи команд в файлы сценариев и их тестирования в отдельной среде перед развертыванием, а также о том, как этот подход заменяется IaC. Подобно коду, написанному для других сервисов, IaC позволяет разработчикам писать, тестировать и поддерживать объекты инфраструктуры в описательной форме, используя такие форматы, как JSON или YAML. Это упрощает разработку и ускоряет развертывание изменений инфраструктуры.
Чем отличается 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.
Почему компонент непрерывного тестирования так важен для DevOps?
По сути, непрерывное тестирование позволяет разработчикам выполнять постоянное тестирование после каждого обновления, внедрённого в системe. Делая это, весь процесс становится более плавным – в других случаях, все тесты будут проходить до окончания периода спринта, что выльется в падения и следовательно трату времени.
Как Chef используется в качестве инструмента СМ?
Chef считается одним из предпочтительных отраслевых инструментов Configuration Management. Например, Facebook перенесла инфраструктуру на платформу Chef. Объясните, как эта система управления конфигурациями, написанная на Ruby, поможет избежать задержек, автоматизируя процессы. Chef позволяет интегрироваться с облачными платформами, настраивать новые системы, а также предоставляет библиотеки, которые могут быть развернуты в рамках ПО.
Что такое Memcached?
Memcached — это система кеширования объектов в памяти с открытым исходным кодом. Она широко используется для ускорения процесса извлечения данных SQL, предотвращая повторное выполнение длительных запросов при параллельной обработке.
Поговорим о сервере логов Nagios.
Целью сервера логов Nagios является упрощение поиска данных логов. Таким образом, он лучше всего подходит для таких задач, как настройка оповещений, уведомлений о потенциальных угрозах, запрос данных логов и быстрый аудит системы. Использование сервера логов Nagios позволяет разместить все данные логов в одном месте с высокой доступностью.
В чем разница между DevOps и Agile?
Agile — это набор ценностей и принципов в отношении производственных методов, таких как разработка ПО. Например, если у кого-то есть идея и он хочет преобразовать концепцию в практическое программное обеспечение, он может использовать ценности и принципы Agile для достижения этой цели. Однако программное обеспечение может работать только на компьютере разработчика или в тестовой среде. Чтобы легко и быстро перенести ПО в производственную инфраструктуру безопасным и простым способом, им потребуются инструменты и методы DevOps.
Чем отличается StatefulSet от Deployment?
Deployment — ресурс Kubernetes предназнваенный для развертывания приложения без сохранения состояния. При использовании PVC все реплики будут использовать один и тот же том, и ни один из них не будет иметь собственного состояния.
StatefulSet — поддерживают состояние приложений за пределами жизненного цикла отдельных модулей pod, например для хранилища. Используется для приложений с отслеживанием состояния, каждая реплика модуля будет иметь собственное состояние и будет использовать свой собственный том.
Администратор выполняет команду kubectl apply -f deployment.yaml. Опишите по порядку что происходит в каждом из узлов Kubernetes и в каком порядке.
Клиент kubectl обращается к мастер-серверу kube-apiserver (стандартно на порт 6443), адрес мастер сервер задан в .config файле. В запросе передаётся информация, которую нужно применить в кластере обращения. API-сервер обращается к etcd хранилищу, проверяет наличие конфигурации запрашиваемого ресурса. Если конфигурация в хранилище etcd есть, то API-сервер сравнивает новую конфигурацию с конфигурацией в базе данных: если конфигурация одинаковая, то изменений в кластере не происходит, клиенту отдается ответ об успешности запрашиваемого действия, если конфигурации нет в etcd, то если требуемое действие касается создания сущностей, которые требуют ресурсов кластера (создания подов, хранилища pv/pvc и т.д.), scheduler проверяет возможность размещения подов на нодах и после чего происходит создание подов, при этом controll-manager контроллирует создание нужного поличества реклик сущности. После создания трубуемой сущности, происходит запись в etcd, controll-manager продолжает отслеживать состояние сущностей на протяжении всего цикла его жизни.
Почему DaemonSet не нужен scheduler?
DaemonSet гарантирует, что определенный под будет запущен на всех нодах кластера. При наличии DaemonSet в кластере на любой из существующих и будущих нод в кластере зарезервированы ресурсы для пода на ноде.
Здесь стоит сделать оговорку насчет того, что DaemonSet может работать не на всех нодах кластера, а на некоторых, выбранных, например, по nodeSelector. К примеру, у нас есть GPU ноды и нам нужно на все эти ноды задеплоить микросервис выполняющий вычисления на GPU.
Для чего в основном используется Docker?
Что выполняет конструкция extends: .plan в gitlab CI?
extends используется для повторного использования секции пайплайна (аналог фунции). .plan указывает на имя повторяемой секции в пайплайне. Первым в шаге выполняется скрипт из extends.
Repost from Библиотека девопса | DevOps, SRE, Sysadmin
جوائز السحب
3 اشتراك Telegram Premium لمدة 3 شهر
تاريخ الانتهاء
Необходимо проходить по списку URL'ов и проверять их доступность. Условия:
Список URL'ов находится в файле /urls.txt;
Доступный URL - значит код ответа не 5XX или 4XX;
Проверка должна быть оформлена в виде функции bash, которая должна вызываться внутри скрипта;
Функция должна принимать в качестве входного параметра путь к файлу с URL'ами;
При любом ответе недоступности от сервиса - прерывать дальнейшую проверку. Временное ограничение 20 мин.
Скрипт проверки. Запускать ./script.sh <путь до файла с URLs>
#!/usr/bin/env bash
set -xueo pipefail
FILE_URLS=${1:-}
if [[ -z "${FILE_URLS}" ]]; then
echo "File with URLs list do not defined."
exit 1
fi
function checkUrls() {
local URLS=$1
for URL in $(cat $URLS); do
STATUS=
curl -LI "${URL}" -o /dev/null -w '%{http_code}' -s
if [[ "${STATUS}" == "500" ]] || [[ "${STATUS}" == "400" ]]; then
echo "URL ${URL} unavailable!"
exit 1
else
echo "URL ${URL} available."
fi
done
}
checkUrls "${FILE_URLS}"
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
