Базовые команды IPVS для сетей Linux

Базовые команды IPVS для сетей Linux IPVS (IP Virtual Server) — мощное решение для балансировки нагрузки, встроенное в ядро Linux. Часто используется в Kubernetes в качестве альтернативы iptables при использовании kube-proxy в режиме IPVS. Что такое IPVS? IPVS работает на транспортном уровне и позволяет балансировать трафик TCP и UDP с использованием различных алгоритмов, таких как round-robin, наименьшее количество соединений и другие. Установка ipvsadm # Ubuntu/Debian sudo apt install ipvsadm # CentOS/RHEL sudo yum install ipvsadm Основные команды IPVS Просмотр текущих правил IPVS sudo ipvsadm -L -n Добавление виртуального сервиса sudo ipvsadm -A -t 192.168.0.100:80 -s rr Добавляет виртуальный сервис на IP 192.168.0.100 и порт 80 с алгоритмом round-robin. ...

августа 15, 2025 · 1 минута · 190 слов · John Cena

Что такое VolumeSnapshot и как его использовать в Kubernetes

Что такое VolumeSnapshot и как его использовать в Kubernetes VolumeSnapshot — это функция Kubernetes, позволяющая создавать моментальные снимки (snapshots) постоянных томов (Persistent Volumes). Это особенно важно для резервного копирования, аварийного восстановления и клонирования данных. Зачем использовать VolumeSnapshots? VolumeSnapshot обеспечивает: Защиту данных: Простой способ создать резервную копию данных. Аварийное восстановление: Возможность откатиться к рабочему состоянию. Клонирование: Создание новых томов на основе снимка. Как работает VolumeSnapshot Для работы необходима поддержка CSI (Container Storage Interface) драйвера. Основные ресурсы: ...

августа 15, 2025 · 1 минута · 197 слов · John Cena

Docker vs Buildah: Простое объяснение для разработчиков

Когда речь заходит о контейнерах, большинство людей в первую очередь вспоминают Docker. Но в мире контейнеризации есть и другие игроки, например Buildah. Давайте разберёмся, чем они отличаются и какой инструмент выбрать. Что такое Docker Docker — это платформа, которая позволяет собирать, доставлять и запускать приложения в контейнерах. Он включает в себя всё: от клиента и сервера (Docker Engine) до утилит для сборки образов и управления ими. Плюсы Docker: Простота установки и использования Большое комьюнити и документация Экосистема (Docker Hub, Compose, Swarm) Минусы Docker: ...

августа 13, 2025 · 2 минуты · 242 слова · John Cena

Docker vs Kaniko: Простое объяснение для разработчиков

Если вы работаете с контейнерами, наверняка слышали про Docker. Но что за зверь такой — Kaniko? Давайте разберёмся простыми словами. Docker Docker — это универсальный инструмент для сборки, запуска и управления контейнерами. Когда вы выполняете docker build, Docker использует свой демон (docker daemon), чтобы построить образ. Проблема: для этого нужна полная установка Docker и права root, что не всегда безопасно или возможно, например, в CI/CD. Kaniko Kaniko — это инструмент от Google для сборки Docker-образов без запуска Docker-демона. Он работает внутри контейнера и использует стандартный Dockerfile, но вместо демона строит образ прямо в пользовательском пространстве. Это идеально для CI/CD в Kubernetes, где нет доступа к полноценному Docker. ...

августа 13, 2025 · 1 минута · 166 слов · John Cena

Что такое gRPC и как он работает

gRPC — это фреймворк для удалённого вызова процедур (Remote Procedure Call), разработанный Google. Он особенно популярен в микросервисной архитектуре и подходит для высоконагруженных систем. 1. Зачем нужен gRPC? gRPC ориентирован на производительность и строгую типизацию. Преимущества: Использует Protocol Buffers (protobuf) — бинарный формат Транспорт HTTP/2 с поддержкой мультиплексирования Генерация кода из .proto файлов Поддержка стриминга и строгой схемы данных 2. gRPC против REST Параметр gRPC REST (JSON) Формат данных Protocol Buffers (binary) JSON (текст) Транспорт HTTP/2 HTTP/1.1 Производительность Высокая Ниже из-за объёма Инструменты Автогенерация кода Вручную Стриминг Двунаправленный Ограниченный 3. Как работает gRPC Шаг 1: Определим интерфейс в .proto файле syntax = "proto3"; service Greeter { rpc SayHello (HelloRequest) returns (HelloReply); } message HelloRequest { string name = 1; } message HelloReply { string message = 1; } Шаг 2: Сгенерируем код protoc --go_out=. --go-grpc_out=. greeter.proto Шаг 3: Реализуем сервер // Сервер func (s *server) SayHello(ctx context.Context, req *pb.HelloRequest) (*pb.HelloReply, error) { return &pb.HelloReply{Message: "Hello " + req.Name}, nil } 4. Когда стоит использовать gRPC ✅ Подходит: ...

августа 13, 2025 · 2 минуты · 214 слов · DevOps Insights