es
Feedback
Библиотека собеса по DevOps | вопросы с собеседований

Библиотека собеса по DevOps | вопросы с собеседований

Ir al canal en Telegram

Вопросы с собеседований по DevOps и ответы на них. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/d7e18893 Для обратной связи: @proglibrary_feeedback_bot

Mostrar más
3 423
Suscriptores
-124 horas
+27 días
+1830 días
Archivo de publicaciones
Если вы остановите контейнер — потеряете данные? При остановке контейнера Docker данные не теряются, так как они записываются на диск приложением исключительно для хранения. Этот процесс продолжается до тех пор, пока контейнер не будет удален окончательно. Кроме того, файловая система контейнера сохраняет изменения даже после полной остановки контейнера.

Простенький вопрос, который часто предлагают в начале собеса Представлен вывод команды top. Что означает каждая запись в выводе? top — 10:44:36 up 91 days, 19:29, 7 users, load average: 0,00, 0,02, 0,05 Tasks: 156 total, 1 running, 155 sleeping, 0 stopped, 0 zombie %Cpu(s): 0,0 us, 1,5 sy, 0,0 ni, 96,9 id, 0,0 wa, 0,0 hi, 0,0 si, 1,5 st KiB Mem : 12137392 total, 6227844 free, 1117728 used, 4791820 buff/cache KiB Swap: 0 total, 0 free, 0 used. 10090148 avail Mem top — утилита 10:44:36 — время системы up — сколько система работает с момента последнего запуска 7 user — количество авторизованных юзеров в системе load average: 0.00, 0.02, 0.05 — параметр средней нагрузки на систему за период времени 1 минута, 5 минут, 15 минут 156 total — всего процессов в системе 1 running — количество процессов в работе 155 sleeping — ожидание процесса или сигнала 0 stopped — количество приостановленных процессов сигналом STOP или выполнение трассировки 0 zombie — количество зомби-процессов, которые завершили своё выполнение, но присутствующие в системе, чтобы дать родительскому процессу считать свой код завершения.

Что означает «плоскость управления»? Плоскость управления — это часть сети, которая решает, как маршрутизировать и пересылать пакеты в другое место.

#вакансия #DevOps #K8s #удаленка Вакансия: DevOps Middle/ Middle+ Локация: Россия Уровень зп: от 200.000 до 400.000 ₽ net Формат работы: удаленно Добрый день! Ищем DevOps в инвестиционный фонд, занимающийся торговлей на фондовым рынке. Мы – научно-техническая организация, которая стремится к максимально глубокому пониманию рыночных процессов и извлечению высокой прибыли на основе полученных знани Основные задачи DevOps – исследование и внедрение открытых систем, адаптация их под запросы разработки, тонкая настройка под бизнес-сценарии. Дополнительно может возникнуть потребность написания адаптеров для внутренних систем. Например, упрощение процессов CI/CD. Вызовами могут стать как внедрение систем централизованной авторизации на геораспределенном кластере, так и построение кластеров с гарантиями их равномерной утилизации, быстродействия, доступности. Требования: • Умение работать с Kubernetes и Docker; • Опыт написания Helm-чартов; • Опыт работы с GitLab, понимание построения принципов CI/CD; • Понимание принципов построения систем мониторинга; • Понимание принципов работы HA-кластеров баз данных; • Опыт написания программ на Golang, Python, bash; • Плюсом будет понимание протокола OIDC. Наш текущий стек: • Мониторинг • Grafana • Victoria Metrics • EFK • Jaeger • Базы данных • Postgres • Clickhouse • Zookeeper • Vault • Хостинг • Baremetal Kubernetes • CentOS • Istio • GitLab 📩отправляйте резюме и вопросы: @gal_keller

Что вы можете рассказать об архитектуре Horizon? API обратно совместим. Существует три типа панелей мониторинга: пользовательские, системные и настройки. Он обеспечивает базовую поддержку всех основных проектов OpenStack, таких как Neutron, Nova и т. д. (из коробки, нет необходимости устанавливать дополнительные пакеты или плагины). Любой может расширить информационные панели и добавить новые компоненты. Horizon предоставляет шаблоны и основные классы, на основе которых можно создать собственную панель мониторинга.

Что такое egress? Возможность установить внешний IP-адрес для исходящего трафика приложений за пределы кластера k8s может быть реализована через поддержку egress на уровне CNI-плагина. Эта функциональность может быть описана специальным объектом в неймспейсе.

Какие есть недостатки у service mesh? Излишняя сложность, увеличенное потребление ресурсов и дополнительные затраты.

Что означает «плоскость данных»? Плоскость данных — это часть сети, которая фактически пересылает данные/пакеты.

🎭 Bytemask \\ Bytemask — плагин Gradle для Android, который маскирует секретные строки приложения в исходном коде, затрудняя
🎭 Bytemask \\ Bytemask — плагин Gradle для Android, который маскирует секретные строки приложения в исходном коде, затрудняя их извлечение с помощью реверс-инжиниринга. Он шифрует строки во время компиляции с помощью ключа подписи приложения и расшифровывает во время выполнения. Ссылка на Github #полезное #библиотека

Как объединить две метрики? В Prometheus объединение двух метрик можно выполнить с помощью функции *join()*. Функция *join()*
Как объединить две метрики? В Prometheus объединение двух метрик можно выполнить с помощью функции *join()*. Функция *join()* объединяет два или более временных ряда на основе значений их меток. Она принимает два обязательных аргумента: *on* и *table*. Аргумент on указывает метки для объединения *on*, а аргумент *table* указывает временной ряд для объединения. На картинке пример того, как объединить две метрики с помощью функции join().

Допустим, у вас есть YAML-файл, в котором описаны deployment и service. Вы вводите команду kubectl create -f file.yaml . Как можно подробнее опишите, что произойдёт после нажатия клавиши Enter. В начале операции утилита kubectl будет искать и анализировать kubeconfig, извлекая оттуда данные о адресе Kubernetes API, сертификатах для проверки, и ключе доступа. Затем она отправит запрос. API Kubernetes будет обрабатывать запрос, аутентифицировать пользователя, учитывая его права, и, в случае соответствия правам, сохранять информацию о новом развёртывании (deployment) и сервисе (service) в ETCD. Контроллер Kubernetes узнает о созданном deployment и, используя Kubernetes API, запишет информацию в ETCD о replicaset и создаст необходимое количество PODов. В этот момент могут быть задействованы admission controller’ы для проверки корректности PODов или их преобразования. Контроллер Kubernetes будет обнаруживать новые POD'ы и автоматически распределять их по узлам, учитывая их параметры, необходимые ресурсы, специфические требования к узлам (nodeSelector), а также другие настройки, такие как taints/tolerations, podAntiAffinity и т.д. Kubelet, просматривая изменения в конфигурации ноды через Kubernetes API, начнет вносить изменения: запустит контейнеры через CRI, настроит сеть через kube-proxy, выполнит пробы и, по прохождении проб, изменит статус POD’а в ETCD на Ready через Kubernetes API. Контроллер Kubernetes увидит готовые PODы, соответствующие service, и создаст записи о новых Endpoint’ах для соответствующих PODов. Kubelet’ы на всех нодах кластера увидят изменения в конфигурации и вызовут kube-proxy для создания Endpoint’ов. Kube-proxy вызовет CNI-плагины, которые реализуют Endpoint’ы на уровне инфраструктуры. При обращении к сервису трафик будет направлен на новые поды.

Из каких компонентов состоит k8s и каково их назначение? Kubernetes (K8s) включает в себя плоскость управления и плоскость данных. Плоскость управления — это уровень управления, который работает на узлах, называемых главными узлами, и может работать в конфигурации с одним главным узлом или несколькими главными узлами. Плоскость управления включает в себя: — ETCD: хранилище конфигурации кластера — Kubernetes API: предоставляет API для взаимодействия между компонентами K8s и клиентами внутри и вне кластера — Kubernetes controller manager: реализует контроллеры, управляющие основными сущностями кластера, такими как контроллер узлов, контроллер задач и контроллер срезов конечных точек — Kubernetes scheduler: выбирает узлы, на которых будут запускаться POD — cloud controller manager: используется для реализации функций, специфичных для работы с облаком (если кластер K8s работает в облачной среде) Плоскость данных состоит из компонентов, работающих на каждом узле: — kubelet: отслеживает изменения конфигурации узла, применяет изменения конфигурации, выполняет проверки контейнера, сообщает о статусе контейнера, работает с плагином CRI и обеспечивает функции запуска и остановки контейнера — kube-proxy: отвечает за сетевой компонент, работает с плагином CNI и обеспечивает работу сущности «сервис» на своем узле.

Что такое kube-proxy и для чего он нужен? Это элемент данных Kubernetes, который работает на каждой ноде, взаимодействует с CNI-плагином для обеспечения работы сети pod и обеспечивает функционирование сервисов в кластере на своей ноде, действуя как прокси или контроллер правил IPTABLES/IPVS в зависимости от режима.

Самые полезные каналы для программистов в одной подборке! Сохраняйте себе, чтобы не потерять 💾 🔥Для всех Библиотека программиста — новости, статьи, досуг, фундаментальные темы Книги для программистов IT-мемы Proglib Academy — тут мы рассказываем про обучение и курсы 🤖Про нейросети Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка Библиотека нейротекста | ChatGPT, Gemini, Bing Библиотека нейровидео | Sora AI, Runway ML, дипфейки Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion #️⃣C# Книги для шарпистов | C#, .NET, F# Библиотека шарписта — полезные статьи, новости и обучающие материалы по C# Библиотека задач по C# — код, квизы и тесты Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel ☁️DevOps Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps Вакансии по DevOps & SRE Библиотека задач по DevOps — код, квизы и тесты Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования 🐘PHP Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP Вакансии по PHP, Symfony, Laravel Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по PHP — код, квизы и тесты 🐍Python Библиотека питониста — полезные статьи, новости и обучающие материалы по Python Вакансии по питону, Django, Flask Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Python — код, квизы и тесты ☕Java Книги для джавистов | Java Библиотека джависта — полезные статьи по Java, новости и обучающие материалы Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Java — код, квизы и тесты Вакансии для java-разработчиков 👾Data Science Книги для дата сайентистов | Data Science Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Data Science — код, квизы и тесты Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту 🦫Go Книги для Go разработчиков Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Go — код, квизы и тесты Вакансии по Go 🧠C++ Книги для C/C++ разработчиков Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++ Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по C++ — код, квизы и тесты Вакансии по C++ 💻Другие каналы Библиотека фронтендера Библиотека мобильного разработчика Библиотека хакера Библиотека тестировщика Вакансии по фронтенду, джаваскрипт, React, Angular, Vue Вакансии для мобильных разработчиков Вакансии по QA тестированию InfoSec Jobs — вакансии по информационной безопасности 📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈 Также у нас есть боты: Бот с IT-вакансиями Бот с мероприятиями в сфере IT Мы в других соцсетях: 🔸VK 🔸YouTube 🔸Дзен 🔸Facebook * 🔸Instagram * * Организация Meta запрещена на территории РФ

Что такое namespace в k8s и для чего он нужен? Namespace в Kubernetes выполняет несколько функций. Основное назначение — группировка объектов, относящихся к одному приложению или проекту. Большинство объектов в Kubernetes принадлежат определенным неймспейсам, таким как деплойменты, секреты, учетные записи сервисов и другие. Помещая их в определенный неймспейс, мы можем одновременно просматривать и применять к ним правила безопасности, квоты ресурсов, сетевые политики и правила service mesh. Кроме того, неймспейсы участвуют в формировании DNS-имен внутри кластера. Например, DNS-имена сервисов формируются по принципу [имя сервиса].[неймспейс].[суффикс кластера (по умолчанию svc.cluster.local)].

В чем отличие service account от user? Пользователи не имеют записей в API Kubernetes: управление ими должно осуществляться внешними механизмами. Они предназначены для людей или процессов, работающих вне кластера. Учетные записи сервисов существуют в рамках пространства имен k8s и их именование включает в себя имя пространства имен. Имена пользователей привязаны к кластеру и должны быть уникальными.

Proglib запускает канал Азбука айтишника Подписывайтесь на наш новый канал про айти для неайтишников — для совсем новичков и тех, кто постоянно взаимодействует с айтишниками. У нас есть рубрики: ⭐ База — в ней рассказываем про термины из IT простым языком ⭐ Проект — объясняем, из чего состоят айтишные проекты и сколько они могут стоить ⭐ Психология айтишника — тут говорим про софт-скиллы, особенности работы и взаимодействия 👉Подписывайтесь!

Определите услугу/проект, используемый для каждого из следующих действий: Копирование или снимок инстансов Графический интерфейс для просмотра и изменения ресурсов Блочное хранилище Управление виртуальными инстансами По порядку: Glance, Horizon, Cinder, Nova

Proglib запускает канал Азбука айтишника Подписывайтесь на наш новый канал про айти для неайтишников — для совсем новичков и тех, кто постоянно взаимодействует с айтишниками. У нас есть рубрики: ⭐ База — в ней рассказываем про термины из IT простым языком ⭐ Проект — объясняем, из чего состоят айтишные проекты и сколько они могут стоить ⭐ Психология айтишника — тут говорим про софт-скиллы, особенности работы и взаимодействия 👉Подписывайтесь!

Что такое Puppet? Как он работает? Puppet — это инструмент управления конфигурацией, обеспечивающий настройку всех систем до желаемого и предсказуемого состояния.