cookie

Sizning foydalanuvchi tajribangizni yaxshilash uchun cookie-lardan foydalanamiz. Barchasini qabul qiling», bosing, cookie-lardan foydalanilishiga rozilik bildirishingiz talab qilinadi.

avatar

DevOps | Вопросы собесов

Reklama postlari
3 228
Obunachilar
-224 soatlar
+907 kunlar
+77230 kunlar

Ma'lumot yuklanmoqda...

Obunachilar o'sish tezligi

Ma'lumot yuklanmoqda...

🤔 Что такое контейнеризация в DevOps?Anonymous voting
  • Разработка приложений
  • Управление версиями
  • Изоляция зависимостей
  • Автоматизация тестов
0 votes
Для какого приложения использовать StatefulSet(а не Deployment) и почему ? Спросят с вероятностью 13% StatefulSet идеально подходит для приложений, которым необходимо поддерживать стабильное состояние или уникальные идентификаторы подов. Это отличает StatefulSet от Deployment, который лучше подходит для управления stateless (безсостоянийми) приложениями. Важность его использования проявляется в случаях, когда приложения или сервисы требуют одного или нескольких из следующих условий: 1️⃣Постоянное хранилище данных Гарантирует, что каждому поду может быть постоянно присвоен том хранения данных (Persistent Volume). Это означает, что даже если под перезапускается или перемещается на другой узел, его данные сохранятся и будут доступны под тем же самым подключением. Это критически важно для приложений, таких как: ✅Базы данных: такие как MySQL, PostgreSQL, MongoDB, где каждый экземпляр должен сохранять свои данные независимо и гарантированно переносить их при рестарте или перепланировании. ✅Хранилища данных: системы, такие как Elasticsearch или Cassandra, которые также зависят от постоянства данных для обеспечения целостности и производительности. 2️⃣Стабильные идентификаторы сети Каждый под получает уникальный и стабильный сетевой идентификатор. Это позволяет подам легко обнаруживать друг друга и эффективно взаимодействовать в рамках кластера. Такая особенность необходима для: ✅Распределённые системы и кластеры: приложения, которым требуется стабильная внутренняя сеть для обеспечения взаимосвязи между узлами и правильного распределения данных или задач. 3️⃣Порядок запуска и остановки Обеспечивает упорядоченный и предсказуемый порядок развертывания и масштабирования подов. Это особенно важно для: ✅Приложений, требующих специфической последовательности запуска: например, системы, которые должны инициализировать мастер-узел перед запуском рабочих узлов или обновление схемы базы данных перед запуском приложений, зависящих от этой схемы. Почему не Deployment? Не предоставляет механизмы для управления состоянием или уникальными хранилищами данных. Поды, управляемые через Deployment, могут быть заменены любым другим подом без сохранения каких-либо связей с использованными ранее хранилищами данных или сетевыми идентификаторами. Это делает Deployment идеальным для stateless приложений, где каждый под взаимозаменяем и не зависит от своего предыдущего состояния. Использование StatefulSet вместо Deployment рекомендуется для приложений, требующих постоянства, стабильности и порядка в управлении своим состоянием и данными. Для безсостоянийных приложений, которые не хранят данные пользователя или внутреннее состояние между сессиями, предпочтительнее использовать Deployment. 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1119 вопросов на DevOps. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых
Hammasini ko'rsatish...
1
Photo unavailableShow in Telegram
⚡️В сети начали находить курсы и книги известных онлайн школ в открытом доступе Вот отсортированная база с тонной материала(постепенно пополняется): 🔗 БАЗА (3385 видео): (343 видео, 87 книги) — Java (176 видео, 32 книги) — Git (293 видео, 63 книги) — C# (352 видео, 89 книги) — С++ (167 видео, 53 книги) — PHP (227 видео, 83 книги) — SQL (163 видео, 29 книги) — Linux (363 видео, 122 книги) — Python (415 видео, 168 книги) — Frontend (143 видео, 33 книги) — Flask (167 видео, 43 книги) — Django (197 видео, 49 книги) — Разработка ботов (137 видео, 93 книги) — Data Science (113 видео, 82 книги) — GameDev (129 видео, 73 книги) — QA Скачивать ничего не нужно — все выложили в Telegram и на YouTube с доступом по ссылке
Hammasini ko'rsatish...
🤔 Какой инструмент не используется для CI/CD?Anonymous voting
  • Jenkins
  • GitLab
  • Nagios
  • Travis CI
0 votes
Что такое Kubernetes ? Спросят с вероятностью 20% Kubernetes (часто сокращенно K8s) — это открытая платформа для автоматизации развертывания, масштабирования и управления контейнеризированными приложениями. Эта система была разработана и запущена инженерами Google на основе их опыта работы с системой Borg и предоставлена сообществу как проект с открытым исходным кодом. Сейчас Kubernetes поддерживается Cloud Native Computing Foundation (CNCF). Основные концепции и компоненты: 1️⃣Поды (Pods): Минимальная и базовая единица развертывания в Kubernetes. Каждый под представляет собой один или несколько контейнеров, которые разделяют хранилище, сетевой стек, и другие ресурсы. 2️⃣Сервисы (Services): Абстракция, которая определяет логический набор подов и политику доступа к ним. Сервисы позволяют подам быть доступными снаружи или внутри кластера. 3️⃣Деплойменты (Deployments): Управляют развертыванием подов. Они позволяют обеспечить декларативное обновление приложений, а также позволяют масштабировать, откатывать и обновлять состояние подов. 4️⃣ConfigMaps и Secrets: Предоставляют способ хранения конфигурационных данных и секретов (например, паролей и ключей), которые могут быть использованы подами без внедрения их непосредственно в образ контейнера. 5️⃣Ингресс (Ingress): Управляет доступом к сервисам в кластере извне, предоставляя правила маршрутизации трафика. Зачем он нужен? 1️⃣Масштабируемость: Позволяет автоматически масштабировать количество подов в зависимости от нагрузки. 2️⃣Управление ресурсами: Контролирует и автоматически распределяет вычислительные ресурсы между подами в кластере. 3️⃣Самовосстановление: Автоматически перезапускает контейнеры, которые завершили работу неудачей, заменяет и пересоздает поды, которые не отвечают на проверки состояния. 4️⃣Обновление и откаты: Позволяет обновлять приложения с минимальными простоями и откатывать изменения, если что-то идет не так. Предположим, у вас есть веб-приложение, разбитое на микросервисы. Kubernetes может помочь управлять этими сервисами, масштабировать их независимо друг от друга, обеспечивать их отказоустойчивость и бесперебойную работу. Kubernetes — это система для автоматизации развертывания, масштабирования и управления контейнеризированными приложениями, обеспечивающая высокий уровень масштабируемости и управляемости инфраструктурой. Это как дирижер оркестра, который руководит музыкантами (контейнерами), убеждаясь, что каждый играет свою партию правильно и вовремя. 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1119 вопросов на DevOps. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых
Hammasini ko'rsatish...
👍 5
🤔 Какой инструмент используется для автоматической настройки серверов?Anonymous voting
  • Jenkins
  • Ansible
  • Git
  • Docker
0 votes
🤯 43🤔 7😁 6👀 2👾 2👍 1
Сколько мастеров в kubernetes должно быть и почему ? Спросят с вероятностью 13% Число мастер-узлов зависит от требований к доступности и отказоустойчивости вашего приложения или сервиса. Управляют состоянием кластера, распределяют работу между рабочими узлами (worker nodes) и синхронизируют различные конфигурации. Важно правильно спланировать архитектуру мастер-узлов, чтобы обеспечить стабильную и надежную работу кластера. Конфигурация: 1️⃣Одиночный мастер-узел: Простейшая конфигурация кластера с одним мастер-узлом подходит для разработки, тестирования или маленьких проектов, где высокая доступность не является критической. Однако, такой кластер уязвим к сбоям, поскольку отказ единственного мастера может привести к полной недоступности кластера. 2️⃣Множество мастер-узлов: Для производственных сред, где требуется высокая доступность, рекомендуется использовать несколько мастер-узлов. На практике часто используют конфигурацию с тремя мастер-узлами, которая обеспечивает баланс между стоимостью, сложностью управления и отказоустойчивостью. Почему три мастер-узла? 1️⃣Отказоустойчивость: Использование трех мастер-узлов позволяет переносить нагрузку с одного узла на другой в случае его сбоя, что существенно повышает надежность кластера. При отказе одного узла, два других могут продолжить работу, не допуская простоя системы. 2️⃣Распределение нагрузки: Несколько мастер-узлов позволяют распределять запросы API, задачи управления и другие операции между узлами, что улучшает производительность и масштабируемость кластера. 3️⃣Толерантность к разделению сети (Split-brain): В случае сетевых проблем, которые могут вызвать "разделение мозга" (split-brain), где часть узлов теряет связь с другой частью, наличие нечетного числа узлов с использованием алгоритма консенсуса (например, etcd использует RAFT) помогает правильно определить, какая группа узлов должна продолжать работу, предотвращая неконсистентность данных. 4️⃣Минимизация издержек: Хотя можно использовать и больше мастер-узлов для дополнительной отказоустойчивости, три узла часто являются оптимальным выбором, учитывая затраты на инфраструктуру и управление. Принятие решения Выбор числа мастер-узлов зависит от множества факторов, включая бюджет, требования к SLA (Service Level Agreement), и технические возможности поддерживать и управлять расширенной инфраструктурой. Для малых или не критичных сред может подойти один мастер-узел, тогда как для крупных, критически важных систем, где требуется высокая доступность и надежность, рекомендуется использовать три и более мастер-узлов. 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1119 вопросов на DevOps. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых
Hammasini ko'rsatish...
👍 5
🤔 Какая система управления контейнерами лучше всего подходит для масштабирования?Anonymous voting
  • Docker Swarm
  • Kubernetes
  • Mesos
  • OpenShift
0 votes
😁 10👀 1👾 1
Что такое entrypoint \ cmd ? Спросят с вероятностью 20% ENTRYPOINT и CMD — это две инструкции, которые определяют команду и параметры, исполняемые при запуске контейнера. Они похожи, но служат немного разным целям и взаимодействуют между собой определенным образом. ENTRYPOINT Определяет исполняемый файл, который будет запущен при старте контейнера. Он фактически устанавливает постоянную базовую команду, к которой затем можно добавить дополнительные аргументы при запуске контейнера. Это можно использовать, например, чтобы сделать контейнер ведущим себя как исполняемый файл.
# Используется официальный образ Python
FROM python:3.8

# Устанавливаем рабочий каталог
WORKDIR /app

# Копируем исходный код в контейнер
COPY . /app

# Устанавливаем зависимости
RUN pip install -r requirements.txt

# Устанавливаем entrypoint
ENTRYPOINT ["python", "app.py"]
В этом примере, он устанавливает команду python app.py как команду, которая будет выполнена при запуске контейнера. CMD Предоставляет аргументы по умолчанию для ENTRYPOINT. Если ENTRYPOINT не указан, то он также может быть использован для указания исполняемой команды. Однако, если ENTRYPOINT указан, CMD предоставляет дополнительные аргументы к этой команде.
# Используется официальный образ Python
FROM python:3.8

# Устанавливаем рабочий каталог
WORKDIR /app

# Копируем исходный код в контейнер
COPY . /app

# Устанавливаем зависимости
RUN pip install -r requirements.txt

# Устанавливаем entrypoint и cmd
ENTRYPOINT ["python"]
CMD ["app.py"]
В этом случае ENTRYPOINT устанавливает команду python, а CMD предоставляет файл app.py как аргумент по умолчанию. Если при запуске контейнера указать другие аргументы, например docker run myimage hello.py, то CMD будет перезаписан, и вместо app.py будет выполнен hello.py. ENTRYPOINT задает основную команду контейнера, а CMD предоставляет аргументы по умолчанию для этой команды. ENTRYPOINT как бы говорит "всегда выполняй это", а CMD добавляет "если не сказано иначе, используй эти параметры". 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1119 вопросов на DevOps. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых
Hammasini ko'rsatish...
👍 13
Когда используется UDP ? Спросят с вероятностью 13% Протокол UDP (User Datagram Protocol) — это один из основных транспортных протоколов, используемых в сетях, работающих на основе протокола IP. Является протоколом без установления соединения, что означает, что данные передаются без предварительной проверки доступности получателя и без подтверждения получения данных. Это делает его отличным выбором для определённых видов сетевых приложений и услуг. Преимущества: 1️⃣Быстрота: Отсутствие необходимости установления соединения и отсутствие механизмов подтверждения получения делают его более быстрым по сравнению с TCP. 2️⃣Эффективность: Низкая нагрузка на протокол благодаря минимальным заголовкам и отсутствию контроля состояния соединения. 3️⃣Поддержка многопоточной передачи: Поддерживает одновременную передачу данных множеству получателей (мультикастинг и броадкастинг). Сценарии использования: 1️⃣Видео- и аудиостриминг: Приложения для стриминга мультимедиа, такие как IPTV или онлайн-радио, часто используют UDP, поскольку он позволяет быстро передавать потоковые данные, а некоторая потеря данных (например, несколько кадров видео или мгновения аудио) обычно не сильно сказывается на качестве восприятия. 2️⃣Онлайн-игры: Для онлайн-игр критически важны скорость и минимальная задержка, что делает UDP предпочтительным выбором. Игры обычно спроектированы так, чтобы могли корректировать небольшие потери данных или обновлять игровое состояние в следующем пакете. 3️⃣VoIP (Голосовая связь по IP): Приложения, такие как Skype или Zoom, могут использовать UDP для передачи голоса в реальном времени. Потеря небольшого количества пакетов данных может быть менее заметна, чем задержки, вызванные попытками их восстановления. 4️⃣DNS-запросы: Протокол определения доменных имен (DNS) обычно использует UDP для запросов из-за их малого размера, что обеспечивает быстроту и эффективность в выполнении большого числа небольших запросов. 5️⃣DHCP (Dynamic Host Configuration Protocol): Протокол для автоматической настройки IP-адресов на клиентских устройствах также использует UDP. Ограничения:Отсутствие гарантии доставки: Не гарантирует, что данные дойдут до получателя, что может потребовать реализации механизмов подтверждения и контроля на уровне приложений. ✅Отсутствие контроля порядка: Пакеты могут прибывать не по порядку, что требует контроля порядка на стороне получающего приложения, если это критично для функционирования. ✅Отсутствие контроля перегрузки: Продолжит отправку данных, даже если сеть перегружена, что может усугубить проблемы с перегрузками. UDP используется, когда скорость передачи данных и маленькая задержка являются более важными, чем надежность доставки. Это делает его идеальным для видеостриминга, онлайн-игр, VoIP и других приложений, где некоторые потери данных приемлемы. 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1119 вопросов на DevOps. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых
Hammasini ko'rsatish...

👍 15🔥 1
Boshqa reja tanlang

Joriy rejangiz faqat 5 ta kanal uchun analitika imkoniyatini beradi. Ko'proq olish uchun, iltimos, boshqa reja tanlang.