DevOps
前往频道在 Telegram
Docker, Kubernetes, облачные сервисы (AWS, GCP, Azure), Infrastructure as a Code (Terraform, CloudFormation), администрирование Windows и Linux, сети TCP, IP, скрипты (Bash, PowerShell), Ansible, Jenkins, DevSecOps, логирование. По вопросам @evgenycarter
显示更多8 847
订阅者
-324 小时
无数据7 天
+2630 天
帖子存档
8 848
Sudo без бинарного setuid или SSH через UNIX-сокет
В этом посте я подробно расскажу, как заменить
sudo (программу с `setuid`), используя SSH через локальный UNIX-сокет.
Я считаю, что программы с setuid`/`setgid — это устаревшая часть наследия UNIX, которую следует исключить. В будущем посте я объясню причины безопасности, стоящие за этим утверждением.
Это связано с работой группы Confined Users SIG в Fedora.
https://tim.siosm.fr/blog/2023/12/19/ssh-over-unix-socket/
#devops #девопс
Подпишись 👉@i_DevOps8 848
Архитектура кластеров Kubernetes - выбор размера рабочего узла
Стоит ли создавать кластер Kubernetes с меньшим количеством крупных узлов или с большим количеством мелких узлов? В этой статье мы рассмотрим все плюсы и минусы.
Когда вы создаете кластер Kubernetes, одним из первых вопросов, который у вас может возникнуть, является: "Какой тип рабочих узлов я должен использовать и сколько их нужно?".
Если вы создаете локальный кластер, стоит ли заказывать серверы последнего поколения или использовать дюжину или около того старых машин, которые валяются в вашем центре обработки данных?
Или если вы используете управляемый сервис Kubernetes, например Google Kubernetes Engine (GKE), следует ли вам использовать восемь экземпляров n1-standard-1 или два экземпляра n1-standard-4 для достижения желаемой вычислительной мощности?
https://learnk8s.io/kubernetes-node-size
#devops #девопс
Подпишись 👉@i_DevOps
8 848
🔥 Как сократить баги и ускорить релизы с помощью безопасной разработки
Ты создаешь крутые приложения, но баги и уязвимости продолжают отнимать драгоценное время, особенно когда горят дедлайны? 😬
Представь, что ты можешь защитить свой код на каждом этапе разработки и при этом сэкономить нервы и время! Мы разработали новый курс «Безопасность приложений для разработчиков», чтобы показать, что безопасность — это не про сложности, а про качество и экономию времени.
🎯 Почему стоит записаться?
· Ты научишься строить защиту ещё на этапе планирования, минимизируя уязвимости.
· Безопасность не замедлит процесс — мы покажем, как сохранять темп и укладываться в дедлайны.
· Меньше проблем на проде — ты будешь предотвращать уязвимости на ранних стадиях, избегая лишних правок.
👨💻 Авторы курса — эксперты Positive Technologies, одной из лидирующих компаний на рынке кибербезопасности. Ты будешь учиться у профессионалов, которые ежедневно работают над безопасностью приложений.
⏰ Старт курса 25 ноября, длительность — 3 недели, формат — онлайн. Учись в любое время и из любой точки.
Не трать время на исправления багов — записывайся на курс и учись предотвращать их заранее!
👉 [Забронировать место на курсе]
8 848
Для чего нужна команда git commit --amend?
Команда
git commit --amend используется для изменения последнего коммита в локальном репозитории. Она позволяет исправить сообщение коммита, добавить в него изменения, которые не были учтены, или удалить файлы, которые не должны были быть в коммите.
Основные случаи использования:
1. Изменение сообщения коммита: если было допущено опечатку или необходимо уточнить содержание сообщения коммита.
git commit --amend -m "Новое сообщение коммита"
2. Добавление изменений в последний коммит: если были забыты изменения, которые нужно включить в последний коммит, можно их добавить, выполнить git add для этих файлов и затем git commit --amend, чтобы объединить их с предыдущим коммитом.
3. Удаление ненужных файлов: если случайно добавлен лишний файл, можно удалить его с помощью git rm, затем выполнить git commit --amend, чтобы пересобрать коммит без этого файла.
После выполнения git commit --amend создается новый коммит с измененной историей, что важно помнить, если работа ведется в команде.
#devops #девопс
Подпишись 👉@i_DevOps8 848
📹 Новая версия СУБД РЕД База Данных 5.0. Узнайте о новых возможностях на вебинаре
21 ноября в 14:00 проводим вебинар «РЕД База Данных 5.0 – СУБД для безопасных информационных систем». Расскажем о новых возможностях администрирования и оптимизации баз данных и функциях для прикладных разработчиков.
⚡️ Что нового?
— поддержка формата JSON
— международные временные зоны
— планировщик заданий
— табличные пространства
— PSQL-профайлер
— кеш компилированных запросов
— синхронно-асинхронная репликация
— решена проблема долгих транзакций
🛡 Безопасность
РЕД База Данных 5.0 соответствует новым Требованиям по безопасности информации к системам управления базами данных, утвержденных приказом ФСТЭК России.
⛓ Подробнее о деталях обновления вы можете почитать в пресс-релизе.
Спикерами выступят:
🎙 Симаков Роман, Директор Департамента развития системных продуктов, product owner РЕД Базы Данных
🎙 Дмитрий Еманов, Архитектор РЕД Базы Данных
🔥 Успейте зарегистрироваться, количество мест ограниченно!
Реклама ООО "Ред Софт" ИНН 9705000373, erid: 2VtzqxQFCUN
8 848
Будущее Kubernetes и DevOps: строим прогнозы на 10 лет
Мы спросили инженеров «Фланта» и экспертов из индустрии, как, по их мнению, будут развиваться Kubernetes, DevOps, Ops и Cloud Native-экосистема в ближайшее десятилетие. Наша задача была спрогнозировать будущее на основе тенденций в настоящем, а не просто «заглянуть в хрустальный шар» и пофантазировать. В результате родилась эта статья. Присоединяйтесь к нам в комментариях — давайте вместе подумаем, как будут выглядеть важные в нашей работе инструменты через 5–10 лет.
https://habr.com/ru/companies/flant/articles/800959/
#devops #девопс
Подпишись 👉@i_DevOps
8 848
Жизненный цикл контейнеров в Docker Compose: использование хуков post_start, pre_stop
В версии 2.30.0 Docker Compose появился новый функционал - хуки жизненного цикла контейнера. Давайте разберемся, что это такое и как их использовать для решения практических задач.
https://habr.com/ru/articles/856698/
#devops #девопс
Подпишись 👉@i_DevOps
8 848
Что такое виртуальная память и как она помогает эффективно распределять ресурсы? Как система может выделить больше памяти, чем на самом деле доступно на сервере? На нашем вебинаре разберем ключевые вопросы управления памятью в Linux.
Узнаете об эволюции адресации памяти и поймете, зачем используется swap и как работает OOM Killer, защищая систему от нехватки ресурсов.
Погружаясь в тонкости управления памятью, вы сможете оптимизировать свои процессы в Linux и лучше понимать поведение системы под нагрузкой.
Присоединяйтесь 14 ноября в 19:00, чтобы расширить свои знания и улучшить свои навыки работы с памятью в Linux.
Присоединяйтесь и получите скидку на участие в курсе «Computer Sciences»: https://vk.cc/cEvAAt
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
8 848
Что такое docker и какие инструменты linux лежат в основе? Для чего он используется?
Docker базируется на технологиях:
🔸 namespaces — обеспечивает изоляцию (например, можно айдишники процессов разместить в разных контейнерах)
🔸 cgroups — позволяет управлять группой процессов, и управлять их ресурсами
🔸 capabilities — позволяет дать некоторые рут привелегии процессам или исполняемым файлам. Например, изменить UID процесса на 0, или дать возможность монтировать файловые системы.
🔸 overlay namespaces — (overlayFS, overlay2-драйвер) - файловая система, которая умеет работать "слоями". Не сохранять каждый раз новые файлы, а наслаивать один слой на другой, тем самым экономя место на диске и время создания контейнера.
А вот докер — это уже штука, которая всеми этими технологиями рулит, удобным для нас образом.
Компоненты докера:
🔻 Docker Daemon — тот самый Container Engine; запускает контейнеры.
🔻 Docker CLI — утилита по управлению Docker.
🔻 Dockerfile — инструкция по тому, как собирать образ.
🔻 Image — образ, из которого раскатывается контейнер.
🔻 Container
🔻 Docker registry — хранилище образов.
На Docker_host работает Docker daemon и запускает контейнеры.
Client — передаёт команды: собери образ, скачай образ, запусти контейнер. Docker daemon ходит в registry и выполняет их. Docker-клиент может обращаться и локально (к юникс-сокету), и по TCP с удалённого хоста.
Docker daemon (демон) — это серверная часть, работающая на хост-машине: скачивает образы и запускает из них контейнеры, создаёт сеть между контейнерами, собирает логи. Когда мы говорим «создай образ», этим тоже занимается демон.
Docker CLI — клиентская часть Docker, консольная утилита для работы с демоном. Может работать не только локально, но и по сети.
#devops #девопс
Подпишись 👉@i_DevOps
8 848
Unused
CLI-инструмент, экспортер для Prometheus и модуль на Go для перечисления неиспользуемых дисков во всех облачных провайдерах
Этот репозиторий содержит библиотеку на Go для поиска ваших неиспользуемых постоянных дисков у разных облачных провайдеров, а также бинарные файлы для отображения этой информации в CLI или экспорта метрик для Prometheus.
В Grafana Labs мы размещаем рабочие нагрузки у разных облачных провайдеров. Оркестрация рабочих нагрузок управляется Kubernetes, и мы обнаружили, что из-за некоторых ошибок в конфигурации системы хранения у нас накапливалось множество неиспользуемых ресурсов, особенно постоянных дисков. Эти утечки ресурсов стоят денег, и, поскольку эти ресурсы больше не используются, это приводит к финансовым потерям. Эта библиотека и сопутствующие инструменты помогут вам определить такие ресурсы и очистить их.
https://github.com/grafana/unused
#devops #девопс
Подпишись 👉@i_DevOps
8 848
⚡Пишем веб-сервис на Java, а затем преобразуем его в Kotlin!
📅Дата: 12 ноября в 19:00 МСК
Записаться на урок: 👉https://otus.pw/5m1Qe/?erid=2Vtzqx51rdK
Будет интересно: Java-разработчикам и бэкенд-разработчикам на Kotlin.
В первой части занятия познакомимся с основными концепциями:
✅ null-безопасность
✅ сокращение шаблонного кода
✅ лямбда-выражения
Во второй части – напишем веб-сервис с CRUD-операциями на Java, а затем преобразуем его в Kotlin. Так вы увидете, как синтаксис Kotlin упрощает код.
👨🏫Вебинар проведёт Сергей Прощаев, ведущий инженер и Java-разработчик в крупной компании.
После вебинара вы сможете приобрести курс «Kotlin Backend Developer. Professional» по специальной цене и даже в рассрочку!
🔗 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://otus.pw/5m1Qe/?erid=2Vtzqx51rdK
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
8 848
Terraform управляет несколькими средами
При использовании Terraform для управления инфраструктурой обычно создается несколько окружений, таких как среда разработки, среда staging и среда production. Каждая среда может иметь свой собственный набор ресурсов и конфигураций. Чтобы сохранить код инфраструктуры организованным и удобным для сопровождения, полезно использовать модули.
https://medium.com/@b0ld8/terraform-manage-multiple-environments-63939f41c454
#devops #девопс
Подпишись 👉@i_DevOps
8 848
Пишем Ansible-модули для управления разными системами хранения данных через Swordfish
Большинство современных систем хранения данных (СХД) предоставляют REST API для управления ими, включая настройку, конфигурирование, выполнение различных команд, получение логов, работу с пользователями и т.д. В зависимости от производителя СХД REST API могут отличаться друг от друга. Если вы используете несколько разных систем, их одновременная поддержка становится проблемой: нужно учитывать многообразие протоколов, интерфейсов, команд и способов взаимодействия с API.
Меня зовут Александр Пономарев, вместе с группой студентов СПбПУ Петра Великого на базе Лаборатории YADRO мы изучали способы сделать управление разными СХД менее трудоемким. Вариант, на котором мы остановились, — использовать системы, которые удовлетворяют спецификации Swordfish, в связке с Ansible. Рассказываю о проекте, который мы выполняли с инженерами компании и преподавателями университета.
https://habr.com/ru/companies/yadro/articles/784070/
#devops #девопс
Подпишись 👉@i_DevOps
8 848
Сократите расходы на IT-инфраструктуру. Узнайте больше о серверной ОС от Selectel 👀
С ростом трафика увеличиваются задержки в сети, что сразу отражается на всех процессах. Обычно для повышения производительности команда наращивает железо. Это неидеальный выход: расходы на инфраструктуру начинают расти. Selectel нашел способ решения проблемы и создал серверную ОС на базе Linux.
Как это работает?
Операционная система использует оптимизированный сетевой стек, что позволяет обрабатывать данные в 5 раз быстрее. Это решение поможет справляться с большими объемами трафика без дополнительных затрат на новое оборудование.
Проверьте сами — сейчас вы можете поучаствовать в демо-тестировании ОС от Selectel.
А чтобы узнать больше об ОС и о сценариях ее применения на реальных проектах, присоединяйтесь к вебинару 20 ноября в 12:00. Регистрация по ссылке.
ERID: 2Vtzqw3dHuw
8 848
Чем отличается StatefulSet от Deployment?
Deployment — ресурс Kubernetes предназнваенный для развертывания приложения без сохранения состояния. При использовании PVC все реплики будут использовать один и тот же том, и ни один из них не будет иметь собственного состояния.
StatefulSet — поддерживают состояние приложений за пределами жизненного цикла отдельных модулей pod, например для хранилища. Используется для приложений с отслеживанием состояния, каждая реплика модуля будет иметь собственное состояние и будет использовать свой собственный том.
#devops #девопс
Подпишись 👉@i_DevOps
8 848
Как повысить безопасность в контейнерных средах?
Обсудим стратегии DevSecOps для бизнеса, разработки и ИБ на вебинаре 14 ноября в 12:00. Присоединяйтесь!
В прямом эфире от экспертов Deckhouse и «Экспресс 42» вы узнаете:
🔹какие требования к DevSecOps контейнерных сред есть у CTO, CISO, CIO и возможно ли удовлетворить их все;
🔹какие принципы и подходы к использованию инструментов безопасности контейнерных сред существуют сегодня;
🔹как управлять инфраструктурными и эксплуатационными рисками при использовании контейнеров;
🔹какие задачи информационной безопасности могут быть успешно решены с помощью Deckhouse Kubernetes Platform.
Вебинар будет полезен руководителям и специалистам в области ИБ, DevSecOps- и DevOps-инженерам, архитекторам, руководителям проектов, а также всем, кто интересуется вопросами безопасности в сфере контейнеризации.
Зарегистрироваться
8 848
Для чего используется Kubectl?
kubectl — это командная утилита для взаимодействия с Kubernetes-кластером. Она используется для выполнения различных операций по управлению кластерами и развертыванию приложений. С kubectl можно выполнять следующие задачи:
1. Управление ресурсами: создавать, обновлять и удалять ресурсы в кластере (например, Pod, Deployment, Service).
2. Мониторинг и отладка: просматривать информацию о текущем состоянии ресурсов и кластера, диагностировать проблемы.
3. Запуск команд в кластере: запускать команды внутри контейнеров, например, для проверки их состояния или выполнения отладочных задач.
4. Обновление приложений: управлять версиями и состоянием развернутых приложений, поддерживать их обновление и масштабирование.
5. Настройка кластера: управлять конфигурациями, такими как сетевые настройки и политика безопасности.
Пример команды kubectl для получения списка всех подов в текущем пространстве имён:
kubectl get pods
Эта команда возвращает информацию обо всех запущенных подах, их состоянии и доступных IP-адресах.
#devops #девопс
Подпишись 👉@i_DevOps8 848
Попробуйте себя в роли SRE-инженера 🦾
Представьте, что вы в команде SRE, которая отвечает за стабильную работу онлайн-кинотеатра с тысячами пользователей. Происходит перегрузка CDN, сбой платежной системы, а следом еще и аномалии в системе рекомендаций. Как восстановить работу сервиса – решать вам. А все способы можно узнать на интенсиве по SRE от Слёрма 😉Старт курса «SRE: data-driven подход к управлению надежностью систем» – 18 ноября. На обучении вы внедрите правки прямо в прод, решите конкретные проблемы с надежностью сервиса и научитесь быстро поднимать продакшн силами команды. 📍Собрали самые распространенные мифы о SRE в удобный PDF-файл, забрать его у бота-помощника 🔗 Там же программа обучения и другие подробности о курсе. Ждем вас! Реклама ООО «Слёрм» ИНН 3652901451
8 848
Pghero
Панель управления производительностью для Postgres
https://github.com/ankane/pghero
#devops #девопс
Подпишись 👉@i_DevOps
8 848
Python для DevOps: Полное руководство от новичка до продвинутого уровня
Python получил широкое распространение в экосистеме DevOps благодаря своей простоте, обширным библиотекам и адаптивности для различных платформ и задач. Независимо от того, автоматизируете ли вы рутинные задачи, управляете инфраструктурой или разрабатываете CI/CD конвейеры, Python предлагает мощный и надежный набор инструментов.
https://dev.to/prodevopsguytech/python-for-devops-a-comprehensive-guide-from-beginner-to-advanced-2pmm
#devops #девопс
Подпишись 👉@i_DevOps
