ar
Feedback

لا تقع ضحية للمخادعين! تيليمتريو يكتشف ويُميّز هذه القنوات 👉 إذا كنت تريد رؤية العلامة، اشترك

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

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

الذهاب إلى القناة على Telegram
5 570
المشتركون
+224 ساعات
+77 أيام
-830 أيام
أرشيف المشاركات
Что такое API и зачем оно нужно ? Спросят с вероятностью 13% API (Application Programming Interface — программный интерфейс приложения) — это набор правил, спецификаций, инструментов и протоколов, который позволяет создавать ПО и приложения, обеспечивая взаимодействие между различными программными компонентами, системами и библиотеками. Ключевые функции: 1️⃣Интерфейс: API определяет, каким образом программы и компоненты могут взаимодействовать друг с другом, без необходимости вникать в детали их внутренней реализации. Это позволяет разработчикам использовать функциональность, которую предоставляет API, не заботясь о сложности внутренних процессов. 2️⃣Абстракция: API абстрагирует сложность взаимодействия с нижележащими системными уровнями или внешними сервисами, предоставляя разработчикам простой и понятный интерфейс для использования. 3️⃣Стандартизация: API устанавливает стандартные методы для выполнения различных операций, что гарантирует совместимость и унификацию взаимодействия различных компонентов программного обеспечения. Зачем он нужен? 1️⃣Интеграция систем: Позволяет различным системам и приложениям легко взаимодействовать друг с другом. Например, API веб-сервисов позволяет веб-приложениям запрашивать данные у серверов и выводить их пользователям в удобной форме. 2️⃣Расширение функциональности: С помощью сторонних API разработчики могут расширять функциональность своих приложений, используя уже готовые решения, такие как карты Google Maps, платежные системы PayPal или функции социальных сетей. 3️⃣Масштабируемость: Позволяет системам эффективно масштабироваться, предоставляя модульные компоненты, которые можно легко заменять или обновлять без влияния на другие части системы. 4️⃣Безопасность: С помощью можно контролировать доступ к различным функциям системы, обеспечивая безопасное взаимодействие между компонентами. API может служить прослойкой, которая проверяет и фильтрует запросы перед доступом к важным ресурсам. 5️⃣Разработка программного обеспечения: API упрощает разработку программ, позволяя разработчикам сосредоточиться на создании уникальных особенностей своего приложения, а не на реализации уже известных функций, доступных через API. Примеры использования: ✅Веб-API: Позволяют веб-приложениям запрашивать данные с серверов. Например, RESTful API используется для обмена данными между клиентом и сервером через HTTP. ✅Операционные системы API: Как Windows API, позволяет разработчикам писать функции, которые могут взаимодействовать с ОС. ✅Библиотеки и фреймворки: Такие как jQuery в веб-разработке, предоставляют API, которые упрощают выполнение часто используемых задач, таких как AJAX-запросы. API играет центральную роль в современной разработке ПО, делая возможной интеграцию и взаимодействие между различными программными продуктами и платформами. 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1119 вопросов на DevOps. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых

В чем разница Deployment и DaemonSet ? Спросят с вероятностью 26% Deployment и DaemonSet являются двумя типами контроллеров, которые управляют развертыванием и обеспечением жизненного цикла подов (групп контейнеров). Они оба играют важные роли, но используются для разных целей и сценариев. Deployment Это контроллер, который обеспечивает декларативное обновление подов и ReplicaSets (другой тип контроллера, который управляет одновременным запуском нескольких экземпляров одного и того же пода). Deployment поддерживает непрерывное развертывание, откат к предыдущим версиям, а также масштабирование подов. Особенности: ✅Масштабирование: Вы можете увеличивать или уменьшать количество подов в зависимости от нужд. ✅Обновления: Поддерживает стратегии развертывания, такие как Rolling Update (постепенное обновление), которое помогает минимизировать простои при обновлении приложения. ✅Самовосстановление: Автоматически перезапускает поды, которые перестали работать, находятся в ошибочном состоянии или не отвечают. Пример:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80

DaemonSet Это контроллер, который гарантирует, что на каждом узле кластера Kubernetes запущен экземпляр заданного пода. Когда добавляется новый узел, на нем автоматически запускается под, управляемый DaemonSet, и если узел удаляется, поды удаляются автоматически. Это идеально подходит для запуска служб мониторинга, сбора логов или других утилит, которые должны быть запущены на каждом узле. Особенности: ✅Гарантия запуска: Убедитесь, что каждый узел кластера запускает копию определённого пода. ✅Автоматическое размещение: Когда добавляются новые узлы, на них автоматически размещаются необходимые поды. ✅Службы уровня узла: Идеально подходит для запуска системных служб, таких как коллекторы логов, системы мониторинга и другие. Пример DaemonSet в YAML-формате:
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: fluentd-elasticsearch
spec:
  selector:
    matchLabels:
      name: fluentd-elasticsearch
  template:
    metadata:
      labels:
        name: fluentd-elasticsearch
    spec:
      containers:
      - name: fluentd-elasticsearch
        image: fluent/fluentd:v1.0
        volumeMounts:
        - name: varlog
          mountPath: /var/log
        - name: varlibdockercontainers
          mountPath: /var/lib/docker/containers
          readOnly: true
Deployment и DaemonSet выполняют различные функции в Kubernetes. Deployment лучше всего подходит для управления подами, которые представляют приложения, требующие масштабирования и обновлений. DaemonSet идеален для обеспечения работы сервисов на каждом узле кластера. Оба эти инструмента дополняют друг друга и используются в разных сценариях для эффективного управления и оркестрации контейнеров. 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1119 вопросов на DevOps. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых

Привет, ребят, хочу сделать так, чтобы для каждого вопроса было поясняющее видео в reels/shorts формате. Ищу человека который с этим поможет, работу оплачу. Вопросы есть, нужен простой монтаж и озвучка. Все видосы делаются по шаблону. Если интересует такая подработка напишите мне @kivaiko

Что такое blue green deployment ? Спросят с вероятностью 13% Blue-green deployment — это метод развертывания ПО, который предназначен для минимизации или устранения простоя при обновлении версии приложения. Этот подход включает в себя две идентичные среды, которые находятся в точном зеркальном отображении друг друга. Одна среда, обычно называемая "blue", активно служит трафиком пользователей, в то время как другая среда, "green", находится в готовности и используется для новой версии приложения. Как он работает 1️⃣Подготовка двух сред: Настройте две параллельные среды ("blue" и "green"). Обе должны быть настроены так, чтобы могли поддерживать полную нагрузку вашего приложения. 2️⃣Развертывание в зеленую среду: Новая версия приложения развертывается в "green" среду, где она может быть тщательно протестирована и проверена на ошибки. В это время "blue" среда по-прежнему обрабатывает весь пользовательский трафик. 3️⃣Переключение трафика: После того как новая версия в "green" среде была проверена и готова к использованию, трафик пользователей перенаправляется со "старой" синей среды на "новую" зеленую. Это переключение обычно происходит путем изменения конфигурации DNS или с помощью балансировщика нагрузки. 4️⃣Мониторинг и откат при необходимости: После переключения трафика на "green" среду, она активно мониторится для выявления любых неожиданных проблем или сбоев. Если что-то идет не так, можно быстро выполнить откат, снова переключив трафик обратно на "blue" среду. 5️⃣Подготовка следующего обновления: После успешного переключения "green" среда становится новой "blue" средой для следующего цикла развертывания, а старая "blue" среда теперь будет использоваться для следующего обновления как "green". Преимущества: ✅Минимизация простоя: Переключение между средами позволяет обновлять приложения без простоев. ✅Уменьшение риска: Тестирование новой версии в зеленой среде перед полноценным переключением трафика помогает убедиться в стабильности обновления. ✅Быстрый откат: Если новая версия содержит ошибки, можно быстро переключиться обратно на старую версию. Недостатки: ✅Двойные затраты на инфраструктуру: Требуется поддерживать две рабочие среды, что удваивает затраты на ресурсы и управление. ✅Сложность управления данными: Синхронизация данных между двумя средами может быть сложной, особенно если приложение вносит значительные изменения в данные. Blue-green deployment является эффективным способом обеспечения надежности и непрерывности бизнес-процессов при обновлении приложений, особенно в условиях критически важных продуктовых сред. 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1119 вопросов на DevOps. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых

🔥 Подъехали ништяки для тех, кто настраивает окружение и автоматизирует процессы 💪😎 Cloud․ru предлагает бесплатный доступ
🔥 Подъехали ништяки для тех, кто настраивает окружение и автоматизирует процессы 💪😎 Cloud․ru предлагает бесплатный доступ к облачным ресурсам через Free Tier. Это отличная возможность развернуть приложения совершенно бесплатно. ⚔️ Вы получаете доступ к виртуальной машине с конфигурацией 2vCPU и 4 ГБ RAM, а также 30 ГБ на SSD, что вполне достаточно для тестирования и разработки приложений. Также предоставляется 5 ГБ хранилища S3 с тысячами операций загрузки и извлечения данных. ➡️ Для выхода ВМ в интернет оплатите публичный IP за 146 (🍟) рублей или воспользуйтесь бонусом в 4000 рублей для новых клиентов при привязке карты или регистрации по Сбер ID. 🍀 Ловите удачу, просто перейдя по этой ссылке.

Какие есть способы задания переменных в Ansible ? Спросят с вероятностью 13% Переменные используются для хранения информации, которая может изменяться от одного выполнения плейбука к другому или от одного окружения к другому. Это делает Ansible более гибким и повторно используемым. Существует несколько способов определения и использования переменных в Ansible: 1️⃣Переменные в инвентарных файлах Можно задать непосредственно в инвентарном файле. Это могут быть файлы в форматах INI или YAML. Пример в формате INI:
[webservers]
webserver1 ansible_host=192.168.1.100 http_port=80 max_requests=1000
В YAML формате это будет выглядеть так:
webservers:
  hosts:
    webserver1:
      ansible_host: 192.168.1.100
      http_port: 80
      max_requests: 1000
2️⃣Файлы переменных в плейбуках Могут быть организованы в файлы, обычно YAML, которые затем подключаются к плейбукам через директиву vars_files. Пример использования в плейбуке:
---
- hosts: all
  vars_files:
    - vars/main.yml
Где vars/main.yml содержит:
http_port: 80
max_requests: 1000
3️⃣Переменные в командной строке Могут быть определены непосредственно при запуске плейбука через командную строку с помощью ключа -e или --extra-vars. Пример:
ansible-playbook playbook.yml -e "http_port=80 max_requests=1000"
4️⃣Переменные в плейбуках Можно определить непосредственно в плейбуке под ключом vars:
---
- hosts: all
  vars:
    http_port: 80
    max_requests: 1000
5️⃣Role Defaults и Vars Каждая роль может иметь файлы defaults/main.yml и vars/main.yml. Переменные, определенные в defaults, имеют самый низкий приоритет и могут быть переопределены почти в любом месте. Переменные в vars имеют более высокий приоритет и переопределяются с трудом. 6️⃣Registered Variables Переменные могут быть созданы во время выполнения плейбука с использованием модулей и зарегистрированы для использования в последующих задачах. Например:
- name: Get the date
  command: date
  register: current_date
7️⃣Facts Собираются Ansible автоматически при выполнении плейбука и содержат информацию о удалённых системах. Facts можно использовать как переменные:
---
- hosts: all
  tasks:
    - name: Print OS family
      debug:
        msg: "The OS family is {{ ansible_os_family }}"
Каждый из этих способов имеет своё применение в зависимости от требований задачи, структуры данных и логики плейбука. Правильный выбор способа определения переменных помогает создать более читаемые, поддерживаемые и масштабируемые Ansible плейбуки и роли. 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1119 вопросов на DevOps. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых

ИТ-сообщество с 14-летним стажем ⌨️ ITKB_channel — бесплатное обучение по Windows, Linux, DevOps, Security, Network, программ
ИТ-сообщество с 14-летним стажем ⌨️ ITKB_channel — бесплатное обучение по Windows, Linux, DevOps, Security, Network, программирование 📚 ITKB_Archive — библиотека (книги, курсы, ИТ литература)

Что известно про rancher kubernetes ? Спросят с вероятностью 13% Rancher — это популярная платформа управления контейнерами, которая позволяет упростить процесс развертывания, управления и масштабирования приложений на основе контейнеров, включая тех, что работают в среде Kubernetes. Rancher обеспечивает интеграцию с различными инструментами и платформами, такими как Docker, Kubernetes, Microsoft Azure, Google Cloud Platform и Amazon Web Services. Основные возможности и преимущества: 1️⃣Поддержка множества кластеров Kubernetes: Позволяет управлять несколькими кластерами Kubernetes, независимо от того, где они развернуты — будь то на ваших локальных серверах или в облаке. 2️⃣Удобный пользовательский интерфейс: Предоставляет графический интерфейс пользователя (GUI), который упрощает управление ресурсами Kubernetes, мониторингом, масштабированием и обновлениями. 3️⃣Интегрированная система безопасности: Включает средства для управления доступом, которые позволяют настроить политики безопасности на уровне пользователей и групп, а также интегрируется с внешними поставщиками идентификации через OpenID Connect, LDAP, Active Directory и другие. 4️⃣Управление каталогами приложений: Предоставляет каталоги, которые содержат готовые шаблоны приложений, упрощая развертывание стандартных сервисов и приложений. 5️⃣Проекты и пространства имен: Позволяет группировать ресурсы Kubernetes в проекты, что упрощает управление и изоляцию ресурсов между командами или приложениями. 6️⃣Масштабирование и автоматизация: Упрощает процесс масштабирования приложений и автоматизации операций с помощью различных инструментов и API. Использование для управления Kubernetes Предоставляет дополнительный слой абстракции и управления над кластерами Kubernetes, который включает: ✅Централизованное управление: Управляйте всеми вашими кластерами Kubernetes из единого интерфейса. ✅Автоматическое развертывание: Простое создание новых кластеров Kubernetes на различных облачных платформах или на локальных серверах. ✅Мониторинг и алерты: Встроенные средства для мониторинга состояния кластера и оповещения о проблемах. ✅Бэкап и восстановление: Инструменты для резервного копирования и восстановления состояния кластера. Rancher является мощным инструментом для организаций, которые используют Kubernetes и стремятся упростить управление своей инфраструктурой контейнеров. Он обеспечивает дополнительные уровни управления, безопасности и масштабируемости, что делает его ценным решением для развертывания и управления контейнеризированными приложениями в различных средах. 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1119 вопросов на DevOps. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых

🚀 Приглашаем на звонок для начинающих DevOps'ов! 📅 Когда: 15го июня в 10.00 МСК 📍 Где: Онлайн, ссылка для подключения буде
🚀 Приглашаем на звонок для начинающих DevOps'ов! 📅 Когда: 15го июня в 10.00 МСК 📍 Где: Онлайн, ссылка для подключения будет в группе DevOps фабрики https://t.me/devops_factory Ты узнаешь: 🔹 Что учить, чтобы стать DevOps специалистом 🔹 Какой начальный уровень нужен На звонке от DevOps фабрики рассмотрим: Хард скиллы: какие технические знания и навыки необходимы Софт скиллы: как развивать коммуникативные и управленческие умения Обсудим, как потренироваться с нужными технологиями и куда расти, чтобы достичь успеха в этой сфере. 🎤 Задай свой вопрос: Что предпринять в твоем конкретном случае? Мы поможем разобраться! Ссылку опубликую в канале : https://t.me/devops_factory Не упусти шанс начать свой путь в DevOps с правильного старта!

Чем отличается Terraform от Ansible ELK stack ? Спросят с вероятностью 33% Terraform и Ansible — это инструменты для автоматизации, которые часто используются для разных целей. Каждый из них имеет свои особенности и лучше подходит для определённых задач. Terraform Это инструмент, разработанный HashiCorp, для создания, изменения и управления инфраструктурой как кодом (IaC). Он позволяет пользователям определять и предоставлять полную инфраструктуру (серверы, базы данных, сетевые устройства и т.д.) в различных облачных провайдерах (например, AWS, Azure, Google Cloud) с помощью конфигурационных файлов, которые описывают желаемое состояние инфраструктуры. Основные характеристики: ✅Идемпотентность: Способен привести инфраструктуру в точное состояние, определённое в конфигурационных файлах, не внося повторных изменений в уже существующие ресурсы, если это не требуется. ✅Декларативный подход: Пользователь описывает "что" должно быть создано, а не "как" это должно быть сделано. ✅Управление состоянием: Отслеживает текущее состояние инфраструктуры и помогает управлять её изменениями. Ansible Это инструмент для автоматизации конфигурации, управления и оркестрации. В отличие от Terraform, Ansible лучше подходит для автоматической настройки и управления существующими ресурсами, такими как серверы, приложения и другие компоненты. Основные характеристики: ✅Процедурный подход: Описывает серию "шагов" или "задач", которые необходимо выполнить для достижения желаемого состояния. ✅Идемпотентность: Как и Terraform, Ansible может повторно применять одни и те же настройки без внесения изменений, если текущее состояние уже соответствует желаемому. ✅Агентное-менее выполнение: Для своей работы Ansible использует существующую SSH-инфраструктуру и не требует установки дополнительных агентов на целевых системах. ELK Stack Это набор инструментов для сбора, агрегирования и анализа больших объёмов данных. ELK состоит из трёх основных компонентов: Elasticsearch (поисковая и аналитическая система), Logstash (инструмент для сбора, трансформации и хранения данных) и Kibana (инструмент для визуализации данных из Elasticsearch). Основные характеристики: ✅Анализ данных: Используется для мониторинга, анализа логов и визуализации данных. ✅Интеграция данных: Может интегрироваться с различными источниками данных для сбора и агрегации информации. Различия в использовании: ✅Terraform лучше использовать для создания и управления инфраструктурой на стадии инициализации проекта или при значительных изменениях инфраструктуры. ✅Ansible идеально подходит для непрерывного управления конфигурацией и автоматизации рутинных задач на уже существующих серверах и устройствах. ✅ELK Stack используется для мониторинга и анализа работы систем после их развёртывания, сбора логов и визуализации данных. Terraform, Ansible и ELK Stack выполняют различные, но взаимодополняющие функции в управлении IT-инфраструктурой и обработке данных. 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1119 вопросов на DevOps. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых

Привет, я Леха. Вопросы собеседований берутся с моего сайта easyoffer.ru. Его я делал как пет-проект, чтобы устроиться на работу, но сейчас проект уже перерастает в стартап и я пишу об этом в своем TG блоге Идущий к IT и на YouTube.
"Как считается вероятность вопросов?"
Об этом писал в статье на Habr ➖Если нашли ошибку в посте пишите @aurumsunset ➖Если хотите купить рекламу на канале пишите @easyoffer_adv ➖Чтобы получить доступ к приватной группе, где мы выкладываем реальные записи собеседований переходите в бота ➖Аналогично для тестовых заданий вот этот бот

Чем отличаются роли от плейбуков ? Спросят с вероятностью 33% В контексте Ansible, который является одним из популярных инструментов автоматизации IT-инфраструктур, роли и плейбуки представляют собой ключевые компоненты, но они используются для различных целей и имеют разные области применения. Плейбуки (Playbooks) Это YAML-файлы, которые описывают задачи и процессы автоматизации, которые необходимо выполнить на одной или нескольких управляемых машинах. Они включают в себя одну или несколько "игр" (plays), каждая из которых может целиться на определённую группу хостов для выполнения заданных задач. Плейбук может описывать полную конфигурацию сервера, установку программного обеспечения, обновление системы и другие операционные задачи. Пример простого плейбука:
- name: Update web servers
  hosts: webservers
  tasks:
    - name: Ensure nginx is at the latest version
      ansible.builtin.yum:
        name: nginx
        state: latest
Роли (Roles) Предназначены для более удобной организации и повторного использования кода Ansible. Роль инкапсулирует чётко определённую функциональность, включая переменные, зависимости, файлы конфигурации и шаблоны, что позволяет переиспользовать эту функциональность в различных плейбуках и проектах. Структура роли строго организована, что помогает в её модульности и переносимости. Стандартная структура роли включает: ✅tasks/ — Главные задачи роли. ✅handlers/ — Обработчики, которые вызываются по специальным триггерам. ✅defaults/ — Стандартные значения переменных, которые использует роль. ✅vars/ — Другие переменные, которые могут быть определены в роли. ✅files/ — Файлы, которые можно скопировать на управляемые машины. ✅templates/ — Шаблоны, которые можно обработать и скопировать на управляемые машины. ✅meta/ — Метаданные роли, включая зависимости от других ролей. Основные отличия ✅Модульность: Роли предлагают высокий уровень модульности и переиспользования, в то время как плейбуки обычно определяют конкретные процедуры автоматизации для конкретных сценариев. ✅Организация: Плейбуки могут использовать роли для организации и сокращения количества кода, делая плейбуки более читаемыми и легкими для поддержки. ✅Повторное использование: Роли могут быть легко переиспользованы в разных проектах и плейбуках, в то время как плейбуки обычно специфичны для проекта. Плейбуки являются основными файлами, которые вызывают роли и другие задачи для выполнения операций на управляемых машинах. Роли представляют собой модульные блоки, которые организуют код, связанный с определённой функциональностью, и позволяют его переиспользовать в различных плейбуках. Разделение задач и кода между плейбуками и ролями улучшает организацию, облегчает управление и повышает эффективность процесса автоматизации. 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1119 вопросов на DevOps. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых

Что такое kubernetes ? Спросят с вероятностью 33% Kubernetes (часто сокращенно K8s) — это открытая платформа для автоматизации развертывания, масштабирования и управления контейнеризированными приложениями. Разработанная изначально в Google на основе их опыта работы с контейнерами в продакшене, он стал стандартом для оркестрации контейнеров в индустрии. Основные концепции 1️⃣Поды (Pods): Базовая единица, которую создает и управляет Kubernetes. Под может содержать один или несколько контейнеров, которые разделяют сетевые настройки и хранилище. 2️⃣Узлы (Nodes): Физические или виртуальные машины, на которых запускаются поды. Каждый узел управляется мастер-узлом и содержит необходимые службы для запуска подов. 3️⃣Контроллеры (Controllers): Элементы для управления состоянием кластера. Они следят за тем, чтобы фактическое состояние кластера соответствовало желаемому. Примеры: ReplicaSet, Deployment, StatefulSet. 4️⃣Сервисы (Services): Абстракция, которая определяет логический набор подов и политику доступа к ним. Сервисы позволяют обращаться к подам, используя DNS или IP-адреса, и управляют балансировкой нагрузки. 5️⃣Пространства имен (Namespaces): Изоляция частей кластера. Позволяет разделять ресурсы кластера между несколькими пользователями. 6️⃣Конфигурационные данные (ConfigMaps and Secrets): Объекты для хранения конфигурационной информации и конфиденциальных данных соответственно, которые могут быть использованы подами. Архитектура ✅Мастер-узел (Master Node): Управляет кластером и отвечает за основные решения о развертывании приложений (например, когда, где и как запускать поды). ✅Рабочие узлы (Worker Nodes): На этих узлах запускаются приложения. Узел содержит компоненты, необходимые для этого: Docker, kubelet, kube-proxy и другие. Почему он стал популярен 1️⃣Масштабируемость: Kubernetes эффективно управляет тысячами контейнеров, работающих одновременно. 2️⃣Надежность и устойчивость: Автоматическое восстановление от сбоев (например, перезапуск неисправных контейнеров). 3️⃣Гибкость и портативность: Поддерживает различные среды — облака, виртуальные машины, физические сервера. 4️⃣Управление конфигурацией и секретами: Упрощает развертывание и управление конфигурационными данными и секретами. 5️⃣Самообслуживание и автоматизация: Упрощает разработку и операционную деятельность за счет автоматизации многих задач, связанных с развертыванием и масштабированием приложений. Kubernetes предлагает мощные инструменты для работы с контейнеризированными приложениями на любой масштабируемой и распределенной инфраструктуре. Он помогает компаниям эффективно развертывать, масштабировать и управлять приложениями, что делает его неотъемлемой частью экосистемы облачных вычислений. 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1119 вопросов на DevOps. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых

Чем отличаются deployment, replicaset ? Спросят с вероятностью 13% Deployment и ReplicaSet являются ключевыми компонентами, используемыми для управления развертыванием и масштабированием контейнеризированных приложений. Хотя оба они связаны с управлением подами, между ними есть существенные различия в функциональности и предназначении. ReplicaSet Это контроллер, который обеспечивает поддержание заданного количества копий подов в любой момент времени. Основная цель ReplicaSet — гарантировать, что указанное количество экземпляров пода всегда запущено и работает. Если поды перестают работать или удаляются, ReplicaSet автоматически заменяет их, чтобы поддерживать нужное количество экземпляров. Основные особенности: ✅Поддерживает стабильное количество подов, основываясь на шаблонах, определенных в спецификации. ✅Автоматически заменяет поды, которые были повреждены или удалены. ✅Не управляет обновлениями приложений в подах; требуется внешнее управление для обновления или изменения версий приложений. Deployment Это более высокоуровневый контроллер, который управляет развертываниями приложений в Kubernetes, включая их обновления и откаты. Deployment использует ReplicaSet для поддержания экземпляров, но добавляет множество дополнительных возможностей. Основные особенности: ✅Управляет жизненным циклом приложений, включая развертывание, обновление, масштабирование и откаты. ✅Позволяет объявлять желаемое состояние приложения, и Kubernetes стремится поддерживать это состояние. ✅Поддерживает стратегии развертывания, такие как Rolling Update (постепенное обновление), что позволяет обновлять приложение с минимальными прерываниями. ✅Автоматически управляет ReplicaSets, создавая новые и удаляя старые при обновлении версии приложения. Основные различия: ✅Уровень абстракции: Это более низкоуровневый компонент, фокусирующийся на поддержании количества подов. Deployment работает на более высоком уровне, управляя не только подами, но и их жизненным циклом, включая стратегии обновления и отката. ✅Обновление приложений: Не умеет управлять процессом обновления приложений; его задача — только поддержание числа работающих подов. Deployment предоставляет механизмы для безопасного обновления приложений, с минимальными прерываниями доступности сервиса. ✅Использование: В обычных операциях администрирования и управления приложениями в Kubernetes предпочтительнее использовать Deployment, так как он автоматически создает нужные ReplicaSets и обеспечивает больше возможностей для управления состоянием приложений. Deployment предлагает более богатый и удобный способ управления приложениями, делая его предпочтительным выбором для большинства сценариев развертывания и масштабирования приложений. 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1119 вопросов на DevOps. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых

Linux как секс! Если зубрить его по книжкам, то кроме теории и деградации, ты ничему не научишься. В канале BashDays ты найде
Linux как секс! Если зубрить его по книжкам, то кроме теории и деградации, ты ничему не научишься. В канале BashDays ты найдешь лучшие Linux и Bash практики. Действующий девопс-инженер, самобытно и с долей юмора, травит темы: - Рекавери файлов через grep - Почему коты гадят в макбуки - Как отключить логирование - Неочевидные трюки на Bash - Сниффер SSH на strace И это только цветочки. А если заскучал, поиграй с друзьями в piu-piu и надери им бэкенд. Рекомендую! В BashDays даже джуны становятся сеньорами. Подписывайся, это самый простой способ прокачать свои хард-скиллы: — @bashdays

Что такое kafka ? Спросят с вероятностью 33% Apache Kafka — это распределённая платформа для потоковой обработки данных, ориентированная на высокую пропускную способность и надёжное хранение событий. Kafka разработана LinkedIn и впоследствии передана в Apache Software Foundation, где она стала одним из самых популярных проектов для обработки больших объёмов данных в реальном времени. Основные компоненты: 1️⃣Продюсеры (Producers): Отправляют данные в Kafka. Продюсеры публикуют данные в топики (topics), которые можно сравнить с папками или категориями, где данные упорядочены и хранятся. 2️⃣Топики (Topics): Категории или каналы, в которые продюсеры публикуют свои данные. Топики в Kafka могут быть разделены на несколько сегментов, называемых партициями, что позволяет распределить данные между несколькими узлами для повышения производительности и надёжности. 3️⃣Партиции (Partitions): Сегменты внутри топика, которые позволяют данные топика быть распределёнными и параллельно обработанными. Каждая партиция может иметь одну или несколько реплик, что повышает доступность и устойчивость данных. 4️⃣Консьюмеры (Consumers): Подписываются на топики и читают данные, публикуемые продюсерами. Консьюмеры могут работать в группах для распределённой и параллельной обработки данных. 5️⃣Брокеры (Brokers): Серверы, которые хранят данные и обрабатывают запросы от продюсеров и консьюмеров. В распределённой среде Kafka может состоять из множества брокеров, управление которыми осуществляется через узел управления, называемый контроллером. Особенности и преимущества: ✅Производительность: Способна обрабатывать сотни тысяч сообщений в секунду. ✅Масштабируемость: Систему можно масштабировать горизонтально, добавляя брокеров в кластер, что позволяет обрабатывать больше сообщений без простоя. ✅Надёжность: Данные автоматически реплицируются между брокерами, что обеспечивает высокий уровень доступности и устойчивость к сбоям. ✅Устойчивость к сбоям: Спроектирована так, чтобы выдерживать сбои отдельных компонентов без потери данных. ✅Временное хранение: Может хранить большие объёмы данных на определённый период времени, позволяя консьюмерам читать и перечитывать информацию по мере необходимости. Использование Применяется во многих областях, включая реальное логирование данных, мониторинг операций, потоковую обработку событий, интеграцию данных и создание распределённых систем реального времени. Она стала стандартом де-факто для организаций, стремящихся к эффективному сбору, хранению и обработке больших потоков данных. Apache Kafka — это мощная и гибкая система для работы с потоками данных в реальном времени, которая поддерживает высокие нагрузки, обеспечивает надёжность и позволяет масштабировать обработку данных на уровне крупных предприятий. Она обеспечивает комплексное решение для сбора и передачи больших объёмов данных с минимальной задержкой. 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1119 вопросов на DevOps. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых

Что будет происходить при kubectl apply ? Спросят с вероятностью 13% Команда kubectl apply — это инструмент для управления приложениями через командную строку для Kubernetes, который позволяет создавать и обновлять ресурсы в кластере на основе определений в YAML или JSON файлах. Это одна из наиболее часто используемых команд для работы, так как она поддерживает идемпотентность, что означает, что один и тот же файл конфигурации может быть применен несколько раз без изменения результата за пределами ожидаемого. Как он работает: 1️⃣Чтение конфигурационного файла: Читает конфигурационный файл в форматах YAML или JSON, который описывает желаемое состояние ресурса или ресурсов, которые должны быть развернуты или обновлены в кластере. 2️⃣Сравнение с текущим состоянием: Сравнивает желаемое состояние, определенное в конфигурационном файле, с текущим состоянием ресурса в кластере. Это сравнение включает проверку всех атрибутов ресурса, чтобы определить, требуется ли создание нового ресурса, обновление существующего или не требуется никаких изменений. 3️⃣Обновление ресурса: Если конфигурация ресурса в файле отличается от того, что уже присутствует в кластере, kubectl apply обновляет ресурс в соответствии с этой конфигурацией. Это может включать изменение свойств, добавление или удаление компонентов и так далее. 4️⃣Аннотации и управление изменениями: Когда вы используете kubectl apply, Kubernetes автоматически добавляет специальные аннотации к ресурсу. Эти аннотации содержат предыдущую конфигурацию ресурса в сериализованном виде, что позволяет Kubernetes определять изменения между запусками команды. 5️⃣Отслеживание изменений: Если ресурс был изменен другими способами (не через kubectl apply), Kubernetes сможет определить эти изменения и интегрировать их, если они не конфликтуют с конфигурацией, применяемой через kubectl apply.
kubectl apply -f deployment.yaml
Это приведет к созданию или обновлению Deployment в соответствии с определениями в файле deployment.yaml. kubectl apply является мощным инструментом для управления жизненным циклом Kubernetes ресурсов. Он обеспечивает гибкость, позволяя разработчикам и администраторам контролировать и управлять инфраструктурой через код, что способствует более эффективному, предсказуемому и безопасному управлению приложениями. 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1119 вопросов на DevOps. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых

Что показывает load average ? Спросят с вероятностью 33% Load average (средняя нагрузка) — это показатель, который используется для оценки загруженности системы за определённые промежутки времени. Этот показатель обычно отображается с помощью команды uptime или top и представлен тремя числами, которые отражают среднюю нагрузку системы за последние 1, 5 и 15 минут. Что означают эти значения? Каждое из трёх чисел показывает среднее количество процессов, находящихся в состоянии ожидания выполнения или активно выполняющихся за последнюю минуту, последние 5 минут и последние 15 минут соответственно. Эти значения позволяют оценить текущую и историческую загруженность системы. Как интерпретировать эти значения? ✅Значение равное количеству ядер CPU: Если значение load average равно количеству логических ядер CPU, это означает, что система загружена на 100%. Например, для системы с четырьмя ядрами значение 4.00 означает полную загрузку. ✅Значение меньше количества ядер CPU: Значения ниже количества ядер указывают на то, что у системы есть свободные ресурсы, и она не перегружена. ✅Значение выше количества ядер CPU: Если значение превышает количество логических ядер CPU, это означает, что процессы конкурируют за ресурсы CPU, что может приводить к задержкам в выполнении. Например, значение 6.00 на системе с 4 ядрами означает, что некоторые процессы ждут доступа к процессору. Как используются эти данные? Данные о средней нагрузке используются системными администраторами для мониторинга производительности серверов и компьютеров. Это помогает определить, требуется ли увеличение ресурсов, оптимизация нагрузки или же система справляется со своими задачами. Понимание изменений в значениях load average со временем также может помочь выявить потенциальные проблемы с производительностью до того, как они станут критическими. Load average — это важный показатель, который отражает не только количество активных процессов, ожидающих выполнения в очереди процессора, но и те, что уже выполняются. Он предоставляет быстрый обзор текущего состояния системы и её способности справляться с задачами. Понимание и правильная интерпретация значений load average помогают управлять ресурсами системы более эффективно. 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1119 вопросов на DevOps. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых