TGViewer
Channel Public Channel
Библиотека девопса | DevOps, SRE, Sysadmin

Библиотека девопса | DevOps, SRE, Sysadmin

@devopsslib

Все самое полезное для девопсера в одном канале.

Наши курсы: https://clc.to/ZJ7Z1w

По рекламе: @tproger_sales_bot

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787

Заявка: 8137718351
Subscribers
10.4K
Photos
2.1K
Videos
84
Links
3.5K

Showing posts older than #3641 · Back to latest

Older Posts 20 shown
Post #3640 1.72K

Forwarded from Библиотека задач по DevOps | тесты, код, задания

Исправьте неправильно написанный Dockerfile

Есть условное Node.js приложение, и неправильно написанный Dockerfile, который не будет кэшироваться и будет занимать много места. Нужно переписать его в соответствии с best practices.

#плохой файл
FROM ubuntu:18.04
COPY ./src /app
RUN apt-get update -y
RUN apt-get install -y nodejs
RUN npm install
ENTRYPOINT ["npm"]
CMD ["run", "prod"]


Вариант решения:
FROM node:14.15.4-buster as BUILDER
COPY ./src /build
RUN npm install
FROM node:14.15.4-alpine3.12
WORKDIR /app
COPY --from=BUILDER /build/out /app
CMD ["server.js"]
  • 👍 12
Post #3639 1.85K
📰 Еженедельный дайджест

Мы уже отфильтровали шум — вам осталось только прочитать лучшее.

— Проблемы VPN в корпоративной ИТ-инфраструктуре
В блоге HashiCorp рассматриваются ключевые недостатки использования VPN в современных корпоративных сетях.

Основные проблемы включают сложности с реализацией принципа наименьших привилегий и защитой учетных данных.

— etcd v3.6.0
Релиз включает поддержку откатов версий, переход на v3store, новые проверки готовности (/livez, /readyz) и улучшения безопасности.

Также реализованы значительные оптимизации памяти и прирост производительности до 25% в операциях чтения и записи.

— Мост между виртуальными машинами и контейнерами
В блоге Red Hat обсуждается, как OpenShift Virtualization помогает предприятиям модернизировать ИТ-инфраструктуру, объединяя управление виртуальными машинами и контейнерами в единой платформе.

— Kubernetes решает 10-летнюю проблему

— Смешные новости про IT теперь в одном канале

🐸Библиотека devops'a #свежак
Post #3638 1.72K
🎮 Угадайте концепцию по эмодзи

Ваш коллега сошёл с ума и теперь пишет только эмодзи! Нужно помочь составить словарь для перевода.

💬 Ждём ваши ответы в комментариях👇

UPD: ответ был такой: понятие zero trust

🐸Библиотека devops'a #междусобойчик
Post #3636 1.77K
🛠 Правила надёжных пайплайнов от Microsoft

Microsoft поделилась практическими советами, как превратить ваши IaC-процессы в надёжный и повторяемый механизм.

Объяснили как добиться консистентности между окружениями, почему идемпотентность пайплайнов — не просто модное слово зачем инфраструктуру делить на модули.

➡️ Если хотите строить инфраструктуру не «на костылях», а по уму, то советуем прочитать статью

🐸Библиотека devops'a #буст
  • ❤ 1
  • 👍 1
  • 🔥 1
Post #3635 1.74K
🚨 Смешные новости про IT теперь в одном канале

Мы запустили @hahacker_news — наш новый юмористический IT-канал.

Туда будем постить лучшие шутки до 19го мая, которые вы присылали на конкурс.

👉 @hahacker_news — голосование уже идёт, переходите, читайте, угарайте и оставляйте реакции
Post #3634 1.79K
📄 Фишки для YAML

Работа с конфигурациями часто превращается в рутину, особенно если файлы YAML становятся слишком длинными и запутанными. Нашли для вас несколько фишек, с которыми работать станет в разы приятнее.

1. Списки в строку

Вместо многострочного описания списка или словаря можно использовать короткий синтаксис:
mylist: [item1, item2, item3]
mydict: {key1: value1, key2: value2}


2. Многострочная строка

Если вы понимаете, что строка выходит слишком длинной и нечитаемой, то можно написать её в несколько строк, использовав перед этим операторы «|» или «>»

Пример:
key: |
Первая строка
Вторая строкa

key: >
Очень длинная команда
которая будет на одной строке


3. Явное объявление null значений

В YAML можно явно указать значение null с помощью «~» или ключевого слова null

🐸Библиотека devops'a #буст
  • 👍 4
  • ❤ 2
  • 🥱 1
Post #3633 1.73K
🚀 Истории подписчиков: расскажите, как ускоряли деплой

Давайте поделимся своими успехами или успехами коллег по цеху. Расскажите, как вам удалось сократить время деплоя, автоматизировать рутинные процессы или решить сложную проблему с инфраструктурой.

Нам всем важно вдохновляться реальными историями, поэтому начнём с истории одного из наших подписчиков:
Когда-то мы деплоили через Jenkins. Всё было стабильно, но также стабильно долго.
Пайплайны крутились по 15–20 минут, а каждый второй запуск падал, потому что «недоступна нода» или «завис плагин».
Решили попробовать GitHub Actions. Сначала — тестовый пайплайн на pet-проекте. Потом — один сервис. Потом весь монорепозиторий.
В итоге время наката сократилось почти наполовину!


💬 А вы пробовали переезжать с одного инструмента на что-то новое? Какие боли всплывали? Делитесь историями в комментариях 👇

P.S. Если хотите задать вопрос сообществу или поделиться историей, заполните
нашу гугл-форму.

🐸Библиотека devops'a #междусобойчик
  • ❤ 3
  • 👍 1
Post #3631 2.4K
📋 Чек-лист идеального девопса

Идеальных работников не бывает, но мы собрали большой чек-лист, по которому можно понять, что вы стремитесь быть таким.

✅ Автоматизация деплоя и процессов

• Настроен автоматический деплой на стейдж и прод по тегу или коммиту
• Поддержка однонажаточного деплоя (через Slack, WebUI, CLI)
• Реализован rollback на предыдущую версию деплоя
• Внедрена автоматическая проверка кода перед деплоем (линтеры, тесты, секреты)
• Внедрён preflight checklist перед деплоем (валидаторы, approvals, условия)
• Настроена канареечная поставка (canary deployment) или blue/green

✅ Проверки и валидации

• Проверка конфигураций (YAML, Terraform, Helm) при Pull Request
• CI проверяет, что нет «drift» между IaC и реальной инфраструктурой
• Внедрена проверка секретов в коде (например, через truffleHog, gitleaks)
• Используется policy-as-code (OPA, Conftest) для контроля стандартов

✅ Наблюдаемость и логирование

• Настроены дашборды для метрик (CPU, память, latency, ошибок)
• Автоматический алертинг при отклонении от нормы
• Есть лог-агрегация с фильтрацией по сервисам и компонентам
• Подключена трассировка запросов (OpenTelemetry, Jaeger, Zipkin)

✅ Безопасность

• Все секреты хранятся в безопасном хранилище (Vault, AWS Secrets Manager)
• Используется Least Privilege для IAM/доступов
• Автоматизированы security-сканы (Snyk, Trivy, Clair)
• Применяется 2FA и audit logs для ключевых операций

✅ Developer Experience

• Настроено автогенерирование документации (например, по API)
• Разработчики могут запускать окружения в изоляции (preview environments)
• Добавлены шаблоны Helm/Compose для локальной разработки
• Внедрены dev-контейнеры или devshell (например, через Nix или Docker)

✅ Управление инфраструктурой

• Вся инфраструктура в IaC (Terraform, Pulumi, CloudFormation)
• Настроен CI для автоматической валидации/применения изменений в инфраструктуре
• Используется модульная структура IaC-кода (по сервисам/проектам)
• Ведётся аудит изменений инфраструктуры (Terraform Cloud, Atlantis)

✅ Поддержка процессов и стабильности

• Внедрены регулярные постмортемы и RCA-документы после инцидентов
• Настроен cron-инвентарь / дэшборд со всеми активными джобами
• Автоматизирована проверка сертификатов и их сроков
• Ведётся чёткий on-call ротационный график с алертом и логом действий

✅ Коммуникация и документация

• Все пайплайны и инфраструктура документированы в виде wiki / README
• Есть канал в Slack или другой платформе с логами деплоя/событий
• Поддерживается база знаний по инцидентам и FAQ по пайплайнам
• Реализовано логирование критических действий (deploy, scale, restart)

🐸Библиотека devops'a #буст
  • 👍 8
  • 🔥 2
  • ❤ 1
Post #3628 1.82K
🛠 Как настроить SSH-подключение из новой системы в старую

Когда вам нужно наладить SSH-соединение или передать данные из новой операционной системы в старую (например, с RHEL 9 на RHEL 6), может возникнуть ряд проблем из-за различий в поддерживаемых криптографических протоколах, версиях SSH и других аспектах системы.

🚧 Возможные проблемы при подключении

1. Несоответствие криптографических алгоритмов:

Новые версии операционных систем часто отключают поддержку устаревших криптографических алгоритмов (например, ssh-rsa), которые по-прежнему используются в старых системах.

2. Ошибка в SSH-соединении:

На практике вы можете столкнуться с ошибками вроде:
ssh_dispatch_run_fatal: Connection to ... port 22: error in libcrypto
Unable to negotiate with ... port 22: no matching host key type found. Their offer: ssh-rsa


Это означает, что система, с которой вы пытаетесь подключиться, использует старую версию SSH или устаревшие алгоритмы.

🔧 Решения

1. Изменение настроек криптополитики на новой системе

В большинстве новых версий Linux можно изменить настройки криптографической политики и разрешить использование старых алгоритмов. Например, для включения поддержки ssh-rsa можно выполнить следующую команду:
sudo update-crypto-policies --set DEFAULT:SHA1


Этот метод позволит временно восстановить совместимость с устаревшими системами.

2. Использование промежуточного сервера (Jump box)

Если вам нужно подключаться из новой системы в старую, вы можете настроить промежуточный сервер, который будет поддерживать старые и новые алгоритмы. Это поможет избежать изменений в настройках целевых серверов и минимизировать риски.

3. Монтирование файловой системы

В случае, если оба сервера виртуализированы, можно использовать монтирование файловой системы.

Это особенно полезно, если вам нужно перенести большое количество данных.

4. Использование альтернативных протоколов для передачи данных

Если SSH по каким-то причинам не подходит, можно использовать другие протоколы для передачи данных, например:

• NFS — для работы с удалёнными файловыми системами.
• FTP или SFTP — для безопасной передачи файлов.
• rsync — для синхронизации данных между серверами.

Выбор подхода зависит от вашей ситуации: для одноразовой передачи данных можно использовать промежуточный сервер, а для долгосрочного решения — рассмотреть другие методы синхронизации данных.

🐸Библиотека devops'a #буст
  • 👍 2
Post #3626 2.13K
⚡️ Kubernetes решает 10-летнюю проблему

Ранее при использовании политики imagePullPolicy: IfNotPresent контейнеры могли запускаться с приватных образов, даже если под не предоставлял соответствующие учетные данные через imagePullSecrets.

В Kubernetes v1.33 kubelet теперь проверяет учетные данные пода перед использованием уже загруженного образа.

Если образ присутствует локально, kubelet удостоверяется, что под имеет соответствующие учетные данные, прежде чем предоставить доступ к образу.

В Kubernetes v1.34 ожидается выпуск этой функции в бета-версии с дополнительными улучшениями.

📎 Источник — блог kubernetes

🐸Библиотека devops'a #свежак
  • 👍 4
  • ❤ 1
Post #3625 2.31K
⚙️ Колесо AWS

Нашли для вас шпаргалку по сервисам AWS. С ней можно ориентироваться в том, какие инструменты AWS лучше всего подойдут для решения задач.

➡️ Оригинал

🐸Библиотека devops'a #буст
  • 🔥 7
  • 👍 3
Post #3624 2.12K
😀 Топ-вакансий для девопсов за неделю

DevOps инженер — Удалёнка.

Инженер DevOps
— до 300 000 ₽, Офис.

DevOps-инженер — до 300 000 ₽, Удалёнка (Санкт-Петербург).

Middle+/Senior Devops Engineer — Удалёнка.

Администратор PostgreSQL — Удалёнка.

Бустер — Офис в любом городе мира.

➡️ Еще больше вакансий — в нашем канале Вакансии по DevOps & SRE
Post #3622 2.14K
📰 Еженедельный дайджест

Собрали для вас немного сигналов из всего информационного шума.

— Как Docker предлагает защитить агентные AI-системы
Docker в своём блоге анализирует уязвимости текущих подходов к использованию MCP и предлагает решения на основе контейнеризации.

— Volume Populators достигли стадии General Availability
В версии Kubernetes 1.33 функция Volume Populators перешла в статус GA, предоставляя разработчикам возможность предварительно заполнять тома данными из различных источников, а не только через клонирование PVC или снапшоты.

— Улучшенная аутентификация при загрузке образов через Service Account Tokens
В версии Kubernetes 1.33 представлена альфа-версия интеграции токенов сервисных аккаунтов с провайдерами учетных данных kubelet для загрузки образов.

Это позволяет использовать короткоживущие, автоматически обновляемые токены, соответствующие стандарту OIDC, для аутентификации при загрузке образов.

— Бета-версия MCP Catalog и Toolkit
Docker анонсировал запуск бета-версии MCP Catalog и Toolkit — инструментов, предназначенных для упрощения поиска, установки и безопасного использования серверов Model Context Protocol.

— Джуны: game over или новый уровень сложности?

— Fedora Linux теперь доступна в WSL

—
Грин-флаги в вакансиях: 10 признаков хорошего работодателя

🐸Библиотека devops'a #свежак
Post #3621 2.06K
👨‍💻 Без опыта — в DevOps

Недавно на Reddit один парень поделился историей: его взяли DevOps-инженером в компанию с 400 разработчиками, имея только небольшой IT-бэкграунд из университета.

Он успешно выполнил тестовое, но.. с ChatGPT. Всё честно рассказал, а ему в ответ: «Главное, что ты сам справился, таких, как ты, мало».

✅ Плюсы такого подхода:

• Работодатель не требует бумажек, он смотрит на конкретную задачу и решение. Ты сделал — тебя взяли.

• Навыки самообучения ценятся. Умение гуглить, пользоваться AI, разбираться в доках — это уже валюта на рынке.

• Свежая голова. Без «корпоративных шор» — часто новички предлагают нестандартные решения, которых не ждут от опытных.

❌ Но есть и минусы:

• Настроить CI/CD один раз — это одно. А вот поддерживать прод, мониторить инциденты и общаться с безопасниками — уже совсем другое кино.

• Одиночество джуниора. Когда рядом нет сеньоров, ты учишься на проде. И каждый косяк может стать инцидентом недели.

• Претензии к AI-зависимости. Сделать руками важно, но понимать почему это работает — ещё важнее. Без этого ты не инженер, а оператор подсказок.

💬 А что думаете вы? Взяли бы «джунов без опыта, но с реальными проектами и умением гуглить»? Или верите, что без фундамента в проде делать нечего? 👇

🐸Библиотека devops'a #междусобойчик
  • 👍 10
  • ❤ 1
Post #3619 2.14K
✅ Грин-флаги в вакансиях: 10 признаков хорошего работодателя

Пока одни сосредоточены на том, как произвести впечатление на работодателя, опытные соискатели внимательно читают вакансии и ищут признаки того, что перед ними достойная компания.

В статье подробно о том, как распознать хорошего работодателя ещё до собеседования, просто внимательно вчитавшись в текст вакансии.

📎 Читать статью

🐸Библиотека devops'a #буст
  • 👍 3
Post #3618 2.06K
👀 Путь от саппорта до инженера

Инженер без профильного IT-образования начал карьеру с позиций техподдержки, постепенно растягивая себя изнутри — через ночные дежурства, баги, и прод с дрожащими руками.

Путь был неровный, выматывающий, местами выжигающий — но он сработал.

➡️ Посмотреть путь от и до

🐸Библиотека devops'a #буст
  • 👍 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →