Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps Связь: @devmangx № 5581790357
Быстрый совет по Linux
Если у вас возникают проблемы с чтением каталогов в переменной $PATH
, используйте команду tr
, чтобы заменить двоеточия (":"
) на символы новой строки ("\n"
), чтобы отобразить их построчно:
$ echo $PATH | tr ":" "\n"
Быстрый совет по Bash: массовое переименование файлов с помощью rename
Команда rename
позволяет заменить один шаблон на другой сразу в нескольких именах файлов. В этом примере все расширения файлов .html
в текущем каталоге преобразуются в .php
.
👉 DevOps Portal
Оказывается, чтобы расти в доходе в ML и IT, недостаточно закончить топовый матфак, работать 24/7 и знать все фреймворки мира
Да, это круто, но это – далеко не главное. На самом деле чаще всего выигрывают люди с прокаченным софт скиллами – те, кто уверенно ведет диалог и грамотно доносит ценность своих решений.
Вот вам пример: Senior ML-инженер Олег Андриянов рассказывает в своем канале, как его доход вырос за 4 года в 12,5 раз. В блоге куча крутых статей, вот наш топ-3:
– Как гарантированно повысить свою зарплату?
– Какие 2 ключевых софт-скилла делают тебя на голову выше конкурентов на рынке труда?
– Как Олегу удалось вырасти в доходах в 12,5 раз за 4 года?
У автора большой опыт руководителя, так что он знает, чего хочет от сотрудника индустрия, и в его канале – не фантазии, а настоящие практические инструменты, которые помогут быстрее достичь карьерных целей.
Подписывайся, если хочешь стать незаменимым в любой IT-команде: @andriyanov_leads
Реклама. СЗ Волков Д.Д. ИНН: 370701873479, erid: 2Vtzqwy7BPx
Как работают email протоколы?
👉 DevOps Portal
Никогда не открывайте порты в Docker-контейнерах следующим образом:
ports:
- "3000:3000"
ports:
- "127.0.0.1:3000:3000"
26 сетевых протоколов, которые нужно знать
FTP (20/21, TCP) — Протокол передачи файлов: используется для передачи файлов между клиентом и сервером.
SFTP (22, TCP) — Защищённый протокол передачи файлов: FTP по SSH для безопасной передачи файлов.
TFTP (69, UDP) — Упрощённый протокол передачи файлов: простой, незащищённый протокол передачи файлов.
SSH (22, TCP) — Secure Shell: защищённый удалённый вход и выполнение команд.
TELNET (23, TCP) — Teletype Network: незащищённый удалённый вход и выполнение команд.
SMTP (25, TCP) — Простой протокол передачи почты: используется для отправки электронной почты.
SMTPS (587, TCP) — SMTP через TLS: SMTP поверх Transport Layer Security (TLS) для защищённой передачи электронной почты.
POP3 (110, TCP) — Post Office Protocol v3: получение электронной почты путём её загрузки с сервера.
POP3S (995, TCP) — POP3 через SSL: защищённый POP3 для получения электронной почты.
IMAP (143, TCP) — Протокол доступа к сообщениям Интернета: доступ к электронной почте напрямую на сервере.
IMAPS (995, TCP) — IMAP через SSL: защищённый IMAP-доступ к почте.
HTTP (80, TCP) — Протокол передачи гипертекста: незащищённый веб-сёрфинг.
HTTPS (443, TCP) — Безопасный протокол передачи гипертекста: защищённый веб-сёрфинг через SSL или TLS.
DNS (53, TCP/UDP) — Система доменных имён: используется для преобразования доменных имён в IP-адреса.
DHCP (67/68, UDP) — Протокол динамической настройки хоста: используется для динамического назначения IP-адресов.
NTP (123, UDP) — Протокол сетевого времени: синхронизация часов по сети.
LDAP (389, TCP) — Протокол лёгкого доступа к каталогам: доступ и управление информацией каталогов.
LDAPS (636, TCP/UDP) — LDAP через SSL: используется для защищённого доступа к LDAP.
SNMP (161/162, UDP) — Протокол простого управления сетью: используется для мониторинга и управления сетевыми устройствами.
SYSLOG (514, UDP) — Системное логирование: протокол и система журналирования сетевых событий.
SMB (445, TCP) — Протокол серверных сообщений: совместное использование файлов и сетевые коммуникации.
SQL (1433, TCP) — Язык структурированных запросов (SQL): управление БД от Microsoft.
SQLNET (1521, TCP) — SQLNET (служба Oracle Network): обеспечивает взаимодействие клиентов Oracle SQL с сервером баз данных Oracle.
MySQL (3306, TCP) — MySQL: сервер базы данных MySQL.
RDP (3389, TCP/UDP) — Протокол удалённого рабочего стола: удалённый доступ к рабочему столу.
SIP (5060/5061, TCP/UDP) — Протокол установления сеансов: используется для управления мультимедийными сессиями связи.
Если хочется влюбиться в профессию заново, Создайте курс для Яндекс Практикума!
Яндекс Практикум — сервис современного онлайн-образования, где обучают актуальным цифровым профессиям. Сейчас есть возможность присоединиться к команде в качестве автора.
Роль автора подойдёт тем, кто любит погрузиться с головой в контент — разрабатывать уроки, задания, тесты, чек-листы, памятки, квизы; нагрузка от 10 часов в неделю.
Условия сотрудничества — комфортные:
• дополнительный доход, удалёнка,
• возможность строить программу по своему усмотрению,
• команда, где ценятся как знания, так и мемы.
Посмотрите, что ожидают от кандидата, и откликайтесь, если интересно:
→ Роль автора DevOps
→ Роль автора DevSecOps
Виртуальная машина vs Контейнеры
👉 DevOps Portal
Многие инженеры по Kubernetes до конца не понимают, как работает автоскейлинг в Kubernetes и в чём разница между HPA, VPA и KEDA.
Вот инфографика, чтобы помочь вам лучше разобраться.
👉 DevOps Portal
Совет дня для Linux
Многие об этом не знают или почти не используют.
В Linux можно сделать файл или директорию неудаляемыми, установив флаг неизменяемости (immutable) с помощью команды chattr
:
$ sudo chattr +i -V /home/traw/keys.txt
-V
— подробный вывод (verbose).-R
:$ sudo chattr +i -VR /home/traw/backups
-i
. Для директорий — -i
с опцией -R
.Готовимся к собеседованию — ловите крутейший сборник самых частых вопросов с ответами и примерами кода.
Разбито по полочкам: что нужно знать для прохождения HR, техническое интервью, полезные материалы и топ вопросов по популярности.
Топ на русском и основан на опыте отечественных же компаний, забираем
👉 DevOps Portal
Быстрый совет по Linux
Вы можете сгруппировать файлы по их расширениям с помощью команды:
ls -X
Архитектура Kubernetes — упрощённое объяснениеKUBECTL
— Позволяет взаимодействовать с Kubernetes.API SERVER
— "Мозг" системы, обрабатывающий все запросы.CONTROLLER MANAGER
— Управляет ресурсами кластера по мере необходимости.SCHEDULER
— Находит оптимальное место для запуска рабочих нагрузок.KUBELET
— Запускает рабочие нагрузки на каждом узле (ноде).ETCD
— Хранит всю информацию о состоянии кластера (ключ-значение хранилище).KUBE PROXY
— Перенаправляет трафик к нужным подам.POD
— Единица размещения, в которой выполняются контейнеры.CONTAINER RUNTIME
— Запускает контейнеры внутри подов
👉 DevOps Portal
Нам сообщили, что многие тут хотят серьезно прокачать свой DevOps. Но не знают где взять информацию и четкий план.
💪 Советуем бесплатный мета-курс Devops Roadmap - это расширенный чек-лист, который поможет сориентироваться в мире DevOps и стать крутым спецом.
👀 В мета-курсе перечислены все основные разделы и навыки, которыми должен обладать DevOps инженер: от Linux до программирования в удобном формате.
✔️А еще он будет полезен при подготовке к собеседованиям.
👽 Кстати, бонусом крутой канал о девопс. Там тоже самые свежие IT-новости, полезные советы от DevOps-инженера с 20-летним стажем, эксклюзивные материалы, релизы топовых инструментов, обзоры вакансий и личный взгляд на девопс-сферу.
📌 Ну а тем, кто хочет двигаться под руководством наставника - индивидуальная программа.
Как скопировать образ контейнера между репозиториями
Типичная, но не всегда тривиальная задача. Практика:
🔹С Docker: https://labs.iximiuz.com/challenges/copy-container-image-from-one-repository-to-another-with-docker
🔹Без Docker: https://labs.iximiuz.com/challenges/copy-container-image-from-one-repository-to-another-without-docker
🔹Мультиплатформенные образы: https://labs.iximiuz.com/challenges/copy-multi-platform-image-from-one-repository-to-another
🔹Все теги из репозитория:
https://labs.iximiuz.com/challenges/copy-all-image-tags-from-one-repository-to-another
https://pic.x.com/gnyF8sBfum
👉 DevOps Portal
Nerdlog — tui-инструмент для работы с логами на локальных и удалённых хостах.
🔹Не требует централизованного сервера — взаимодействие с удалёнными машинами происходит через SSH
🔹Логи не скачиваются целиком — обработка выполняется на удалённой стороне, в интерфейс передаётся уже результат
🔹Для удобства просмотра реализованы таймлайн и гистограмма
Статья с подробностями: dmitryfrank.com/projects/nerdlog/article
Репозиторий: github.com/dimonomid/nerdlog
👉 DevOps Portal
После многих лет использования NGINX в проектах на Docker Compose, автор решил перейти на
traefik — и отмечает, что это стало одним из лучших решений в области DevOps за всё время.
В своём блоге он подробно описывает полную настройку, что изменилось и почему использование Traefik значительно упрощает работу.
Traefik из коробки предоставляет:
✅ Автоматическую маршрутизацию на основе меток контейнеров
✅ Встроенный HTTPS через Let’s Encrypt
✅ Дашборд в реальном времени для маршрутов и сервисов
✅ Балансировку нагрузки с поддержкой "липких" сессий
✅ Нативную интеграцию с Prometheus для сбора метрик
✅ Отсутствие необходимости вручную поддерживать конфигурационные файлы
Ссылка на блог:
prateekjain.dev/why-i-replaced-nginx-with-traefik-in-my-docker-compose-setup-32f53b8ab2d8" rel="nofollow">https://medium.com/@prateekjain.dev/why-i-replaced-nginx-with-traefik-in-my-docker-compose-setup-32f53b8ab2d8
👉 DevOps Portal
Самый распространённый способ запустить контейнер — использовать Docker CLI. Но что именно делает команда docker run
? Чем она отличается от:
🔹 podman run
🔹 nerdctl run
🔹 ctr run
🔹 runc create/start
Мини-курс, чтобы научиться запускать контейнеры с разными рантаймами:
https://labs.iximiuz.com/skill-paths/run-containers-across-runtimes
👉 DevOps Portal
Список часто используемых команд Kamal
Хотя перечень не является полным, он охватывает наиболее распространённые задачи
🔹Команда инициализации используется для создания конфигурационных и секретных файлов один раз после добавления Kamal в проект.
$ kamal init
$ kamal server
$ kamal shell [-d production]
# app exec -i --reuse "bin/rails console"
$ kamal console [-d production]
$ kamal deploy [-d staging]
$ kamal rollback [VERSION] [-d staging]
kamal build
напрямую,kamal deploy
и kamal redeploy
.$ kamal build dev
$ kamal app logs [--roles=web -n 100 -f]
$ kamal app logs [--primary -n 100 -f]
$ kamal app logs [--hosts=<ip_address> -n 100 -f]
$ kamal audit
$ kamal proxy logs [-d staging]
$ kamal config [-d staging]
$ kamal secrets print [-d staging]
$ kamal details [-d staging]
$ kamal app details [-d staging] [--roles=web]
$ kamal accessory details pghero -d staging
Совет дня по Linux
Многие либо не знают об этом, либо почти не используют.
В Linux вы можете нажать ~TAB TAB
, чтобы быстро получить список всех доступных пользователей в системе.
$ ~TAB TAB
Как (и зачем) использовать containerd? 🧐
containerd — вероятно, самый широко используемый контейнерный рантайм:
🔹Docker использует его под капотом для запуска контейнеров и хранения образов.
🔹Kubernetes использует его как CRI-рантайм для запуска Pod'ов.
Практикуйтесь в работе с containerd: https://labs.iximiuz.com/courses/containerd-cli
👉 DevOps Portal
Калькулятор Chmod
Отличный калькулятор Chmod для преобразования прав доступа к файлам Linux между различными форматами.
https://chmod-calculator.com/
👉 DevOps Portal
Техдир выдал каждому девопсу по будильнику, который синхронизирован с критическими алертами на продакшене
👉 DevOps Portal
Ваши фронтенд и бэкенд находятся в отдельных репозиториях? Не проблема — вы всё равно можете собрать и доставить всё в одном Docker-образе
👉 DevOps Portal
Карта ключевых команд Kubernetes
Это не полный список; здесь приведены только основные команды
👉 DevOps Portal
🧩 Соберите свой комплект курсов как пазл!
3 видеокурса на ваш выбор за 55 000₽
Больше не нужно тратить время и деньги на лишнее — соберите персональный набор курсов под ваши цели и прокачивайте только те навыки, которые действительно нужны.
Собрать свой пазл ➡️ по ссылке
Совет по Linux на сегодня
Не помните название команды?
Используйте команду apropos
, чтобы освежить память
apropos search_term
Полностью согласен
#Terraform разворачивает твою инфраструктуру — создает серверы, сети, фаерволы, хранилища — все базовые компоненты.
#Ansible настраивает уже развернутую инфраструктуру — устанавливает приложения, задает права доступа, запускает сервисы и применяет обновления
👉 DevOps Portal
Kubernetes Ingress vs Gateway API
На большинстве кластеров Kubernetes сегодня для публикации HTTP(S)-трафика используется Ingress.
Он выполняет свою задачу, но есть ряд ограничений:
🔹Жестко завязан на HTTP
🔹Обладает кластерной областью видимости
🔹Плохо масштабируется по расширению
🔹Отсутствует гибкий контроль маршрутизации
...и не только.
Если ты еще не работал с Gateway API, возможно, упускаешь более современный подход к управлению трафиком — с поддержкой мультипротокольности и гораздо большей гибкостью.
👉 DevOps Portal