iptables против IPVS: что выбрать для Kubernetes?

Kubernetes поддерживает два основных режима работы kube-proxy: iptables и ipvs. Какой из них выбрать? 1. Что такое kube-proxy? kube-proxy управляет сетевыми правилами на узлах Kubernetes, обеспечивая маршрутизацию между сервисами и подами. Поддерживаются режимы iptables, ipvs и устаревший userspace. 2. Режим iptables Режим по умолчанию Использует цепочки NAT в iptables Плюсы: Простота Не требует дополнительных модулей ядра Удобен для отладки Минусы: Падает производительность при большом количестве сервисов Последовательная обработка правил 3. Режим IPVS Использует IP Virtual Server из ядра Linux Использует хэш-таблицы для ускорения Плюсы: Высокая производительность на больших кластерах Поддержка различных алгоритмов балансировки нагрузки Минусы: Требуются модули ядра ip_vs Сложнее в настройке 4. Переключение на IPVS Проверка поддержки ядра: ...

сентября 1, 2025 · 1 минута · 188 слов · DevOps Insights

Jaeger: Установка и использование для распределённого трейсинга в Kubernetes

Введение Jaeger — это open-source инструмент для распределённого трейсинга, разработанный Uber. Используется для мониторинга и отладки микросервисов. Это руководство покажет, как установить и использовать Jaeger в Kubernetes с примерами. Зачем использовать Jaeger? Визуализация зависимостей и задержек между сервисами Поиск узких мест в производительности Отслеживание запросов через микросервисы Поддержка OpenTelemetry Требования Запущенный кластер Kubernetes (например, Minikube, k3s, GKE и т.д.) Настроенный kubectl Установлен Helm 1. Установка Jaeger через Helm helm repo add jaegertracing https://jaegertracing.github.io/helm-charts helm repo update helm install jaeger jaegertracing/jaeger --set query.basePath=/jaeger --set ingress.enabled=true --set ingress.hosts="{jaeger.yourdomain.com}" Для локального доступа: ...

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

Что такое ndots в Kubernetes и как оно влияет на DNS

Что такое ndots и зачем оно нужно в Kubernetes Параметр ndots в DNS-настройках определяет, как Kubernetes трактует доменные имена: как полные (FQDN) или как неполные, требующие дополнения из поисковых доменов. Как работает ndots Если в имени содержится количество точек меньше, чем указано в ndots, Kubernetes сначала добавляет поисковые домены из /etc/resolv.conf, а потом делает запрос. Пример При ndots:5 и запросе service.default (в нём одна точка) будут пробоваться: service.default.<search-domain> service.default Затем полное имя Почему это важно Избыточные DNS-запросы — больше обращений к кластерному DNS. Задержки при резолвинге — особенно критично для сервисов. Неверные разрешения — если имя не соответствует шаблону поиска. Рекомендованное значение Обычно в Kubernetes рекомендуют: ...

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

Статические поды в Kubernetes: что это, зачем и как использовать

Статические поды в Kubernetes: что это, зачем и как использовать В Kubernetes большинство подов управляются контроллерами (Deployment, DaemonSet) через API-сервер. Однако существуют статические поды — они управляются напрямую через kubelet и не зависят от управляющих компонентов кластера. Зачем использовать статические поды Для запуска системных компонентов на узле (например, мониторинга или логгирования). Когда нужен под, работающий независимо от control plane. При инициализации собственного кластера Kubernetes (например, для запуска etcd). Основные особенности Управляются только kubelet. Не отображаются через kubectl, если не синхронизируются с API-сервером. Задаются YAML-манифестом в специальной директории. Как создать статический под 1. Указание пути манифестов для kubelet Убедитесь, что параметр --pod-manifest-path указан в конфигурации или systemd-сервисе kubelet: ...

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

Kubectl Трюки: Повышаем Эффективность Работы с Kubernetes

Kubectl Трюки: Повышаем Эффективность Работы с Kubernetes kubectl — основной инструмент командной строки для взаимодействия с кластерами Kubernetes. Помимо базовых команд, существует множество полезных трюков, ускоряющих повседневную работу. 1. Быстрое переключение контекста kubectl config use-context my-cluster kubectl config get-contexts Можно использовать kubectx для более удобного переключения. 2. Вывод ресурсов с кастомными колонками kubectl get pods -o custom-columns="NAME:.metadata.name,STATUS:.status.phase" 3. Просмотр изменений ресурсов в реальном времени kubectl get pods --watch 4. Отладка работающего Pod kubectl exec -it my-pod -- /bin/sh 5. Применение YAML из stdin cat pod.yaml | kubectl apply -f - 6. Проброс порта Pod на localhost kubectl port-forward svc/my-service 8080:80 7. Временный alias alias k='kubectl' 8. Вывод в YAML/JSON kubectl get pod mypod -o yaml kubectl get pod mypod -o json Заключение Эти трюки — только начало. Эффективное использование CLI позволяет значительно сократить время управления Kubernetes-кластерами. ...

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