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

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

Наши каналы: https://t.iss.one/proglibrary/9197

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

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
Какую роль EndpointSlice играет в сервисах Kubernetes без селекторов?

👾 — Улучшенная масштабируемость
👍 — Улучшенная безопасность
🥰 — Гибкость в конфигурации бэкэнда
— Упрощенная сеть

Библиотека задач по DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите команду, проверяющую версии Docker client и Docker server.

Версию Docker можно проверить с помощью docker version [параметры]. Если не указывать параметры, команда выдаст всю информацию, связанную с версией клиента и сервера. Чтобы получить только версию сервера, можно запустить такую команду:

docker version --format '{{.Server.Version}}'


Библиотека задач по DevOps
Объясните паттерны IaaS/PaaS/SaaS на примере пиццы.

На картинках варианты ответов.

Библиотека задач по DevOps
Приведите примеры облачных платформ, поддерживающих Docker

Amazon Web Services
Microsoft Azure
Google Cloud Platform
Rackspace


Библиотека задач по DevOps
Какой из следующих способов является допустимым для предоставления сервиса в Kubernetes?

👾
— kind: Service
spec:
type: ClusterIP

👍 — kind: Service
spec:
type: NodePort

🥰 — kind: Service
spec:
type: LoadBalancer

— Все вышеперечисленные

Библиотека задач по DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Какова цель развертывания Kubernetes?

👾 — Определить и управлять набором модулей, а также обеспечить их постоянную работу
👍 — Создание и управление сетью взаимосвязанных контейнеров
🥰 — Для обеспечения балансировки нагрузки и распределения сетевого трафика между несколькими модулями
— Для автоматического масштабирования количества модулей в зависимости от использования ресурсов

Библиотека задач по DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Какой файл YAML используется для определения модуля Kubernetes?

👾
— apiVersion: v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-container
image: my-image:latest

👍 — apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: my-app
ports:
- protocol: TCP
port: 80
targetPort: 8080

🥰 — apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: container-1
image: image-1
- name: container-2
image: image-2

— apiVersion: apps/v1
kind: DaemonSet
metadata:
name: my-daemonset
spec:
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-container
image: my-image:latest

Библиотека задач по DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Какова функция Kubernetes Ingress?

👾 — Хранить журналы для модулей
👍 — Предоставлять сервисы внешним пользователям и обеспечивать HTTP-маршрутизацию
🥰 — Контролировать использование памяти между узлами
— Развертывать модули на нескольких узлах

Библиотека задач по DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Последняя неделя перед стартом курса по AI-агентам

Старт курса уже 5го числа! Если вы планировали вписаться — сейчас ПОСЛЕДНИЙ шанс забронировать место

На курсе:
разложим LLM по косточкам: токенизация, SFT, PEFT, инференс
— соберём RAG и научимся оценивать его адекватно
— построим настоящую мультиагентную систему — архитектуру, которая умеет расти
— разберём CoPilot, сломаем через prompt injection (спасибо Максу)
— и наконец, посмотрим, как это работает в MCP и реальных кейсах

📍 Это 5 живых вебинаров + раздатка + домашки + чат с преподавателями

И главное — возможность реально разобраться, как проектировать системы на LLM, а не просто «поиграться с API»

👉 Курс здесь
Как можно проверить состояние всех модулей в кластере Kubernetes?

👾 — kubectl get pods -o wide
👍 — kubectl describe pods
🥰 — kubectl get pod -o json
— kubectl logs pods

Библиотека задач по DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Какой из перечисленных типов объектов Kubernetes является допустимым?

👾
— kind: PodTemplate
👍 — kind: ReplicaSet
🥰 — kind: ServiceAccount
— Все вышеперечисленное

Библиотека задач по DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Какова цель сервиса Kubernetes?

👾
— Определение и управление набором модулей, которые работают вместе для предоставления услуги
👍 — Для обеспечения балансировки нагрузки и распределения сетевого трафика между несколькими модулями
🥰 — Для создания и управления постоянными томами хранения для Pod-ов
— Для автоматического масштабирования количества модулей в зависимости от использования ресурсов

Библиотека задач по DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Как удалить развертывание Kubernetes с именем «my-deployment»?

👾 — kubectl delete deployment my-deployment
👍 — kubectl remove deployment my-deployment
🥰 — kubectl rm deployment my-deployment
— kubectl delete deploy my-deployment

Библиотека задач по DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Необходимо проходить по списку 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}"