DevOps | Вопросы собесов
Open in Telegram
Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads
Show more5 567
Subscribers
+124 hours
+17 days
-1230 days
Posts Archive
Санкт-Петербург, приглашаем в гости в Сбер! 💚
В нашем уютном технохабе пройдёт первый внешний митап для инженеров сопровождения, DevOps-инженеров и разработчиков.
Дата и время: 18 сентября, 18:30–21:00
Локация: ул. Уральская, д.1, Литера Ч.
Поговорим о развёртывании CI/CD-конвейеров, расскажем про реализацию облачных сервисов в Cloud.ru и обменяемся опытом по работе с Jenkins и практике создания комплементарных технологических команд.
Спикеры и темы:
▪️ Коротин Александр, Сбер: «Как десятикратно разогнать скорость поставки в большом Enterprise»
▪️ Алексей Молчанов, Cloud.ru: «Cloud.ru: Operations & SRE»
▪️ Алексей Снятков, Сбер: «Развитие лидеров и построение комплементарной команды»
Регистрируйтесь и приходите на IT Talk by Sber, будет интересно!
Обучаем Java-разработчиков оплата после выхода на работу
В Kata Academy можно выучиться на Java-разработчика бесплатно, а заплатить уже после трудоустройства по специальности из фактической зарплаты.
Если задуматься, то все в выигрыше:
— ты получаешь работу в Москве или Санкт-Петербурге с хорошей зарплатой, мы получаем процент за инвестиции в тебя;
— в наших интересах научить тебя так, чтобы твоя зарплата была как можно выше;
— мы прокачиваем твои навыки еще 2 года после курса: проводим выездные мероприятия и мастер-классы — и доходы наших выпускников растут;
— мы не зависим от банков и их рассрочек — кризис не повлиял на доступность курсов.
Чтобы попасть на курс, нужно выполнить небольшое тестовое задание. Переходи по ссылке и оставляй заявку!
Узнать больше
#реклама 16+
kata.academy
О рекламодателе
📌 Расскажи про разницу PVC и full stack?
💬 Спрашивают в 13% собеседований
🤔 Разница между PVC (Persistent Volume Claim) и Full Stack
Понимание этих двух терминов поможет нам различить их предназначение и использование в контексте Kubernetes и программного обеспечения.
🤔 PVC (Persistent Volume Claim)
PVC (Persistent Volume Claim) — это объект в Kubernetes, который позволяет пользователям запрашивать выделение постоянного хранилища для подов. PVC абстрагирует детали физического хранилища, позволяя разработчикам и администраторам фокусироваться на объеме и типе хранилища, необходимого для приложения, без необходимости управлять деталями самого хранилища.
🤔 Основные аспекты PVC
1️⃣ Запрос хранилища: PVC определяет запрос на объем хранилища и его характеристики, такие как размер и класс хранилища (Storage Class).
2️⃣ Абстракция хранилища: PVC абстрагирует конкретные детали физического хранилища, предоставляя единый интерфейс для запросов хранилища.
3️⃣ Динамическое и статическое связывание: PVC может использовать как динамическое связывание (где Kubernetes автоматически создает PV на основе PVC), так и статическое связывание (где администраторы заранее создают PV).
4️⃣ Совместимость с подами: PVC могут быть подключены к подам, обеспечивая постоянное хранилище для приложений.
Пример PVC в YAML:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: standard
🤔 Full Stack
Full Stack — это термин, используемый для описания разработчиков или инженеров, которые обладают навыками и знаниями для работы со всеми уровнями разработки программного обеспечения, от фронтенда до бэкенда, включая базы данных, серверы и даже DevOps практики.
🤔 Основные аспекты Full Stack разработки
1️⃣ Фронтенд: Создание пользовательских интерфейсов с использованием HTML, CSS, JavaScript и фреймворков, таких как React, Angular или Vue.js.
2️⃣ Бэкенд: Разработка серверной логики и API с использованием языков программирования, таких как Python, Node.js, Ruby, Java или PHP.
3️⃣ Базы данных: Работа с реляционными (например, MySQL, PostgreSQL) и нереляционными (например, MongoDB, Redis) базами данных.
4️⃣ DevOps: Управление развертыванием, настройкой серверов, CI/CD пайплайнами, мониторингом и масштабированием приложений.
5️⃣ Сетевые технологии: Понимание протоколов, таких как HTTP/HTTPS, REST, WebSockets, и работа с серверными технологиями, такими как Nginx или Apache.
🤔 Пример стека технологий Full Stack разработчика
- Фронтенд: React, Redux, Webpack, Sass
- Бэкенд: Node.js, Express, Python, Django
- Базы данных: PostgreSQL, MongoDB
- DevOps: Docker, Kubernetes, Jenkins, Terraform
- Сетевые технологии: Nginx, REST API
🤔 Краткое резюме
- PVC (Persistent Volume Claim): Объект в Kubernetes, запрашивающий выделение постоянного хранилища для подов. Он абстрагирует детали физического хранилища и обеспечивает постоянное хранилище для приложений.
- Full Stack: Термин, описывающий разработчиков, обладающих навыками работы со всеми уровнями разработки программного обеспечения, от фронтенда до бэкенда, включая базы данных и DevOps практики.
🔥 ТОП ВОПРОСОВ С СОБЕСОВ
🔒 База собесов | 🔒 База тестовыхПриглашаем на Digital-баттл: Маркетинг против Продаж!
Уникальная концепция: Это событие объединяет экспертов, которые готовы поделиться бесценным опытом из сложных индустрий. Разгадайте тайны высоких затрат на лиды и долгих сделок!
Что сразу зацепит? Главный вопрос: «Это маркетолог привел нецелевой лид, или ошибку допустил продавец?» – обсудим в прямом эфире!
Вас ждет:
- Оживленные звонки в колл-центры
- Аргументы «за» и «против»
- Интерактивное обсуждение в чате
- Кейсы из реального бизнеса
Для кого это мероприятие? Интернет-маркетологи, директора по маркетингу и продажам, руководители отделов – вся ценная информация будет для вас!
Присоединяйтесь к нас на Digital-баттле, где будут разбираться непростые вопросы в режиме реального времени!
Зарегистрироваться
#реклама
event.calltouch.ru
О рекламодателе
Сообщество IT-специалистов в Telegram от Selectel.
Канал крупнейшего независимого провайдера IT-инфраструктуры и облаков.
Шесть причин подписаться на канал:
- железные новости;
- обзоры продуктов;
- разборы кейсов;
- актуальные IT-статьи;
- анонсы митапов;
- бесплатные курсы.
Подписаться
#реклама
О рекламодателе
📌 Что за компонент kubelet?
💬 Спрашивают в 13% собеседований
🤔 Что такое kubelet
kubelet — это важный компонент в архитектуре Kubernetes, который отвечает за выполнение подов на каждом узле (Node) кластера. Он управляет жизненным циклом контейнеров и гарантирует, что они работают в соответствии с определенными спецификациями.
🤔 Основные функции kubelet
1️⃣ Управление подами: kubelet получает инструкции от API-сервера и создает или удаляет контейнеры на узле, чтобы соответствовать этим инструкциям.
2️⃣ Мониторинг состояния подов: kubelet постоянно проверяет состояние подов и контейнеров, чтобы убедиться, что они работают правильно.
3️⃣ Обеспечение соответствия спецификации: kubelet сравнивает текущее состояние подов с заданной спецификацией и при необходимости предпринимает действия для восстановления соответствия.
4️⃣ Сбор метрик и логов: kubelet собирает метрики и логи с контейнеров и отправляет их в систему мониторинга.
5️⃣ Работа с контейнерными рантаймами: kubelet взаимодействует с контейнерными рантаймами (например, Docker, containerd, CRI-O) для запуска и управления контейнерами.
🤔 Как работает kubelet
1️⃣ Регистрация узла
При запуске kubelet регистрирует узел в API-сервере Kubernetes, предоставляя информацию о ресурсах узла, таких как количество процессоров, объем памяти и состояние дисков.
2️⃣ Получение инструкций от API-сервера
kubelet регулярно обращается к API-серверу, чтобы получить обновления о желаемом состоянии подов, которые должны быть запущены на узле. Эти инструкции включают информацию о том, какие поды создавать, какие удалять и какие обновлять.
3️⃣ Создание и управление подами
На основе полученных инструкций kubelet взаимодействует с контейнерным рантаймом для создания, удаления и управления контейнерами. Он также монтирует тома, устанавливает сети и выполняет другие необходимые действия для настройки подов.
4️⃣ Проверка состояния подов и контейнеров
kubelet периодически проверяет состояние подов и контейнеров, используя механизмы, такие как liveness и readiness пробы. Если какой-либо контейнер или под не работает должным образом, kubelet пытается перезапустить его или уведомляет API-сервер о проблеме.
5️⃣ Сбор и отправка метрик и логов
kubelet собирает метрики и логи контейнеров и отправляет их в систему мониторинга и логирования (например, Prometheus, ELK Stack), чтобы администраторы могли отслеживать состояние приложений и инфраструктуры.
🤔 Пример конфигурации kubelet
Конфигурация kubelet обычно задается через параметры командной строки или с использованием файла конфигурации. Пример простого файла конфигурации kubelet:
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
address: 0.0.0.0
port: 10250
authentication:
anonymous:
enabled: false
webhook:
enabled: true
x509:
clientCAFile: "/etc/kubernetes/pki/ca.crt"
authorization:
mode: Webhook
clusterDNS:
- 10.96.0.10
clusterDomain: cluster.local
failSwapOn: false
cgroupDriver: cgroupfs
runtimeRequestTimeout: "15m"
🤔 Основные параметры
- address: IP-адрес, на котором kubelet слушает запросы.
- port: Порт для связи с kubelet.
- authentication: Настройки аутентификации.
- authorization: Настройки авторизации.
- clusterDNS: Адреса DNS-серверов кластера.
- clusterDomain: Доменное имя кластера.
- failSwapOn: Остановка kubelet, если включен swap.
- cgroupDriver: Драйвер cgroup для контейнеров.
- runtimeRequestTimeout: Тайм-аут запросов к контейнерному рантайму.
🤔 Краткое резюме
kubelet — это агент на каждом узле кластера Kubernetes, отвечающий за запуск и управление подами, мониторинг их состояния, взаимодействие с контейнерными рантаймами и сбор метрик. Он играет ключевую роль в обеспечении работоспособности и согласованности состояния приложений в кластере Kubernetes.
🔥 ТОП ВОПРОСОВ С СОБЕСОВ
🔒 База собесов | 🔒 База тестовыхДозирующее оборудование для производств ASGARD
Дозирующие роботы, станки с ЧПУ, станки для нанесения герметика. Производство дозирующих роботов с доставкой по России. Напрямую с завода
Узнать больше
#реклама
acnc.ru
О рекламодателе
📌 Как используешь секреты?
💬 Спрашивают в 13% собеседований
Использование секретов в Kubernetes (Kubernetes Secrets) — это важная практика для безопасного управления конфиденциальными данными, такими как пароли, токены доступа, ключи API и другие чувствительные данные. Вот как можно использовать секреты в Kubernetes:
🤔 Создание секретов
Секреты в Kubernetes могут быть созданы различными способами, включая использование командной строки
kubectl, файлов YAML или напрямую через API.
1️⃣ Создание секретов с помощью командной строки kubectl
Команда kubectl create secret позволяет создать секреты из текстовых значений или файлов.
Пример создания секрета с именем mysecret из текстового значения:
kubectl create secret generic mysecret --from-literal=username=myuser --from-literal=password=mypassword
Пример создания секрета из файла:
kubectl create secret generic mysecret --from-file=path/to/secret/file
2️⃣ Создание секретов с помощью YAML-файла
Секреты можно описать в YAML-файле и применить с помощью команды kubectl apply.
Пример секрета, описанного в YAML:
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: Opaque
data:
username: bXl1c2Vy # base64-encoded value of "myuser"
password: bXlwYXNzd29yZA== # base64-encoded value of "mypassword"
Чтобы создать секрет из этого файла, необходимо применить его
kubectl apply -f secret.yaml
🤔 Использование секретов в подах
Секреты могут быть использованы в подах несколькими способами:
1️⃣ Использование секретов как переменные окружения
Пример манифеста пода с использованием секретов как переменных окружения:
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: mycontainer
image: myimage:latest
env:
- name: USERNAME
valueFrom:
secretKeyRef:
name: mysecret
key: username
- name: PASSWORD
valueFrom:
secretKeyRef:
name: mysecret
key: password
2️⃣ Использование секретов как тома
Пример манифеста пода с использованием секретов как тома:
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: mycontainer
image: myimage:latest
volumeMounts:
- name: secret-volume
mountPath: /etc/secret
readOnly: true
volumes:
- name: secret-volume
secret:
secretName: mysecret
В этом примере секреты будут смонтированы в поде в виде файлов в каталоге /etc/secret.
🤔 Обновление секретов
Секреты можно обновить с помощью команды kubectl apply или kubectl create secret с флагом --dry-run=client -o yaml для генерации YAML, который затем можно изменить и применить.
🤔 Безопасность секретов
1️⃣ Ограничение доступа: Используйте роли и политики RBAC для ограничения доступа к секретам.
2️⃣ Шифрование на уровне кластера: Включите шифрование секретов на уровне etcd.
3️⃣ Минимизация использования: Используйте секреты только там, где это необходимо, и избегайте их хранения в виде простого текста.
🤔 Краткое резюме
- Создание: Секреты можно создавать с помощью kubectl или YAML-файлов.
- Использование: Секреты можно использовать как переменные окружения или тома в подах.
- Обновление и безопасность: Обновляйте секреты безопасно и ограничивайте доступ к ним с помощью RBAC и шифрования.
🔥 ТОП ВОПРОСОВ С СОБЕСОВ
🔒 База собесов | 🔒 База тестовыхКак эффективно построить конвейер DevOps?
Хотите узнать, как автоматизировать процессы CI/CD и снизить порог входа в DevOps? Тогда присоединяйтесь к вебинару СберТеха 12 сентября в 11:00.
Виталий Астраханцев, руководитель разработки инструментов DevSecOps в СберТехе, расскажет об инструменте Orchestra R, который позволяет настраивать конвейеры в режиме low-code.
Поговорим о том, почему шаблонизация этапов так эффективна, и сколько DevOps-инженеров понадобится для создания конвейера с сотней шагов.
Кому будет полезен вебинар:
- PO/CPO, CTO
- руководителям ИТ-отделов
- руководителям разработки
- Delivery Lead
- DevOps-инженерам
Регистрируйтесь сейчас, чтобы не потерять событие. До встречи на вебинаре!
Зарегистрироваться
#реклама 16+
works.sbertech.ru
О рекламодателе
🤔 Какой из следующих инструментов используется для оркестрации контейнеров?
Партнёрская программа рекрутинга в Яндекс Еду
Станьте партнёром Яндекс Еды по привлечению курьеров и получите кучу преимуществ:
💰Платим до 25 000 ₽ за успешного кандидата
📞Поддержка на всех этапах
📅Свободное расписание
📊Удобные инструменты для работы
Приводите новых курьеров и получайте в среднем 187 000 ₽ в месяц!
Зарегистрироваться
#реклама
eda.yandex.ru
О рекламодателе
📌 Вопрос по kubernetes чем контейнер отличается от пола?
💬 Спрашивают в 13% собеседований
🤔 Чем контейнер отличается от пода в Kubernetes
🤔 Контейнер
Контейнер — это изолированная среда выполнения, которая упаковывает приложение и его зависимости, обеспечивая его консистентное выполнение независимо от окружения. Контейнеры обычно создаются с использованием технологий, таких как Docker, и включают:
- Приложение.
- Библиотеки и зависимости.
- Средства управления.
Пример Dockerfile для создания контейнера:
FROM python:3.8-slim
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
Контейнеры обеспечивают изоляцию приложений и их зависимостей, но в контексте Kubernetes, контейнеры управляются и организуются в более высокоуровневые сущности, называемые подами.
🤔 Под
Под — это наименьшая и самая базовая единица развертывания в Kubernetes. Под включает один или несколько контейнеров, которые совместно используют:
- Сетевое пространство: Все контейнеры в поде имеют общий IP-адрес и порты.
- Файловую систему: Общие тома для хранения данных между контейнерами.
- Сетевые ресурсы: Контейнеры в поде могут общаться друг с другом через localhost.
Основные характеристики пода:
- Один или несколько контейнеров: Обычно в поде размещается один контейнер, но можно разместить несколько контейнеров, которые должны работать вместе.
- Жизненный цикл: Поды создаются, управляются и удаляются Kubernetes. Они могут быть перезапущены в случае отказа.
- Общее пространство: Контейнеры в поде совместно используют сетевое пространство и могут взаимодействовать друг с другом через localhost.
Пример манифеста пода (YAML):
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: mycontainer
image: myimage:latest
ports:
- containerPort: 80
🤔 Основные различия
1️⃣ Уровень абстракции:
- Контейнер — это отдельная изолированная среда выполнения приложения.
- Под — это абстракция Kubernetes, объединяющая один или несколько контейнеров.
2️⃣ Совместное использование ресурсов:
- Контейнеры не делятся сетевым пространством и томами по умолчанию.
- Контейнеры в поде делят сетевое пространство и могут обмениваться данными через общие тома.
3️⃣ Управление и оркестрация:
- Контейнеры управляются такими инструментами, как Docker.
- Поды управляются Kubernetes, который заботится об их создании, масштабировании, перезапуске и удалении.
4️⃣ Жизненный цикл:
- Контейнеры могут существовать независимо от Kubernetes.
- Поды управляются и контролируются Kubernetes, и они могут быть перезапущены или перемещены на другие узлы.
🤔 Краткое резюме
- Контейнер — изолированная среда выполнения для приложения и его зависимостей.
- Под — базовая единица развертывания в Kubernetes, содержащая один или несколько контейнеров с общими ресурсами (сеть, тома).
- Контейнеры в поде делят сетевые и файловые ресурсы и управляются Kubernetes для обеспечения высокой доступности и масштабируемости.
🔥 ТОП ВОПРОСОВ С СОБЕСОВ
🔒 База собесов | 🔒 База тестовыхПоздравляем тех, кто закодит дальше всех
256-й день в году — ваш праздник. Отвлекитесь от задачек, тикетов и IDE, чтобы погрузиться в поздравление от инженеров инженерам.
Мы в Контуре уже начали отмечать день программиста.
Давайте с нами!
Узнать больше
#реклама
tech.kontur.ru
О рекламодателе
📌 Что такое Prometheus ?
💬 Спрашивают в 33% собеседований
Prometheus — это открытая система мониторинга и оповещения, которая широко используется для сбора метрик с различных целевых объектов, таких как серверы, виртуализированные контейнеры и приложения, в режиме реального времени. Она была создана в компании SoundCloud в 2012 году и с тех пор стала частью Cloud Native Computing Foundation, что подчеркивает её популярность и признание в индустрии.
🤔 Основные характеристики:
1️⃣ Модель данных:
➕ Prometheus хранит данные в форме временных рядов.
➕ Каждый временной ряд идентифицируется уникальным именем или идентификатором и может иметь набор ключ-значение, который называется метками (labels).
2️⃣ Язык запросов:
➕Prometheus имеет собственный язык запросов, PromQL (Prometheus Query Language), который позволяет пользователям выбирать и агрегировать данные по времени.
3️⃣Непрерывная сборка данных:
➕ Prometheus регулярно собирает метрики с целевых объектов, используя pull-модель, то есть сам запрашивает данные у целевых объектов по HTTP.
4️⃣ Цели мониторинга:
➕ Цели (targets) конфигурируются для мониторинга через статическую конфигурацию или с помощью сервис-дисковери.
5️⃣ Алерты:
➕ Prometheus поддерживает возможности оповещения. Он может высылать уведомления о проблемах, которые необходимо устранить, по различным каналам связи, например, через Email, Slack и другие сервисы.
6️⃣ Хранение:
➕ По умолчанию Prometheus хранит данные локально на диске в высокоэффективном формате временных рядов. Также поддерживается интеграция с внешними системами хранения.
7️⃣Высокая доступность:
➕ Для обеспечения высокой доступности можно запустить несколько экземпляров Prometheus, которые будут собирать данные параллельно.
🤔 Пример:
➕ Prometheus может использоваться для мониторинга производительности приложений, анализа системных метрик, таких как использование ЦП и памяти, а также для мониторинга инфраструктуры в целом. Например, в кластере Kubernetes Prometheus может собирать метрики со всех узлов, подов и контейнеров, предоставляя централизованный взгляд на здоровье всей системы.
➕ Prometheus предоставляет мощный инструментарий для мониторинга и оповещения в современных облачных и контейнерных средах. Он позволяет не только отслеживать состояние системы в реальном времени, но и реагировать на возникающие проблемы оперативно, что делает его незаменимым инструментом в арсенале DevOps-инженера.
🔥 ТОП ВОПРОСОВ С СОБЕСОВ
🔒 База собесов | 🔒 База тестовых
Запустите рекламу в телеграм-каналах с Яндекс Директом
Перфоманс-реклама теперь в телеграм-каналах ⚡
Яндекс Директ знает, как привлечь целевую аудиторию 💰👌
Попробовать
#реклама
yandex.ru
О рекламодателе
