ru
Feedback

Не попадитесь на канал ботавода! Telemetrio находит и помечает такие каналы 👉 Хотите видеть метку — оформите подписку

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

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

Открыть в Telegram
5 566
Подписчики
+124 часа
-37 дней
-1030 дней
Архив постов
🤔 Когда используется UDP? UDP используется, когда важна скорость и допустима потеря данных, например, в стриминге, видеозвонках, DNS-запросах и онлайн-играх. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Что такое реальный ворк-лайф баланс для разработчика? На целую неделю ребята из канала Merk/daily передают бразды правления и
Что такое реальный ворк-лайф баланс для разработчика? На целую неделю ребята из канала Merk/daily передают бразды правления их каналом Flutter-разработчику Александру, чтобы вместе выяснить как разработчикам не выгорать на сложных проектах. Никакой воды и скучных нравоучениях о том, как «правильно» жить 👌 Александр расскажет, как выглядит его ворк-лайф баланс на самом деле, и как создать свой собственный, идеально подходящий именно вам. А еще: - Реальные истории из жизни IT-специалистов в международной компании. - Как Саша пришел в IT и выбрал свой стек - Кринжовые истории с собеседований - История о том, как мы сначала отказали Саше, а потом передумали ⚡ Подписывайтесь на канал, чтобы не пропустить! Подписаться #реклама О рекламодателе

🤔 Какой опыт использования хендлеров и шаблонов для ролей? В Ansible хэндлеры и шаблоны являются важными инструментами для управления конфигурацией и автоматизации задач. Они позволяют эффективно управлять изменениями конфигурации и генерировать файлы конфигураций динамически. Вот описание моего опыта использования хэндлеров и шаблонов в ролях Ansible. 🚩Хэндлеры Это задачи, которые выполняются только при вызове. Они используются для выполнения действий после изменения состояния системы, например, перезагрузки службы после обновления конфигурационного файла. Определение хэндлеров в роли
# roles/my_role/handlers/main.yml
- name: restart nginx
  service:
    name: nginx
    state: restarted
Вызов хэндлера в задаче
# roles/my_role/tasks/main.yml
- name: Copy nginx configuration file
  template:
    src: nginx.conf.j2
    dest: /etc/nginx/nginx.conf
  notify:
    - restart nginx
🚩Шаблоны в Ansible Используют движок Jinja2 для динамического создания файлов на основе переменных. Это позволяет генерировать конфигурационные файлы, которые могут адаптироваться к различным средам и параметрам. Определение шаблона
# roles/my_role/templates/nginx.conf.j2
server {
    listen 80;
    server_name {{ server_name }};
    location / {
        proxy_pass http://{{ proxy_pass }};
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
Использование шаблона в задаче
# roles/my_role/tasks/main.yml
- name: Generate nginx configuration from template
  template:
    src: nginx.conf.j2
    dest: /etc/nginx/nginx.conf
  vars:
    server_name: "example.com"
    proxy_pass: "127.0.0.1:8080"
  notify:
    - restart nginx
🚩Опыт использования 1⃣Автоматизация развертывания веб-серверов В проектах автоматизации развертывания веб-серверов я использовал хэндлеры для перезапуска служб после обновления конфигурационных файлов. Шаблоны позволяли гибко настраивать конфигурации для различных окружений (development, staging, production). 2⃣Управление конфигурацией баз данных Для управления конфигурацией баз данных я использовал шаблоны для генерации файлов конфигураций на основе переменных, которые определяют параметры подключения и настройки базы данных. 3⃣Обновление систем и пакетов Использование хэндлеров для перезагрузки служб после установки или обновления пакетов. Например, перезапуск Apache после установки новых модулей или обновления конфигурации. Ставь 👍 и забирай 📚 Базу знаний

🤔 При попытке создания файла на диске на Linux ошибка, что места нет, проверяете, место есть — с чем это может быть связано? Ошибка может быть связана с исчерпанием inodes, ограничением прав доступа, превышением лимита пользователя или монтированием диска только для чтения. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Канал для начинающих системных аналитиков! Здесь вы получите ответы на: - Какое развитие у системного аналитика и сколько он
Канал для начинающих системных аналитиков! Здесь вы получите ответы на: - Какое развитие у системного аналитика и сколько он может получать? - Как подготовиться к собеседованию? - Как преодолеть страхи при переходе в IT? - Как правильно вести коммуникацию с заказчиком? - Какие ошибки бывают при проектировании? А так же много практической пользы, которая поможет новичкам начать путь в IT! Подписаться #реклама О рекламодателе

🤔 Как сделать так чтобы докер при сборке образа получил динамический атрибут от CI не env а например id проекта? 🟠Podman Без демона: Не требует отдельного демона, контейнеры работают как процессы. Совместимость с Docker: Поддерживает Docker CLI. rootless режим: Запуск без привилегий суперпользователя.
podman run -d --name my-container nginx
🟠CRI-O Интеграция с Kubernetes: Оптимизирован для Kubernetes. Легковесность: Минимальные зависимости. Поддержка OCI: Соответствует стандартам Open Container Initiative.
criSocket: /var/run/crio/crio.sock
🟠containerd Высокая производительность: Эффективное управление контейнерами. Интеграция с Kubernetes: Используется напрямую через CRI. Поддержка OCI: Полная совместимость с OCI.
ctr run -d --name my-container docker.io/library/nginx:latest
🟠LXC/LXD Полная виртуализация ОС: Изоляция процессов, сети и файловой системы. Управление контейнерами: Удобные инструменты для управления. Гибкость: Поддержка различных дистрибутивов Linux.
lxc launch ubuntu:20.04 my-container
🟠Rkt Без демона: Запуск контейнеров без постоянного демона. Безопасность: Изолированные окружения и аутентификация. Интеграция с Kubernetes: Альтернатива Docker в Kubernetes.
rkt run --insecure-options=image docker://nginx
🟠OpenVZ Виртуализация на уровне ОС: Запуск изолированных виртуальных окружений. Производительность: Минимальная изоляция для высокой производительности. Управление ресурсами: Контроль ресурсов для каждого окружения.
vzctl create 101 --ostemplate centos-7
🟠Singularity Фокус на HPC: Оптимизирован для научных вычислений. rootless контейнеры: Запуск без прав суперпользователя. Совместимость: Поддержка Docker контейнеров и OCI форматов.
singularity pull docker://nginx
Ставь 👍 и забирай 📚 Базу знаний

📶 С 1 декабря для граждан РФ открыт доступ к платным материалам по программированию Вот отсортированные базы с тонной матери
📶 С 1 декабря для граждан РФ открыт доступ к платным материалам по программированию Вот отсортированные базы с тонной материала(книги, курсы, ресурсы и гайды). Выбирай своё направление: 👩‍💻 Frontend 👩‍💻 PHP ⚙️ Backend 👩‍💻 Моб. Dev 📱 GitHub 👩‍💻 GameDev 🤓 Всё айти 👩‍💻 DevOps 👩‍💻 Python 🖥 Data Science 👩‍💻 Java 🐞 Тестирование 👩‍💻 C# 🤔 Хакинг & ИБ 👩‍💻 С/С++ 📱 Маркетинг 🖥 SQL 🖥 Дизайн 👩‍💻 Golang 👣 Rust Скачивать ничего не нужно — все выложили в Telegram с доступом по ссылке

🤔 Как посмотреть размер папки на диске? Команда du -sh <путь к папке> показывает размер папки в человеко-читаемом формате. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

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

🤔 Какие ещё есть системы контейнеризации помимо докера? 🟠Podman Без демона: Не требует отдельного демона, контейнеры работают как процессы. Совместимость с Docker: Поддерживает Docker CLI. rootless режим: Запуск без привилегий суперпользователя.
podman run -d --name my-container nginx
🟠CRI-O Интеграция с Kubernetes: Оптимизирован для Kubernetes. Легковесность: Минимальные зависимости. Поддержка OCI: Соответствует стандартам Open Container Initiative.
criSocket: /var/run/crio/crio.sock
🟠containerd Высокая производительность: Эффективное управление контейнерами. Интеграция с Kubernetes: Используется напрямую через CRI. Поддержка OCI: Полная совместимость с OCI.
ctr run -d --name my-container docker.io/library/nginx:latest
🟠LXC/LXD Полная виртуализация ОС: Изоляция процессов, сети и файловой системы. Управление контейнерами: Удобные инструменты для управления. Гибкость: Поддержка различных дистрибутивов Linux.
lxc launch ubuntu:20.04 my-container
🟠Rkt Без демона: Запуск контейнеров без постоянного демона. Безопасность: Изолированные окружения и аутентификация. Интеграция с Kubernetes: Альтернатива Docker в Kubernetes.
rkt run --insecure-options=image docker://nginx
🟠OpenVZ Виртуализация на уровне ОС: Запуск изолированных виртуальных окружений. Производительность: Минимальная изоляция для высокой производительности. Управление ресурсами: Контроль ресурсов для каждого окружения.
vzctl create 101 --ostemplate centos-7
🟠Singularity Фокус на HPC: Оптимизирован для научных вычислений. rootless контейнеры: Запуск без прав суперпользователя. Совместимость: Поддержка Docker контейнеров и OCI форматов.
singularity pull docker://nginx
Ставь 👍 и забирай 📚 Базу знаний

🤔 Какие протоколы знаешь? Протоколы: TCP (надежная передача данных), UDP (быстрая и ненадёжная), HTTP/HTTPS (веб-протоколы), FTP (передача файлов), SMTP/IMAP/POP3 (почтовые протоколы), WebSocket (двусторонняя связь) и DNS (разрешение имён). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Быстрая миграция в Yandex Cloud за наш счёт Чувствуете, что текущая инфраструктура ограничивает рост вашего бизнеса? Пора пер
Быстрая миграция в Yandex Cloud за наш счёт Чувствуете, что текущая инфраструктура ограничивает рост вашего бизнеса? Пора переходить в облако! Специалисты Yandex Cloud помогут сделать процесс миграции максимально простым. Всё, что потребуется от вас, — выделить специалиста с доступом к инфраструктуре. Остальное мы берём на себя! И самое приятное: подайте заявку до 31 декабря, и мы покроем расходы на услуги нашей команды и тестовую инфраструктуру. ✨ Мигрируйте в Yandex Cloud легко и без рисков! ⚡Заполните заявку прямо сейчас Подать заявку #реклама yandex.cloud О рекламодателе

🤔 Каким образом вы шифруете переменные в CI? Шифрование переменных в CI/CD пайплайнах является критически важной задачей для обеспечения безопасности секретных данных, таких как API-ключи, пароли и другие конфиденциальные данные. 🚩Основные подходы и инструменты Предоставляют встроенные механизмы для безопасного хранения и использования секретов. 🟠GitHub Actions Добавление секретов в репозиторий: Перейдите в настройки репозитория (Settings) -> Secrets and variables -> Actions -> New repository secret. Добавьте новый секрет, указав имя и значение. Использование секретов в workflow
name: CI Pipeline
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout code
      uses: actions/checkout@v2
    - name: Use secret
      run: echo ${{ secrets.MY_SECRET }}
🟠GitLab CI Добавление переменных в GitLab: Перейдите в настройки проекта (Settings) -> CI/CD -> Variables -> Expand -> Add variable. Добавьте новую переменную, указав имя и значение, и отметьте ее как Protected и Masked. Использование переменных в .gitlab-ci.yml
stages:
  - build
build:
  stage: build
  script:
    - echo $MY_SECRET
🟠Jenkins Добавление секретов в Jenkins: Перейдите в настройки Jenkins -> Manage Jenkins -> Manage Credentials -> (global) -> Add Credentials. Добавьте новый секрет, указав Scope, ID и значение. Использование секретов в Jenkins pipeline
pipeline {
    agent any
    environment {
        MY_SECRET = credentials('my-secret-id')
    }
    stages {
        stage('Build') {
            steps {
                sh 'echo $MY_SECRET'
            }
        }
    }
}
🚩Использование сторонних инструментов для управления секретами 🟠HashiCorp Vault Установка и настройка Vault: Запустите Vault сервер и инициализируйте его. Создайте секрет и настройте политики доступа. Пример использования Vault в CI/CD: Создайте и инициализируйте секрет
vault kv put secret/myapp MY_SECRET=my_secret_value    
Включите аутентификацию и предоставьте доступ CI/CD системе
vault auth enable approle
vault write auth/approle/role/my-role token_policies=my-policy    
Использование секрета в GitHub Actions
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout code
      uses: actions/checkout@v2
    - name: Set up Vault
      run: |
        curl -o vault.zip https://releases.hashicorp.com/vault/1.8.2/vault_1.8.2_linux_amd64.zip
        unzip vault.zip
        sudo mv vault /usr/local/bin/
        vault login ${{ secrets.VAULT_TOKEN }}
        vault kv get -field=MY_SECRET secret/myapp
🚩Шифрование и расшифрование переменных вручную 🟠Использование GPG Зашифруйте файл с переменными
gpg --symmetric --cipher-algo AES256 secrets.env    
Расшифруйте файл в CI/CD процессе
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout code
      uses: actions/checkout@v2
    - name: Decrypt secrets
      run: |
        gpg --batch --passphrase ${{ secrets.GPG_PASSPHRASE }} -o secrets.env -d secrets.env.gpg
        source secrets.env
Ставь 👍 и забирай 📚 Базу знаний

🤔 Что такое volume и persistent volume и какие есть типы этих вольюмов? Volume — это механизм для хранения данных контейнера вне его файловой системы, чтобы данные сохранялись между перезапусками. Persistent Volume (PV) в Kubernetes представляет собой хранилище, которое существует независимо от подов. Типы volumes включают emptyDir, hostPath, NFS, CIFS, AWS EBS, Azure Disk и PersistentVolumeClaim. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

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

🤔 Что такое роуты в кубере и зачем они используются? В Kubernetes "роуты" (routes) обычно ассоциируются с концепцией маршрутизации сетевого трафика к нужным сервисам и подам в кластере. 🚩Основные компоненты маршрутизации в Kubernetes 🟠Service Абстракция, определяющая логический набор подов и политику доступа к ним. Обеспечивает стабильную точку доступа (IP-адрес и порт) к динамически изменяющемуся набору подов. ClusterIP: Доступ только внутри кластера. NodePort: Открывает статический порт на каждом узле для внешнего доступа. LoadBalancer: Создает внешний балансировщик нагрузки (используется в облачных провайдерах).
apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: my-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 9376
  type: ClusterIP
🟠Ingress API-объект, который управляет внешним доступом к сервисам в кластере, обычно HTTP/HTTPS. Предоставляет возможность настройки правил маршрутизации, SSL/TLS терминальной точки, виртуальных хостов и балансировки нагрузки. Специальный компонент, который реализует правила Ingress.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: example-ingress
spec:
  rules:
  - host: example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: my-service
            port:
              number: 80
🟠Network Policies Объект, определяющий правила контроля трафика для подов. Ограничивает и контролирует входящий и исходящий сетевой трафик между подами и сервисами, обеспечивая безопасность сети.
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: example-network-policy
spec:
  podSelector:
    matchLabels:
      role: db
  policyTypes:
  - Ingress
  - Egress
  ingress:
  - from:
    - podSelector:
        matchLabels:
          role: frontend
  egress:
  - to:
    - podSelector:
        matchLabels:
          role: backend
🚩Как работают роуты 🟠Service Маршрутизирует запросы на уровне кластера, обеспечивая доступ к группе подов через один IP-адрес. 🟠Ingress Обеспечивает маршрутизацию HTTP/HTTPS запросов от внешних клиентов к нужным сервисам в кластере, используя правила маршрутизации. 🟠Network Policies Контролируют сетевой трафик между подами, ограничивая или разрешая доступ по заданным правилам. 🚩Зачем используются роуты 🟠Упрощение доступа Services и Ingress предоставляют стабильные точки доступа к подам, упрощая взаимодействие между компонентами приложения и внешними клиентами. 🟠Безопасность Network Policies обеспечивают контроль сетевого трафика, что помогает защитить приложение от несанкционированного доступа и атак. 🟠Балансировка нагрузки Services типа LoadBalancer и Ingress могут распределять входящий трафик между подами, обеспечивая равномерную нагрузку и улучшая производительность. Ставь 👍 и забирай 📚 Базу знаний

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

Школьник + бесплатные курсы по ИТ = новые возможности Хотите прокачать мышление, научиться решать задачи по математике и инфо
Школьник + бесплатные курсы по ИТ = новые возможности Хотите прокачать мышление, научиться решать задачи по математике и информатике и познакомиться с ИТ? Бесплатные курсы для школьников в этом помогут. Занятия включают теорию и практические задачи, а само обучение не будет отнимать много времени - нужно 2-3 часа в неделю. После успешного прохождения одного из курсов вам выдадут сертификат - им можно пополнить портфолио. Чтобы начать учиться, выберите подходящую программу и оставьте заявку на сайте Т-Образования. Подать заявку #реклама 16+ education.tbank.ru О рекламодателе

🤔 Какими механизмами организовывается доступ к кастомным ресурсам? Доступ к кастомным ресурсам организуется с помощью механизмов аутентификации (проверка идентификации пользователя), авторизации (определение прав доступа), контроля доступа через URL (например, через фильтры или маршрутизацию), использования сессий и токенов (например, JWT), а также с помощью ACL (списки контроля доступа) или ролей пользователей для ограничения прав. 🟠RBAC (Role-Based Access Control) Настройка ролей и привилегий для управления доступом к кастомным ресурсам.
   apiVersion: rbac.authorization.k8s.io/v1
   kind: Role
   metadata:
     name: myresource-role
   rules:
   - apiGroups: ["example.com"]
     resources: ["myresources"]
     verbs: ["get", "list", "watch", "create", "update", "patch"]
   
🟠Admission Controllers Использование валидирующих вебхуков для валидации и контроля запросов к кастомным ресурсам.
   apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
  name: myresource-webhook
webhooks:
  - name: myresource.example.com
    clientConfig:
      service:
        name: myresource-webhook-service
        namespace: default
        path: "/validate"
    rules:
      - operations: ["CREATE", "UPDATE"]
        apiGroups: ["example.com"]
        apiVersions: ["v1"]
        resources: ["myresources"]
🟠CRD Validation Определение схемы в CRD для автоматической проверки данных.
   apiVersion: apiextensions.k8s.io/v1
   kind: CustomResourceDefinition
   metadata:
     name: myresources.example.com
   spec:
     group: example.com
     versions:
     - name: v1
       schema:
         openAPIV3Schema:
           type: object
           properties:
             spec:
               type: object
               properties:
                 field1:
                   type: string
                 field2:
                   type: integer
                   minimum: 0
     names:
       plural: myresources
       singular: myresource
       kind: MyResource
   
🟠Кастомные контроллеры и операторы Автоматизация управления Написание контроллеров для управления состоянием кастомных ресурсов. 🟠CLI и API Интерактивное управление Использование команд kubectl и API для взаимодействия с кастомными ресурсами.
   kubectl apply -f my-custom-resource.yaml
   kubectl get myresources
   kubectl describe myresource my-custom-resource
   
Ставь 👍 и забирай 📚 Базу знаний

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