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

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

前往频道在 Telegram
5 496
订阅者
+124 小时
-127
-1430
帖子存档
🤔 Что такое entrypoint \ cmd? ENTRYPOINT задаёт основную команду для запуска контейнера, а CMD предоставляет аргументы по умолчанию для этой команды. CMD также может быть переопределён при запуске контейнера. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Ищете надежного поставщика по стандартам ASME? ⚡Мы, компания СейлсСолюшен, предлагаем широкий ассортимент материалов по станд
Ищете надежного поставщика по стандартам ASME? ⚡Мы, компания СейлсСолюшен, предлагаем широкий ассортимент материалов по стандартам ASME для ваших нужд: детали трубопроводов, фланцы, фитинги, кованные заготовки и трубы. ✅Сертифицированные по международным стандартам и аккредитован ведущими российскими компаниями отрасли. Перейти на сайт #реклама salessolution.ru О рекламодателе

🤔 Какие используете централизованные средства обновления и мониторинга состояния сертификатов на эндпойнтах? Централизованное управление и мониторинг состояния сертификатов на конечных точках (эндпойнтах) критически важно для обеспечения безопасности и соблюдения регуляторных требований. Для этой цели можно использовать различные инструменты и платформы, которые обеспечивают централизованное обновление, мониторинг и управление сертификатами. 🟠HashiCorp Vault Это мощное средство для управления секретами и сертификатами. Оно поддерживает централизованное управление сертификатами и автоматическое обновление. Функции: Хранение и управление сертификатами. Автоматическое обновление и ротация сертификатов. API для интеграции с другими системами. Управление доступом на основе политики. 🟠Certbot и Let's Encrypt Это клиент для автоматического получения и обновления сертификатов от Let's Encrypt, бесплатного авторитета сертификации. Функции: Автоматическое получение и обновление SSL/TLS сертификатов. Интеграция с веб-серверами (например, Apache, Nginx). Скрипты и автоматизация для простоты управления. 🟠Venafi Это платформа для защиты машинных идентификаторов, которая обеспечивает централизованное управление сертификатами. Функции: Централизованное управление жизненным циклом сертификатов. Автоматическое обновление и ротация сертификатов. Мониторинг состояния сертификатов и оповещения о проблемах. Интеграция с различными облачными провайдерами и DevOps инструментами. 🟠AWS Certificate Manager (ACM) Позволяет легко управлять сертификатами в облачной инфраструктуре AWS. Функции: Автоматическое обновление сертификатов. Простая интеграция с AWS сервисами (например, Elastic Load Balancing, CloudFront). Централизованное управление сертификатами в AWS. 🟠Microsoft Azure Key Vault Azure Key Vault предоставляет возможности для централизованного управления сертификатами в облаке Microsoft Azure. Функции: Хранение и управление сертификатами. Автоматическое обновление сертификатов. Интеграция с другими сервисами Azure. Управление доступом на основе ролей (RBAC). 🟠Google Cloud Certificate Manager Google Cloud Certificate Manager помогает управлять сертификатами в инфраструктуре Google Cloud Platform. Функции: Управление и обновление сертификатов. Интеграция с Load Balancers и другими сервисами GCP. Мониторинг и оповещения о состоянии сертификатов. 🚩Пример настройки 1⃣Установка Certbot:
sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx
2⃣Получение сертификата:
sudo certbot --nginx -d example.com -d www.example.com
3⃣Настройка автоматического обновления сертификатов:
sudo crontab -e
4⃣Добавление следующей строки в crontab для автоматического обновления:
0 0 * * * /usr/bin/certbot renew --quiet --no-self-upgrade
Ставь 👍 и забирай 📚 Базу знаний

🤔 Какие существуют Probe? Существуют три основных Probe в Kubernetes: Liveness Probe для проверки состояния контейнера, Readiness Probe для определения готовности к обработке запросов и Startup Probe для проверки успешного запуска контейнера. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

9 продуктов для работы с данными от СберТеха Приглашаем в Телеграм-канал Data Platform V, где рассказываем о решениях для раб
9 продуктов для работы с данными от СберТеха Приглашаем в Телеграм-канал Data Platform V, где рассказываем о решениях для работы с данными от СберТеха и не только. Что вас ждет: ⚡Знакомство с российскими СУБД и другими продуктами для работы с данными ⚡Последние обновления и улучшения (узнаете в числе первых!) ⚡Кейсы успешного внедрения и использования (реальные примеры с подробным разбором) ⚡Полезные статьи, новости и тренды в сфере разработки СУБД ⚡Приглашения на мероприятия с участием экспертов Хотите разобраться лучше в инструментах для работы с данными и выбрать то, что принесет пользу вашему бизнесу? Присоединяйтесь! Подписаться #реклама О рекламодателе

🤔 Что такое user space и kernel space? В операционных системах на базе Unix и Linux существует разделение между двумя важными областями памяти: пространством пользователя (user space) и пространством ядра (kernel space). Это разделение важно для обеспечения стабильности и безопасности системы. 🚩Kernel Space (Пространство ядра) Пространство ядра - это область памяти, в которой работает ядро операционной системы и его расширения, включая драйверы устройств. Ядро имеет полный доступ к аппаратным ресурсам системы и может выполнять привилегированные операции. 🟠Полный доступ к аппаратуре: Ядро имеет прямой доступ к памяти, процессору, устройствам ввода-вывода и другим аппаратным компонентам. 🟠Привилегированный режим выполнения: Код, выполняемый в пространстве ядра, работает в привилегированном режиме процессора, что позволяет ему выполнять критически важные и потенциально опасные операции. 🟠Управление ресурсами: Ядро управляет ресурсами системы, такими как память, процессорное время, файловые системы и сетевые соединения. 🟠Обработка системных вызовов: Ядро обрабатывает системные вызовы от приложений, которые выполняются в пространстве пользователя. Эти вызовы включают операции ввода-вывода, управление памятью, управление процессами и другие. 🚩User Space (Пространство пользователя) Пространство пользователя - это область памяти, в которой выполняются пользовательские приложения и процессы. Это пространство изолировано от пространства ядра для обеспечения безопасности и стабильности системы. 🟠Ограниченный доступ к аппаратуре: Приложения в пространстве пользователя не имеют прямого доступа к аппаратным ресурсам. Все обращения к аппаратуре происходят через системные вызовы, которые передаются ядру. 🟠Непривилегированный режим выполнения: Код, выполняемый в пространстве пользователя, работает в непривилегированном режиме процессора, что ограничивает его возможности и предотвращает выполнение опасных операций. 🟠Изоляция и безопасность: Процессы в пространстве пользователя изолированы друг от друга и от пространства ядра. Это предотвращает одну программу от вмешательства в работу другой и защищает ядро от потенциально вредоносных действий. 🚩Взаимодействие между Kernel Space и User Space Взаимодействие между пространством пользователя и ядра происходит через системные вызовы. Когда приложение в пространстве пользователя хочет выполнить операцию, требующую привилегий ядра (например, чтение файла или создание процесса), оно выполняет системный вызов. Ядро обрабатывает этот вызов и возвращает результат в пространство пользователя. Примером системного вызова является функция read() в языке программирования C, которая позволяет читать данные из файла. Тут open(), read(), и close() являются системными вызовами, которые передают управление от пространства пользователя к пространству ядра для выполнения операций с файлами.
#include <unistd.h>
#include <fcntl.h>

int main() {
    int fd = open("example.txt", O_RDONLY);
    if (fd == -1) {
        // Ошибка при открытии файла
        return 1;
    }

    char buffer[128];
    ssize_t bytesRead = read(fd, buffer, sizeof(buffer));
    if (bytesRead == -1) {
        // Ошибка при чтении файла
        return 1;
    }

    // Обработка данных
    close(fd);
    return 0;
}
Ставь 👍 и забирай 📚 Базу знаний

🤔 В чём разница между контейнеризацией и виртуализацией? Контейнеризация использует контейнеры для изоляции приложений и их зависимостей на уровне операционной системы, что делает контейнеры более лёгкими по сравнению с виртуальными машинами. Виртуализация, в свою очередь, создает полноценные виртуальные машины с собственными ОС поверх гипервизора, что требует больше ресурсов. Контейнеры запускаются на общем ядре ОС хоста, а виртуальные машины имеют свои ядра, что делает их независимыми, но более тяжёлыми. Контейнеры обеспечивают большую гибкость и скорость развертывания по сравнению с виртуальными машинами. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Новые бесплатные курсы в канале Selectel Newsfeed. Подойдут всем: от новичков до продвинутых айтишников. Вас ждут обзоры, инс
+5
Новые бесплатные курсы в канале Selectel Newsfeed. Подойдут всем: от новичков до продвинутых айтишников. Вас ждут обзоры, инструкции и статьи, которые помогут разобраться в темах структурно и последовательно. Вступайте в сообщество IT-специалистов в Telegram от Selectel. Подписаться #реклама 16+ О рекламодателе

🤔 В чем разница между linux и unix? Разница между Linux и Unix заключается в их происхождении, разработке, лицензировании и архитектурных особенностях. Хотя они оба являются операционными системами, основывающимися на схожих концепциях, они имеют несколько ключевых различий. 🚩Происхождение и история 🟠Unix Происхождение: Unix был разработан в AT&T Bell Labs в конце 1960-х и начале 1970-х годов Кеном Томпсоном, Деннисом Ритчи и другими. История: Unix стал основой для многих других операционных систем, включая различные коммерческие и академические версии, такие как BSD (Berkeley Software Distribution), AIX (от IBM), HP-UX (от Hewlett-Packard), Solaris (от Sun Microsystems) и другие. 🟠 Linux Происхождение:Linux был разработан Линусом Торвальдсом в 1991 году как бесплатная и открытая альтернатива Unix. История: Linux основан на идеях и стандартах Unix, но он не содержит исходного кода Unix. Linux стал популярным благодаря своей открытой модели разработки и поддержке со стороны сообщества. 🚩Лицензирование 🟠Unix Лицензия: Unix традиционно был коммерческой операционной системой, распространяемой по проприетарной лицензии. Каждая версия Unix имела свои собственные лицензионные условия и коммерческие модели. 🟠Linux Лицензия: Linux распространяется под лицензией GNU General Public License (GPL), что делает его свободным и открытым программным обеспечением. Это позволяет пользователям свободно использовать, изменять и распространять Linux. 🚩Разработка и поддержка 🟠Unix Разработка: Разработка Unix велась различными коммерческими и академическими организациями. Каждая версия Unix разрабатывалась и поддерживалась своим собственным вендором. Поддержка: Поддержка Unix зависела от вендора, который предоставлял коммерческую поддержку для своей версии системы. 🟠Linux Разработка: Linux разрабатывается сообществом разработчиков по всему миру. Основной веткой ядра Linux управляет Линус Торвальдс и его команда, но различные дистрибутивы (например, Debian, Ubuntu, Fedora, CentOS, и т.д.) добавляют свои собственные компоненты и поддержку. Поддержка: Linux поддерживается как сообществом, так и коммерческими организациями (например, Red Hat, Canonical, SUSE), предоставляющими платную поддержку и услуги. 🚩Архитектурные особенности и использование 🟠Unix Архитектура: Unix системы часто следуют определенным стандартам, таким как POSIX, и имеют стабильное, проверенное временем ядро и архитектуру. Использование: Unix традиционно используется в крупных корпоративных средах, на серверах и мейнфреймах, в научных и инженерных приложениях. 🟠Linux Архитектура: Linux также следует стандартам POSIX и имеет модульную архитектуру, которая позволяет пользователям и разработчикам легко добавлять новые функции. Использование: Linux используется повсеместно — от серверов и суперкомпьютеров до встраиваемых систем и мобильных устройств (например, Android). Он также широко используется в настольных системах благодаря множеству дистрибутивов. Ставь 👍 и забирай 📚 Базу знаний

– Помощь с pet-проектом – Составление roadmap – Общая консультация – Проведение код-ревью и mock-собеседования – Помощь с тру
– Помощь с pet-проектом – Составление roadmap – Общая консультация – Проведение код-ревью и mock-собеседования – Помощь с трудоустройством Все это и многое другое может Ментор. Он обеспечит вам необходимый boost, ускорит и упростит вход в IT. 🔥 Здесь размещен список менторов, и многие из них предлагают бесплатную первую консультацию

– Помощь с pet-проектом – Составление roadmap – Общая консультация – Проведение код-ревью и mock-собеседования – Помощь с тру
– Помощь с pet-проектом – Составление roadmap – Общая консультация – Проведение код-ревью и mock-собеседования – Помощь с трудоустройством Все это и многое другое может Ментор. Он обеспечит вам необходимый boost, ускорит и упростит вход в IT. 🔥 Здесь размещен список менторов, и многие из них предлагают бесплатную первую консультацию

🤔 Без какой инструкции не может существовать докер файл? FROM — это ключевая инструкция в Dockerfile, без которой файл не может существовать. Она указывает базовый образ, от которого начинается сборка контейнера. Любой Dockerfile должен начинаться с этой инструкции. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚Базу Знаний

Помощь в трудоустройстве в IT-сфере! В России из-за дефицита айтишников запустили бесплатную программу по обучению IT-специал
+9
Помощь в трудоустройстве в IT-сфере! В России из-за дефицита айтишников запустили бесплатную программу по обучению IT-специалистов. Теперь любой желающий может попробовать себя в IT с полного нуля и начать обучение бесплатно! Узнайте про дальнейшее трудоустройство в ведущие IT-компании для восполнения кадрового дефицита. Для этого нужно: - Перейти по ссылке - Заполнить анкету и ответить на вопросы (занимает менее 3 минут) - На основании ваших ответов вы сразу узнаете, подходит ли вам сфера IT и сможете ли вы в ней работать Перейти на сайт #реклама 16+ urban-university.ru О рекламодателе

🤔 Какую информацию хранит i нода? I-нода (или индексный узел, inode) в файловой системе UNIX и подобных ей (например, в Linux) является структурой данных, которая хранит информацию о файлах и каталогах. I-нода не содержит имени файла, но хранит метаданные, необходимые для управления файлом. Вот основная информация, которую хранит i-нода: 🟠Идентификатор (индекс) i-ноды Уникальный идентификатор, по которому можно однозначно определить файл в пределах файловой системы. 🟠Тип файла: Определяет, является ли объект файлом, каталогом, символической ссылкой, устройством и т.д. 🟠Права доступа: Содержит информацию о правах доступа к файлу для владельца, группы и других пользователей (чтение, запись, выполнение). 🟠Ссылки (link count): Количество жестких ссылок на этот файл, то есть сколько раз этот файл упоминается в различных каталогах. 🟠Идентификатор пользователя (UID): Указывает владельца файла. 🟠Идентификатор группы (GID): Указывает группу, к которой принадлежит файл. 🟠Размер файла: Размер файла в байтах. 🟠Временные метки: ctime (Change Time): Время последнего изменения i-ноды (метаданных). mtime (Modification Time): Время последнего изменения содержимого файла. atime (Access Time): Время последнего доступа к файлу. 🟠Расположение данных: Прямые указатели: Указывают на блоки данных непосредственно. Одноуровневые непрямые указатели: Указывают на блоки, которые содержат прямые указатели. Двухуровневые непрямые указатели: Указывают на блоки, которые содержат одноуровневые непрямые указатели. Трехуровневые непрямые указатели: Указывают на блоки, которые содержат двухуровневые непрямые указатели.
i-нод номер: 12345
Тип: Файл
Права доступа: rw-r--r--
Ссылки: 1
UID: 1000
GID: 1000
Размер: 2048 байт
ctime: 2023-07-31 12:34:56
mtime: 2023-07-31 12:00:00
atime: 2023-07-31 11:30:00
Прямые указатели: [2, 3, 4, ...]
Одноуровневый непрямой указатель: [5]
Двухуровневый непрямой указатель: [6]
Трехуровневый непрямой указатель: [7]
Ставь 👍 и забирай 📚 Базу знаний

🤔 Что порождает init процесс? `init` — это первый процесс, который запускается ядром операционной системы после её загрузки. Он порождается непосредственно ядром как процесс с идентификатором PID 1 и отвечает за инициализацию системы, запуск всех остальных процессов и управление ними. `init` остаётся родительским процессом для всех орфанных процессов, обеспечивая их завершение или управление. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Yandex DataLens Festival, 2-18 декабря Для аналитиков, тимлидов, разработчиков, продактов и маркетологов. Эксперты Яндекса по
Yandex DataLens Festival, 2-18 декабря Для аналитиков, тимлидов, разработчиков, продактов и маркетологов. Эксперты Яндекса поделятся опытом. Онлайн и бесплатно Зарегистрироваться #реклама 16+ yandex.cloud О рекламодателе Реклама на Яндексе

🤔 Как реализовать идеальный деплой кода в production с помощью argocd? Argo CD — это инструмент для непрерывной доставки (CD) на основе GitOps, который автоматизирует развертывание приложений в Kubernetes. Он позволяет синхронизировать состояние кластера с состоянием в репозитории Git, что обеспечивает декларативное управление инфраструктурой и приложениями. 🚩Настройки идеального деплоя кода в production 1⃣Установка Argo CD Первым шагом является установка Argo CD в ваш Kubernetes кластер.
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
2⃣Доступ к интерфейсу Argo CD После установки необходимо настроить доступ к интерфейсу Argo CD. Вы можете использовать kubectl port-forward для локального доступа:
kubectl port-forward svc/argocd-server -n argocd 8080:443
3⃣Настройка аутентификации Получите начальный пароль для пользователя admin:
kubectl get pods -n argocd -l app.kubernetes.io/name=argocd-server -o name | cut -d'/' -f 2
4⃣Создание приложения Argo CD Создайте репозиторий в Git, который будет содержать манифесты Kubernetes для вашего приложения. Репозиторий должен содержать все необходимые файлы для развертывания приложения (например, файлы Deployment, Service, ConfigMap и т.д.). 5⃣Добавление приложения в Argo CD Используйте веб-интерфейс или командную строку для создания нового приложения в Argo CD, которое будет синхронизироваться с вашим Git-репозиторием. 6⃣Синхронизация и развертывание Argo CD автоматически синхронизирует состояние вашего кластера с состоянием в Git-репозитории. Если вы включили автоматическую синхронизацию, изменения в репозитории будут автоматически развернуты в кластере. 7⃣Настройка уведомлений Argo CD можно настроить для отправки уведомлений о статусе развертываний через интеграции с такими инструментами, как Slack, email, или вебхуками. 8⃣Мониторинг и обратная связь Используйте веб-интерфейс Argo CD для мониторинга состояния приложений и синхронизации. Также можно настроить метрики и мониторинг через Prometheus и Grafana для более глубокого анализа. Ставь 👍 и забирай 📚 Базу знаний

🤔 Какие существуют Probe? В Kubernetes существуют три типа Probe: `Liveness Probe`, `Readiness Probe` и `Startup Probe`. `Liveness Probe` проверяет, жив ли контейнер и работает ли он корректно, перезапуская его при необходимости. `Readiness Probe` определяет, готов ли контейнер обрабатывать запросы, и управляет включением/выключением его из баланса нагрузки. `Startup Probe` используется для проверки успешного старта контейнера перед выполнением других Probe. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Цены на все Серверы онлайн! Удобный конфигуратор! Серверы STSS Flagman✅ Огромный выбор решений 👍 Консультации лучших эксперт
Цены на все Серверы онлайн! Удобный конфигуратор! Серверы STSS Flagman✅ Огромный выбор решений 👍 Консультации лучших экспертов 👌 Непревзойденный сервис ❤️ Получить предложение #реклама stss.ru О рекламодателе

🤔 Как прикрутить авторизацию кластеру? Для настройки авторизации в кластере Kubernetes можно использовать несколько механизмов, включая роль RBAC (Role-Based Access Control), аутентификацию с использованием токенов, сертификатов, и интеграцию с внешними системами аутентификации, такими как OpenID Connect (OIDC). Рассмотрим основные шаги для настройки RBAC и аутентификации с помощью токенов. 🚩Настройка RBAC (Role-Based Access Control) 1⃣Создание роли (Role) или кластерной роли (ClusterRole) Роли определяют, какие действия разрешены над какими ресурсами в определенном namespace (Role) или во всем кластере (ClusterRole).
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: read-pods
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["get", "list", "watch"]
2⃣Создание роли связывания (RoleBinding) или кластерного связывания роли (ClusterRoleBinding) Связывание роли привязывает роль к конкретному пользователю, группе или субъекту службы (ServiceAccount).
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: read-pods-binding
subjects:
- kind: User
  name: jane
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: read-pods
  apiGroup: rbac.authorization.k8s.io
🚩Настройка аутентификации с использованием токенов Kubernetes поддерживает несколько методов аутентификации, включая использование токенов. Один из способов — использование токенов ServiceAccount. 1⃣Создание ServiceAccount
apiVersion: v1
kind: ServiceAccount
metadata:
  name: my-service-account
  namespace: default
2⃣Создание связывания роли для ServiceAccount
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: read-pods-binding
  namespace: default
subjects:
- kind: ServiceAccount
  name: my-service-account
  namespace: default
roleRef:
  kind: Role
  name: read-pods
  apiGroup: rbac.authorization.k8s.io
3⃣Получение токена ServiceAccount
kubectl get secret $(kubectl get serviceaccount my-service-account -o jsonpath='{.secrets[0].name}') -o jsonpath='{.data.token}' | base64 --decode
🚩Интеграция с внешними системами аутентификации (OIDC) Для интеграции с внешними системами аутентификации, такими как OpenID Connect (OIDC), нужно настроить параметры API-сервера Kubernetes. Настройка API-сервера Добавьте параметры конфигурации OIDC в команду запуска kube-apiserver
--oidc-issuer-url=https://accounts.google.com \
--oidc-client-id=<client-id> \
--oidc-username-claim=email \
--oidc-groups-claim=groups
Ставь 👍 и забирай 📚 Базу знаний