DevOps Portal | Linux
13.4K subscribers
847 photos
110 videos
10 files
860 links
Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps

Связь: @devmangx

РКН: https://clck.ru/3P8kFH
Download Telegram
💡 Быстрый совет по Linux 🐧

Найдите недавно изменённые файлы за последние 5 минут:

find . -type f -mmin -5


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

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍137
Совет по Docker

Вот как проанализировать, что раздувает образ

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

Вот как можно инспектировать слои и увидеть, что изменилось в каждом слое.

Можно использовать утилиту dive.
Она даёт визуальное представление:

Каждый созданный слой
Какие файлы были добавлены или изменены
Сколько места занимает каждый слой

Когда вы начинаете анализировать слои образа, вы сможете выявить:
- Какая команда добавляет лишний вес
- Как оптимизировать Dockerfile для более маленьких и эффективных сборок

Утилита также показывает оценку эффективности образа, которая отражает, сколько данных дублируется или тратится впустую между слоями

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍209
Многие не до конца понимают, чем отличаются конвейеры CI/CD в DevOps и GitOps

В DevOps-конвейере CI/CD весь процесс выполняется единым потоком - от коммита кода, тестов, сборки, создания образа до прямого деплоя в кластер Kubernetes.

Такой подход быстрый и централизованный, но жёстко связывает деплой с процессом CI, оставляя мало возможностей для разделения или дополнительного контроля.

В GitOps-конвейере CI отвечает за тесты и сборку, а деплой выполняется через Git-коммиты: контроллер синхронизирует изменения из репозитория с кластером.

Вот инфографика, чтобы помочь вам лучше разобраться 👍

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍127🔥2
Вот интересный факт о Linux

Вы можете запустить полноценное отдельное ядро Linux внутри одного процесса на своей машине. Без root-доступа и без какого-либо ПО для виртуализации.

Это User-Mode Linux (UML) - специальный порт ядра, который работает как обычное пользовательское приложение.

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

Это мощный инструмент для разработки и отладки ядра, а также для создания изолированных тестовых окружений за считанные секунды.

Хотите разобраться глубже? Ознакомьтесь с полной статьей: тык

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64
Actions Runner Controller (ARC) — это контроллер Kubernetes для self-hosted раннеров GitHub Actions.

С помощью ARC вы можете:

🔹Развертывать self-hosted раннеры в кластерах Kubernetes простым набором команд

🔹Автоматически масштабировать раннеры по требованию

GitHub: actions-runner-controller

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍5
Forwarded from Мир Linux
Принёс швейцарский нож для сетевиков: Networking Toolbox

Это офлайн-набор из 100+ сетевых инструментов в одном приложении. Конвертация данных, диагностика серверов, сетевые вычисления, проверка конфигов, всё под рукой и без интернета

Никаких сторонних зависимостей и опенсорс. Забираем здесь

@linuxos_tg
9
GitLab Architecture: A Complete Guide

В этом вводном гайде вы узнаете:

- Основные компоненты GitLab
- Хранилище GitLab
- Высокая доступность и масштабируемость
- Аутентификация и авторизация
- Мониторинг GitLab с помощью Prometheus и Grafana

Подробное руководство: https://devopscube.com/gitlab-architecture/

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3🔥3
Как (и зачем) использовать containerd? 🧐

containerd — вероятно, самый широко используемый контейнерный рантайм:

🔹Docker использует его под капотом для запуска контейнеров и хранения образов.

🔹Kubernetes использует его как CRI-рантайм для запуска Pod'ов.

Практикуйтесь в работе с containerd: https://labs.iximiuz.com/courses/containerd-cli

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3🔥2
Это CSI-драйвер для хранилищ S3 (или совместимых с S3)

Этот инструмент может динамически создавать (выделять) бакеты и монтировать их в любой контейнер через FUSE-маунт

GitHub: k8s-csi-s3

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2
Большинство инженеров DevOps сосредоточены на автоматизации

Но, DevOps сегодня - это гораздо больше, чем просто CI/CD-пайплайны.

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

В этом контексте есть одна концепция, которую должен знать каждый инженер DevOps: Write-Ahead Log (WAL), или «журнал предварительной записи».

Вот короткий пост, где объясняют, как работает WAL, с простыми примерами из реальной практики. Прочитать можно здесь: https://newsletter.devopscube.com/p/write-ahead-log-wal

Если вы хотите увидеть, как этот подход используется в масштабных системах, отличным примером будет платформа данных Netflix.

Они построили свою отказоустойчивую data-платформу вокруг принципа WAL, чтобы обеспечить сохранность данных даже при сбоях

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍2🌚1
Бесплатный лайфхак для Linux 😎

Многие про это не знают или почти не пользуются.

В Linux можно сделать файл или каталог неудаляемым с помощью команды chattr, установив флаг +i:

sudo chattr +i -V CH-13.pdf


Флаг +i запрещает удалять, изменять и переименовывать файл, даже root не сможет этого сделать, пока флаг не снят.
Опция -V включает подробный вывод (verbose), чтобы увидеть, что именно команда делает.

Чтобы вернуть всё обратно:

sudo chattr -i CH-13.pdf


👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
17👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Dockly

Это интерактивный терминальный интерфейс для управления контейнерами Docker.

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

Подходит для разработчиков и администраторов, которым нужен быстрый и удобный способ мониторинга и управления Docker-средами.

GitHub: dockly

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍1
Этот репозиторий - настоящая находка для инженеров DevOps и SRE

30+ практических лабораторных работ по Kubernetes, охватывающих всю экосистему DevOps

GitHub: Fast-Kubernetes

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍126
Более чистый способ управлять алиасами kubectl

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

До выхода Kubernetes v1.33 приходилось вручную прописывать алиасы в .bashrc или .zshrc, вперемешку с другими настройками шелла

Это не было нативным и структурированным решением.

Теперь с kuberc вы можете определить все свои алиасы для kubectl в отдельном YAML-файле.

Это чисто, просто и даже можно держать под версионным контролем

Подробное руководство: https://devopscube.com/kubectl-aliases/

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64
Kubernetes 101: назначение Pod'ов на узлы

В статье подробно рассматриваются механизмы назначения Pod'ов на узлы в Kubernetes.

Автор объясняет такие инструменты, как nodeSelector, nodeAffinity и taints/tolerations, которые позволяют контролировать, где именно будут запускаться ваши Pod'ы

👉 Ссылка на статью

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1
Kubernetes Swap

Когда вы деплойте Pod в Kubernetes, каждый нод использует свою физическую оперативную память (RAM) для запуска контейнеров.

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

С Kubernetes Swap можно избежать этого, разрешив ноде использовать часть диска как дополнительную виртуальную память (swap).

Вот статья, где подробно объяснили:

- Как работает Kubernetes Swap
- Основные сценарии использования swap
- Классы QoS для Pod и поведение при использовании swap
- Как выделяется swap для Pod'ов
- Практика: тестирование swap на воркер-нодах
- Определение нод с включённым swap с помощью NFD
- Мониторинг swap через метрики

Читайте здесь

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
8
Kubernetes Toolkit — это контейнерный образ, который включает в себя основные инструменты: kubectl, Helm, Kustomize, Trivy и Flux.

Он предназначен для использования в CI/CD-пайплайнах и при локальной разработке, обеспечивая валидацию, сканирование безопасности, GitOps-функциональность и другие возможности

Забираем с GitHub

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍2
Руководство, которое поможет правильно структурировать ваши K8s-проекты

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥125🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Твой первый кластер Kubernetes не должен быть кошмаром

Большинство новичков начинают с KubeADM, и бросают уже через неделю.

В чём проблема?

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

https://www.youtube.com/shorts/rQDZgbZwNvs

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥73👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Освойте деплойменты в Kubernetes

Нашел практическое задание, которое поможет разобраться, как работают Deployment'ы — от их создания до масштабирования, обновления образов, проверки состояния Pod'ов и отката изменений.

Отлично подходит для практики реальных операций, стоящих за kubectl apply/create и kubectl rollout.

Попробуйте здесь

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍5🔥2
Kubero — это полностью self-hosted внутренняя платформа для разработчиков, которая переносит Heroku-подобные рабочие процессы в ваш кластер Kubernetes.

Она позволяет развёртывать приложения в несколько кликов, имеет встроенный CI/CD-пайплайн и поддерживает несколько стейджинг-окружений

Забираем здесь

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32👍2😁1