и посмотреть медиа
DevOps - preguntas de entrevista
и посмотреть медиа
Entrevistas con DevOps.
bot de IA para clonar texto a voz y voz en Telegram. Cree audio utilizando la red neuronal de forma rápida y fácil.
Preguntas de entrevista en DevOps.
🤔 Что такое PaaS? Platform as a Service — модель, при которой платформа (среда исполнения, контейнер, фреймворк) уже настроена, и разработчик разворачивает код без управления инфраструктурой. Пример: Heroku, App Engine. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Где бы хранил tfstate если много разрабов? Файл terraform.tfstate содержит текущее состояние инфраструктуры. Если его неправильно хранить, возможны конфликты и повреждение данных. 🚩Плохие решения Локально (terraform.tfstate в репозитории) Потеря данных, если разработчик сменит машину. Конфликты, если несколько человек применяют terraform apply. Невозможно откатиться к старому состоянию. Не поддерживает блокировки (terraform lock). Возможны проблемы с одновременным доступом. 🚩Лучшие решения для хранения `tfstate` 🟠S3 + DynamoDB (AWS) → Самый популярный способ S3 хранит tfstate, а DynamoDB предотвращает конфликты. terraform { backend "s3" { bucket = "my-terraform-state" key = "prod/terraform.tfstate" region = "us-east-1" encrypt = true dynamodb_table = "terraform-lock" } } 🟠Terraform Cloud/Enterprise → Официальное SaaS-решение Terraform Cloud хранит tfstate в облаке HashiCorp. terraform { backend "remote" { hostname = "app.terraform.io" organization = "my-org" workspaces { name = "my-workspace" } } } 🟠Google Cloud Storage (GCS) + Firestore (GCP) Для GCP аналог AWS S3 — это Google Cloud Storage (GCS), а DynamoDB заменяется Firestore. terraform { backend "gcs" { bucket = "my-tfstate-bucket" prefix = "terraform/state" } } 🟠Azure Storage + Azure CosmosDB (Azure) Для Azure можно использовать Azure Storage и блокировки через Azure CosmosDB. terraform { backend "azurerm" { resource_group_name = "my-rg" storage_account_name = "myterraformstate" container_name = "tfstate" key = "prod.terraform.tfstate" } } Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 В каких случаях удобно использовать Kubernetes, а в каких Docker Compose? - Docker Compose — подходит для простых локальных окружений, отладки, микросервисов в одной машине. - Kubernetes — для продакшн-окружений, масштабируемости, отказоустойчивости, автодеплоя. Kubernetes нужен там, где требуется оркестрация, распределённость и гибкость. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Какая может быть проблема если вы подключаетесь к серверу через ssh а вам приходят тикеты, что другие пользователи не могут подключиться по ssh по одной и той же учётной записи Если вы можете подключиться к серверу по SSH, но другие пользователи, использующие ту же учетную запись, не могут, возможны следующие причины: 🟠Проблема с ограничением количества подключений В файле конфигурации SSH (/etc/ssh/sshd_config) могут быть ограничения на число одновременных подключений. Открываем конфигурацию SSH sudo nano /etc/ssh/sshd_config Проверяем параметры MaxSessions 1 MaxStartups 10:30:60 Решение Увеличьте MaxSessions, например: MaxSessions 10 Перезапустите SSH: sudo systemctl restart sshd 🟠Файл .ssh/authorized_keys имеет неверные права Если у вас ключевая авторизация, возможно, права на файлы .ssh/authorized_keys нарушены. На сервере выполните: ls -l ~/.ssh/authorized_keys Если права не 600, исправьте chmod 600 ~/.ssh/authorized_keys 🟠Ограничение по IP (DenyUsers, AllowUsers, TCP Wrappers) Конфигурация SSH может блокировать подключения для определенных IP или пользователей. Откройте /etc/ssh/sshd_config и проверьте параметры DenyUsers user1 AllowUsers admin Проверьте /etc/hosts.deny и /etc/hosts.allow cat /etc/hosts.deny cat /etc/hosts.allow 🟠Закончились доступные PTY (псевдотерминалы) Если исчерпан лимит доступных PTY, новые сессии не смогут открываться. Запустите ls /dev/pts Если там слишком много открытых сессий, попробуйте очистить: pkill -u user или увеличьте лимит в /etc/security/limits.conf * hard nproc 1024 * soft nproc 1024 Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Как правильно установить Ansible? Зависит от ОС. Основные способы: - Через pip install ansible (универсальный способ); - Через пакетный менеджер (apt, yum, dnf); - Через docker-контейнер; - В enterprise-решениях — через AWX / Ansible Tower. После установки важно проверить через ansible --version. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Как настраивать графики на панели графаны? Настройка графиков на панели Grafana позволяет визуализировать данные из подключенных источников в удобной и наглядной форме. 1⃣Создание новой панели (Panel) Откройте существующий дашборд или создайте новый: Перейдите в раздел Dashboards → New Dashboard. Нажмите Add new panel для добавления панели. 2⃣Выбор источника данных В интерфейсе панели в разделе Query выберите источник данных (Data Source) из выпадающего списка. Например, Prometheus, InfluxDB, MySQL, Elasticsearch. Подключение источника данных настраивается через Configuration → Data Sources. 3⃣Написание запроса для графика Каждый источник данных имеет свой язык запросов. Примеры: Prometheus rate(http_requests_total[5m]) MySQL SELECT time, value FROM metrics WHERE time > NOW() - INTERVAL 1 HOUR; Elasticsearch: Используйте Lucene или Elasticsearch Query DSL. 4⃣Настройка визуализации В разделе Visualization выберите тип графика: Time series (график по времени). Bar chart (столбчатая диаграмма). Gauge (гейдж/индикатор). Table (таблица). Pie chart (круговая диаграмма, доступна через плагин). Настройте параметры визуализации: Линии, точки, области (lines, points, fill). Цвета линий, область графика. Подписи данных. 5⃣Форматирование данных В разделе Transform: Преобразуйте данные (группировка, сортировка, вычисления). Добавьте фильтры или агрегируйте данные. В разделе Overrides: Настройте специфичные параметры для отдельных рядов данных (цвета, форматы отображения). 6⃣Настройка временного интервала Выберите временной диапазон панели в правом верхнем углу дашборда: Например, последние 5 минут, 1 час, 24 часа. Установите параметры временного сдвига, если нужно отображать данные за конкретный период. 7⃣Настройка подписей и описаний В разделе Panel settings: Укажите название панели. Добавьте описание для контекста. 8⃣Сохранение дашборда Нажмите Save dashboard. Укажите имя дашборда и добавьте теги (опционально) для удобного поиска. 🚩Полезные фишки 🟠Панели Variables Позволяют создавать динамические фильтры. Например, добавьте переменную для выбора имени хоста: label_values(node_cpu_seconds_total, instance) 🟠Плагины визуализации Установите дополнительные плагины из Grafana Marketplace (например, Pie Chart, Worldmap Panel). Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Что такое args и kwargs и как их использовать в Python? - *args — позволяет передать произвольное количество позиционных аргументов в функцию. - **kwargs — позволяет передать произвольное количество именованных аргументов. Они полезны для написания гибких функций и декораторов. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 На каких принципах работает докер? Это платформа для автоматизации развертывания, масштабирования и управления приложениями в контейнерах. Контейнеры позволяют изолировать приложения и их зависимости, обеспечивая легкую переносимость и консистентность окружения. Основные принципы работы Docker включают в себя контейнеризацию, использование образов, контейнеров, оркестрацию и сетевую инфраструктуру. 🚩Основные принципы 🟠Контейнеризация Контейнеризация позволяет запускать приложения и их зависимости в изолированных окружениях. Контейнеры предоставляют легкие и эффективные среды, которые включают все необходимое для запуска приложений. Контейнеры: Легковесные, изолированные окружения, которые работают поверх ядра хостовой операционной системы. Namespace: Механизм ядра Linux, обеспечивающий изоляцию процессов, сети, PID, пользовательских идентификаторов и монтирования файловых систем. Cgroups: Контрольные группы в Linux, которые ограничивают и отслеживают использование ресурсов контейнерами, включая процессорное время, память и I/O. 🟠Использование образов Образы Docker являются шаблонами для создания контейнеров. Образ включает в себя все необходимые компоненты, такие как код приложения, библиотеки, зависимости и конфигурационные файлы. Dockerfile: Скрипт, содержащий инструкции по созданию образа. Используется для автоматизации создания образов. Слойность: Каждый образ состоит из нескольких слоев, которые кэшируются и могут использоваться повторно, что ускоряет процесс сборки и уменьшает использование ресурсов. 🟠Изоляция и безопасность Docker обеспечивает изоляцию приложений, что позволяет запускать несколько контейнеров на одном хосте без взаимного влияния. Изоляция процессов: Каждый контейнер имеет свой собственный процессорный контекст, что исключает конфликты между приложениями. Изоляция файловой системы: Контейнеры имеют свои собственные файловые системы, изолированные от файловой системы хостовой операционной системы. Безопасность: Docker использует механизмы, такие как AppArmor, SELinux и seccomp, для обеспечения безопасности контейнеров. 🟠Управление сетями Docker предоставляет гибкие возможности управления сетями для контейнеров, включая создание изолированных сетей и подключение контейнеров к различным сетям. Bridge Network: Создает изолированную сеть для контейнеров на одном хосте. Host Network: Контейнер использует сетевые интерфейсы хостовой операционной системы. Overlay Network: Позволяет контейнерам на разных хостах взаимодействовать друг с другом. Macvlan Network: Контейнеры получают собственные MAC-адреса и ведут себя как физические устройства в сети. 🟠Хранение данных Docker поддерживает различные механизмы хранения данных для обеспечения сохранности и доступности данных контейнеров. Volumes: Независимые от контейнеров хранилища данных, которые могут быть подключены к одному или нескольким контейнерам. Bind Mounts: Позволяют монтировать директории хостовой файловой системы в контейнеры. Tmpfs: Использует память хоста для хранения данных контейнера, что полезно для временных данных. Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Что такое basic auth? Basic Auth (Basic Authentication) – это простой метод аутентификации HTTP-запросов. Он используется для ограничения доступа к ресурсам, отправляя логин и пароль в заголовке запроса. 🟠Как работает Basic Auth? Клиент делает запрос к серверу. Сервер отвечает 401 Unauthorized и требует аутентификацию: HTTP/1.1 401 Unauthorized WWW-Authenticate: Basic realm="Restricted Area" Клиент кодирует логин и пароль в Base64 и отправляет их в заголовке: Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ= 🟠Пример запроса с Basic Auth В curl curl -u username:password Ссылка скрыта В Python (requests): import requests from requests.auth import HTTPBasicAuth response = requests.get("Ссылка скрыта auth=HTTPBasicAuth("username", "password")) print(response.text) В JavaScript (fetch): fetch("Ссылка скрыта { headers: { "Authorization": "Basic " + btoa("username:password") } }) .then(response => response.text()) .then(data => console.log(data)); 🚩Минусы ➖Не безопасен без HTTPS данные передаются в открытом виде (Base64 — это не шифрование!). ➖Логин и пароль передаются в каждом запросе что делает систему уязвимой. ➖Нет механизма разлогинивания браузеры кэшируют креды, и их сложно сбросить. Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаSolo los usuarios registrados pueden compartir su opinión.
¡Sé el primero en compartir tu experiencia con este recurso!