Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps Связь: @devmangx № 5581790357
🐧 Linux для начинающих
И вот ещё ресурс в копилку для начинающих. Даны основы, они разделены на категории, к ним добавлена справочная информация и вопросы, по которым можно себя проверить.
https://linuxjourney.com/
Ресурс на английском (есть русский, но машинный перевод), но всё воспринимается очень легко.
👉 DevOps Portal
Репозиторий Fast-Kubernetes — это практическое руководство по Kubernetes с лабораторными работами и примерами конфигов. Покрывает всё: от Kubectl и Deployments до PV, Helm и Taint/Toleration. Есть инструкции по настройке кластера на Ubuntu и Windows, скрипты автоматизации и шпаргалки
Полезно как для новичков, так и для опытных
https://github.com/omerbsezer/Fast-Kubernetes
👉 DevOps Portal
Список контроля доступа (ACL) в Linux
Если вы работали с Linux, то, скорее всего, знакомы со стандартными правами доступа (чтение, запись и выполнение), которые можно назначать файлам и каталогам. Однако стандартная система прав в Linux позволяет назначать доступ только владельцу, группе владельца и всем остальным пользователям.
Но что, если вам нужно дать вашему коллеге Джону разрешение на чтение конкретного файла, не предоставляя такого же доступа всем остальным? В таких случаях пригодятся списки контроля доступа (ACL).
— Что такое ACL?
ACL предоставляет более детальный контроль над правами доступа к файлам и каталогам, позволяя устанавливать права для конкретных пользователей и групп, а не только для владельца, группы и остальных пользователей.
Например, с помощью ACL можно:
🔹Дать пользователю Джону доступ на чтение файла file.txt
🔹Дать группе маркетинг права на запись в каталог sales-data
🔹Отменить права на выполнение у пользователя Мари для файла script.sh
— Просмотр ACL для файлов
Чтобы проверить, установлен ли ACL для файла, используйте команду ls -l
:
ls -l file1
-rw-rw-r--+ 1 user1 group1 0 Feb 17 2024 file1
getfacl
:getfacl file1
# file: file1
# owner: user1
# group: group1
user::rw-
user:user2:r--
group::r--
mask::rw-
other::r--
getfacl
показывает как стандартные, так и расширенные права доступа, установленные для файла.user2
права на чтение файла file1
:user2
, назначенные через ACL:setfacl -x u:user2 file1
setfacl -b file1
setfacl -d -m u:user3:rwx dir1
dir1
, унаследуют права на чтение, запись и выполнение для user3
.Если изучаешь DevOps, настоятельно рекомендую собрать этот проект:
Развертывание веб-сайта уровня Enterprise
Ты научишься на практике, работая с AWS EC2, S3, CloudFront CDN, Route 53, DynamoDB, хостингом сайтов, настройкой домена, сертификатами HTTPS и TLS, CICD-пайплайнами AWS, а также Nginx и Docker.
https://harisheoran.github.io/projects/aws_resume/
👉 DevOps Portal
GMonit приглашает на технический вебинар
🗓 Когда: 13 марта, 17:00 (Мск)
🔗 Регистрация по ссылке
О чем поговорим:
1️⃣ Как работают head-based и tail-based сэмплирование — плюсы и подводные камни.
2️⃣ Какие алгоритмы помогают снижать нагрузку на инфраструктуру.
3️⃣ Когда оптимизация данных экономит деньги, а когда — создает проблемы.
В финале — разбор реальных сценариев и демонстрация сэмплирования в GMonit + QA-сессия.
Если ваши системы генерируют тонны логов, метрик и трейсинга — этот вебинар поможет держать их под контролем. 😉
Реклама. ООО "ХАЙПЕРСОФТЛАБ". ИНН 9705151703.
Держите две крутейшие платформы для обучения — Play with Docker и Play with Kubernetes
🔹Play with Docker — интерактивная среда для тестирования и обучения. Выдают 4-часовую сессию с пятью инстансами, на которых можно гонять контейнеры, строить сети, пробовать оркестрацию. Всё в браузере, без установки. Плюсом идёт обучение с заданиями и теорией
🔹Play with Kubernetes — та же концепция, но для Kubernetes. Позволяет разворачивать кластер, добавлять ноды, экспериментировать с манифестами. Аналогично ограничение в 4 часа, после чего всё сносится. Есть обучающий курс, где шаг за шагом объясняют базовые вещи.
Сделано добротно, качественно и полностью бесплатно. Если ещё не пользовались — рекомендую
👉 DevOps Portal
Быстрый совет по Linux 🐧
Правильно структурируйте ваш XML-файл и сделайте его более читаемым с помощью инструмента xmllint
$ xmllint --format XML_FILE
15 лучших GitHub-репозиториев для изучения DevOps
Если хочешь прокачать свои навыки в DevOps, вот подборка топовых GitHub-репозиториев с дорожными картами, упражнениями, проектами и шпаргалками
— Дорожные карты и руководства
🔹developer-roadmap – Дорожная карта DevOps-инженера
🔹devops-resources – Полное руководство по Linux, Jenkins, AWS, Kubernetes, Terraform и другим инструментам
🔹learn-devops – Обучение DevOps на основе задач с примерами из реального опыта.
🔹DevOps-Tutorial – Практический туториал по CI/CD, контейнеризации и автоматизации.
🔹 tech-vault – База DevOps-уроков по Docker, Kubernetes, Ansible и другим технологиям
— Практика и упражнения
🔹devops-exercises – 2600+ заданий по Linux, AWS, Docker, Kubernetes, Terraform, Jenkins и SRE.
🔹test-your-sysadmin-skills – Задачи по Linux, сетям и устранению неполадок для DevOps и админов.
— Обучение на практике (проектный подход)
🔹 project-based-learning – Проекты для практики автоматизации, развертывания и мониторинга.
🔹 build-your-own-x – Создаём DevOps-инструменты (Docker, Git, CI/CD) с нуля!
🔹 kubernetes-the-hard-way – Развёртываем Kubernetes с нуля и учим его "под капотом".
🔹 Fast-Kubernetes – Готовые Kubernetes-проекты и скрипты для быстрого освоения.
— Автоматизация, CI/CD и инструменты
🔹 DevOps-Bash-tools – Полезные Bash-скрипты для DevOps-задач и автоматизации.
🔹 ansible-examples – Готовые плейбуки Ansible для настройки и управления инфраструктурой.
— Шпаргалки и быстрые справочники
🔹 cheat-sheets – Шпаргалки по Docker, Kubernetes, AWS, Terraform и другим DevOps-инструментам.
🔹 awesome-cheatsheets – Краткие справочники по скриптингу, Docker, Kubernetes.
👉 DevOps Portal
DevOps как Бургер
Как должен выглядеть roadmap DevOps-инженера:
🔹Изучи язык программирования (Python, Go и др.), чтобы писать скрипты автоматизации.
🔹Освой одну операционную систему (Linux) и её интерфейс командной строки (CLI).
🔹Разберись с управлением серверами и веб-серверами, включая прокси-серверы, такие как Nginx или IIS.
🔹Познакомься с контейнеризацией с помощью Docker.
🔹Освой оркестрацию контейнеров с Kubernetes.
🔹Изучи инфраструктуру как код (IaC) с использованием Terraform, Ansible, Chef или Puppet для управления конфигурациями и развертывания инфраструктуры.
🔹Разберись в сетевых протоколах: DNS, IP-адреса, порты и модель OSI.
🔹Примени на практике CI/CD для автоматизации процессов интеграции и развертывания приложений.
🔹Освой техники мониторинга для отслеживания состояния приложений, сервисов и инфраструктуры в реальном времени.
🔹Получи практический опыт работы с облачными провайдерами, такими как AWS и Azure.
💡 Совет по Linux на сегодня
Создавайте несколько дочерних каталогов, даже если родительский каталог не существует:
$ mkdir -vp songs/{artists,albums,genres/{classical,pop}}
💡 Быстрый совет по Linux
Заменяйте часть команды с помощью fc
.
Например, если вы опечатались и вместо apt
ввели atp
, можно заменить его в команде так:
fc -s atp=apt
💡 Быстрый совет по Ansible
Долгий запуск команды приводит к тайм-ауту?
Используйте настройку ansible_command_timeout
Она задает максимальное время (в секундах), в течение которого Ansible будет ждать завершения команды
👉 DevOps Portal
Быстрый совет для Linux
Используйте этот онлайн-проект, чтобы проверить, для каких дистрибутивов и версий доступен тот или иной пакет:
👉 https://repology.org
Настоящее спасение ☺️
👉 DevOps Portal
Когда вы смотрите на использование ОЗУ на сервере с Linux,
❌ люди часто обращают внимание на свободную память
✅ Но вместо этого им стоит сосредоточиться на доступной памяти
Позвольте объяснить, почему.
Свободная память — это объем ОЗУ, который в данный момент не используется вообще. Для серверов это пустая трата ресурсов.
Доступная память — это количество ОЗУ, которое можно выделить новым или существующим процессам без использования свопа. Считайте это вашей «реальной свободной памятью».
Разница в том, что свободная память не используется и просто лежит без дела. Потери ресурсов.
С другой стороны, доступная память — это «используемая память», которую можно освободить без потери производительности, связанной с использованием свопа. Она также включает в себя кэш и буферы.
На сервере с Linux, который работает уже некоторое время, если в нем много свободной памяти, это значит, что он не использует ресурсы эффективно.
Если вы задумываетесь о том, нужно ли вашему серверу обновление ОЗУ, вы должны смотреть на «доступную память», а не только на «свободную память» при принятии решения.
👉 DevOps Portal
Введение в написание скриптов на Bash
Скрипты на Bash — это мощный инструмент, который позволяет автоматизировать различные задачи на системах на базе Unix, таких как Linux и macOS. Они представляют собой последовательность команд, записанных в файл, который может быть выполнен оболочкой Bash. Вместо того чтобы вручную вводить и запускать команды одну за другой в терминале, создание Bash-скрипта позволяет сохранить эти команды в файл и выполнить их сразу, что делает процесс более эффективным и удобным.
В этом посте мы рассмотрим основы создания и запуска первого скрипта на Bash.
— Преимущества скриптов на Bash
Существует несколько преимуществ при создании скриптов на Bash:
🔹Автоматизация: Скрипты могут автоматизировать повторяющиеся задачи, экономя ваше время и силы.
🔹Согласованность: Выполняя одну и ту же последовательность команд, вы обеспечиваете выполнение задач одинаково каждый раз, уменьшая вероятность ошибок.
🔹Портабельность: Скрипты Bash можно легко передавать и запускать на разных системах на базе Unix, что делает их высоко переносимыми.
— Создание и запуск первого Bash-скрипта
Для создания нового Bash-скрипта откройте текстовый редактор и создайте новый файл с расширением .sh
, например, my_script.sh
. Затем добавьте следующую строку кода:
#!/bin/bash
echo "Hello, World!"
cd
. Например, если скрипт сохранён в домашней директории, используйте команду cd ~
.chmod +x my_script.sh
./my_script.sh
bash my_script.sh
#!/bin/bash
, называется "shebang" или "hashbang". Она указывает операционной системе, какой интерпретатор следует использовать для выполнения скрипта. В данном случае, #!/bin/bash
означает, что для выполнения скрипта следует использовать оболочку Bash.#!/bin/zsh
/path/to/my_script.sh
), гораздо удобнее добавить скрипт в переменную окружения PATH
, чтобы запускать его из любой директории. Вот как это можно сделать:.bashrc
или .bash_profile
) в текстовом редакторе./path/to/scripts
на путь к директории, где вы хотите хранить свои скрипты:export PATH="$PATH:/path/to/scripts"
source ~/.bashrc
(или source ~/.bash_profile
), чтобы применить изменения.PATH
системы для удобного запуска. С этими основами под рукой вы можете начать изучать более сложные концепции написания скриптов на Bash и создавать мощные автоматизационные скрипты для оптимизации рабочего процесса.💡 Быстрый совет по Linux
При копировании с помощью команды cp у скопированного файла будет другой временной штамп.
Вы можете сохранить исходные свойства файла с помощью:
$ cp -p source_file target_file
💡 Совет дня по Linux
Не нравится бесконечно длинный вывод в команде top
?
Используйте опцию -i
, чтобы скрыть неактивные процессы и видеть только активные:
$ top -i
💡 Быстрый совет по Linux
Отображение истории команд с указанием времени и даты их выполнения:
export HISTTIMEFORMAT="%d/%m/%y %T"
💡 Быстрый совет для Linux
Найди 10 самых больших файлов в указанной директории
$ du -h /path/to/directory | sort -rh | head -n 10
🇷🇺Установщик Wi-Fi? Патриот? Хочешь заработать?
Есть работа по профилю на юге Курской области!
🇷🇺Условия:
- Заработная плата 178 000 рублей на руки;
- По результатам выполнения боевых задач, дополнительная премия;
- Проживание, питание, обмундирование за счет компании;
- Обучение и переквалификация за счет компании;
- Страховые выплаты;
- Официальное трудоустройство (трудовой договор, полный соц.пакет);
🇷🇺Присоединяйся к Сталинским Соколам!🇷🇺
Подать заявку - @pilot_sokol
Подробная информация - сталинские-соколы.su
У K2 Cloud скоро будет митап о карьере в Linux
Эксперты компании и приглашенный гость — блогер Константин Дипеж (DeusOps) — обсудят профессиональный путь Linux-специалиста.
Среди тем: как безболезненно «вкатиться» в Linux, с чем откликаться на вакансию, какие вопросы задают на техническом интервью и как расти после оффера. Полезный контент для начинающих спецов, которые хотят развиваться в DevOps и не только.
Встреча пройдет онлайн, 19 марта в 18:00 (msk). Подробности и регистрация по ссылке
💡 Совет дня по Linux
Чтобы команда не сохранялась в истории Bash, введите перед ней пробел.
👉 DevOps Portal
Kyanos — инструмент для анализа трафика на основе eBPF
Он позволяет отслеживать сетевое взаимодействие отдельных процессов, включая HTTP-трафик, запросы к Redis и трафик серверов MySQL.
Из дополнительных полезностей - возможность трейсинга запросов на уровне ядра, что позволит понять на каком уровне или шаге происходят аномалии или задержки. И заявленная разработчиками возможность расшифровки SSL трафика на лету.
👉 Github
👉 DevOps Portal
⚙️ Смотрите какую штуку нашёл - https://sadservers.com/ разные варианты проблем, которые нужно решить на сервере Linux. При этом, серверы для тренировки можно получить прямо тут же, на сайте.
Cистема отслеживает выполняемые команды и по ходу дает подсказки — очень удобно и дружелюбно
Архитектуру ресурса ребята показали на Github: https://github.com/fduran/sadservers
👉 DevOps Portal
Этот репозиторий — сборник вопросов и ответов для подготовки к DevOps-собеседованиям.
Там есть темы про Docker, Kubernetes, CI/CD, облака, мониторинг, безопасность, Linux и Git.
Отлично подойдёт для подготовки к интервью и освежения знаний 👍
Бросайте в закладки: https://github.com/rohitg00/devops-interview-questions
👉 DevOps Portal
Понимание системных логов Linux
Системные логи, которые часто можно найти в директории /var/log на системах Linux, являются важным инструментом для мониторинга и устранения проблем в системе. Вот краткие заметки о некоторых распространённых системных логах:
— syslog: Лог общего назначения, который содержит сообщения от различных системных служб и приложений. Это основной файл журнала, в который поступают сообщения из многих других логов.
— auth.log: Записывает сообщения, связанные с аутентификацией, включая успешные и неудачные попытки входа, изменения паролей и события аутентификации пользователей.
— kern.log: Записывает сообщения, относящиеся к ядру системы, такие как ошибки оборудования, загрузка модулей ядра и другие активности ядра.
— messages: Универсальный лог-файл, который записывает различные системные сообщения, включая старты и завершения работы системы, а также другие события, связанные с системой.
— dmesg: Отображает сообщения из кольцевого буфера ядра, предоставляя реальный временной обзор событий, связанных с ядром, и обнаружением оборудования во время загрузки системы.
— cron: Записывает сообщения, связанные с заданиями cron и запланированными задачами, включая время их выполнения и ошибки, возникшие при их выполнении.
— secure: Записывает сообщения, связанные с безопасностью, включая попытки аутентификации, повышение привилегий и другие события безопасности.
— apache/access.log и apache/error.log: Логи, специфичные для веб-сервера Apache. access.log записывает логи HTTP-доступа, а error.log фиксирует ошибки и предупреждения сервера Apache.
— nginx/access.log и nginx/error.log: Подобные логам Apache, эти логи специфичны для веб-сервера Nginx и записывают события доступа и ошибки.
— mysql/error.log: Записывает ошибки и предупреждения, возникшие у сервера базы данных MySQL, включая ошибки при старте, сбои запросов и сбои баз данных.
Эти логи предоставляют ценную информацию о производительности системы, событиях безопасности и помогают при устранении проблем.
Регулярный мониторинг и анализ этих логов помогают поддерживать здоровье системы и выявлять потенциальные проблемы до того, как они перерастут в серьёзные.
👉 DevOps Portal
Краткий гайд по Linux Logical Volume Manager
LVM меняет способ управления дисковым пространством в Linux, позволяя объединять несколько физических дисков в единый гибкий пул хранения.
Представьте это как большой контейнер, в который можно добавлять или убирать элементы (в данном случае, хранилище) по мере необходимости.
С LVM вы не ограничены жесткой структурой традиционных разделов диска. Вместо этого вы можете динамически изменять размер хранилища, создавать резервные копии с помощью снимков (snapshots) и даже настраивать конфигурации для повышения производительности и надежности.
Основные преимущества использования LVM:
🔹Гибкое хранилище – легко изменяйте размер и управляйте дисковым пространством в соответствии с вашими потребностями.
🔹Снимки для безопасных резервных копий – создавайте моментальные снимки для быстрого резервного копирования без прерывания работы системы.
🔹Упрощенное управление дисками – используйте несколько дисков как единое целое, оптимизируя пространство и организацию хранения.
👉 DevOps Portal
Репозиторий с пошаговым руководство о том, как стать инженером DevOps в 2025, со ссылками на соответствующие учебные ресурсы
👉 https://github.com/milanm/DevOps-Roadmap
👉 DevOps Portal
— Команды Docker для сетевого взаимодействия
🔹Подключение контейнера к сети
Для подключения контейнера к сети используйте команду docker network connect
:
docker network connect mynet container1
docker network create
:docker network create --driver bridge mynet
docker network disconnect
:docker network disconnect mynet container1
docker network inspect
:docker network inspect mynet
docker network ls
:docker network ls
docker network rm
:docker network rm mynet
-p
при запуске контейнера:docker run -p 80:5000 myapp