Обновить
10
0
Юрий Дмитриев@gto

Системный администратор

Отправить сообщение

Практические рекомендации по работе с Docker для Python-разработчиков

Время на прочтение28 мин
Охват и читатели137K

Прим. Wunder Fund: в этой длииинной статье вы найдете ряд полезных советов по работе с Docker, как общего характера, так и Python-специфичных. Хоть мы и давно используем Docker в работе, про некоторые советы мы подумали "а что, так можно было?". Советуем вначале пролистать статью, и отметить штуки, которые покажутся актуальными для вашей текущей ситуации.

Читать далее

Kubernetes monitoring от простого к сложному (Николай Храмчихин)

Время на прочтение12 мин
Охват и читатели24K


Разберём как при помощи VictoriaMetrics замониторить kubernetes. Откуда собирать метрики и как автоматически обнаруживать новые цели. Черная магия релейблинга и как она работает. Аннотации для мониторинга приложений и что делать когда их гибкости не хватает

Читать дальше →

Запуск кластера RabbitMQ в Kubernetes

Время на прочтение10 мин
Охват и читатели36K
При микросервисной организации приложения существенная работа ложится на механизмы интеграционной связи микросервисов. Причем эта интеграция должна быть отказоустойчива, с высокой степенью доступности.

В наших решениях мы используем интеграцию и с помощью Kafka, и с помощью gRPC, и с помощью RabbitMQ.

В этой статье мы поделимся нашим опытом кластеризации RabbitMQ, ноды которого размещены в Kubernetes.

image

До RabbitMQ версии 3.7 его кластеризация в K8S была не очень тривиальной задачей, со множеством хаков и не очень красивых решений. В версии 3.6 использовался autocluster плагин из RabbitMQ Community. А в 3.7 появился Kubernetes Peer Discovery Backend. Он встроен плагином в базовую поставку RabbitMQ и не требует отдельной сборки и установки.

Мы опишем итоговую конфигурацию целиком, попутно комментируя происходящее.
Читать дальше →

Переход с iptables на nftables. Краткий справочник

Время на прочтение18 мин
Охват и читатели208K
image

В Debian теперь нет iptables. Во всяком случае, по умолчанию.

Узнал я об этом, когда на Debian 11 ввёл команду iptables и получил “command not found”. Сильно удивился и стал читать документацию. Оказалось, теперь нужно использовать nftables.

Хорошие новости: одна утилита nft заменяет четыре прежних — iptables, ip6tables, ebtables и arptables.

Плохие новости: документация (man nft) содержит больше 3 тысяч строк.

Чтобы вам не пришлось всё это читать, я написал небольшое руководство по переходу с iptables на nftables. Точнее, краткое практическое пособие по основам nftables. Без углубления в теорию и сложные места. С примерами.
Читать дальше →

Принцип работы планировщика задач в Linux

Время на прочтение5 мин
Охват и читатели38K

Планирование – это процесс распределения ресурсов системы для выполнения задач. В статье мы рассмотрим его вариант, в котором ресурсом является одно или несколько ядер процессора, а задачи представлены потоками или процессами, которые нужно выполнить.
Читать дальше →

Создание и проверка подписей образов контейнеров: Интеграция Notary V1 и Connaisseur в Kubernetes

Время на прочтение18 мин
Охват и читатели5.6K

В статье представлен пример использования системы создания и проверки подписей образов Docker Content Trust и интеграции в Kubernetes с использованием сервера Notary и специализированного Admission Controller - Connaisseur.

Представлен теоретический обзор на используемые инструменты и практический пример интеграции с шагами и примерами конфигурации.

Читать далее

Erlang для самых маленьких. Глава 1: Типы данных, переменные, списки и кортежи

Время на прочтение8 мин
Охват и читатели69K

Добрый день, дорогие хабражители.

Это первая статья из цикла. Многим она может показаться до ужаса банальной т.к. здесь рассматриваются самые основы. Но для новичков она будет полезной, поэтому без нее обойтись нельзя. Так же здесь обращается внимание на пару интересных и неочевидных моментов.


Если интересно - давайте начнем...

Мониторим сессию удаленного админа при помощи screen

Время на прочтение2 мин
Охват и читатели11K
imageНедавно мне пришлось, что называется, перебороть себя. Дать доступ на свой любимый сервер некоему чужаку. Он натоптал своими грязными ботинками в моей уютной домашней директории, мацал косматыи лапами мои опрятные скрипты инициализации, рылся в логах, натащил в /opt какого-то барахла непонятно откуда. В общем, вел себя, как у себя дома.

Шучу, конечно. Удаленно зашел техник, установил специализированый софт своей фирмы, и удалился восвояси. Но, как говорится, в каждой шутке есть доля правды. Я довольно долго настаивал, чтобы фирма выслала свой софт и инструкции по установке. После того, как стало ясно, что этот номер не пройдет, стал обдумывать, как проконтролировать удаленного работника.

Собственно, решение основано на программе screen. Это консольных оконный менеджер, про который на хабре уже писали.
Читать дальше →

Гайд по использованию enum в Python

Время на прочтение6 мин
Охват и читатели184K


Модуль enum содержит в себе тип для перечисления значений с возможностью итерирования и сравнения. Его можно использовать для создания понятных обозначений вместо использования чисел (для которых приходится помнить, какое число что обозначает) или строк (в которых легко опечататься и не заметить).

Читать дальше →

Миграция с Terraform на Terragrunt

Время на прочтение9 мин
Охват и читатели22K

В Bestmile мы используем Terraform для AWS IaC. Но чем больше развивалась наша инфраструктура, тем запутаннее становился код Terraform.

Код Terraform стало сложнее обслуживать. Он терял эффективность. Terraform — отличный инструмент, но нуждается в дополнениях. Здесь-то и пригодится Terragrunt.

Terragrunt — это обертка (wrapper) для Terraform, которая расширяет его функционал и устраняет некоторые ограничения. Terragrunt взаимодействует с Terraform с помощью кода HCL (HashiCorp Configuration Language), поэтому Terragrunt будет выполнять код Terraform в зависимости от того, как вы определите код HCL. Именно он дает дополнительные преимущества, как описано ниже, и превращает Terragrunt в волшебный инструмент.

Изучить код

Общее введение в I2P

Время на прочтение22 мин
Охват и читатели133K

В этой статье пойдет речь про I2P — некоммерческую сингулярность сетевой приватности и анонимности, где никто кроме вас не знает куда и кто передает вашу информацию. Сеть I2P (расшифровывается как «Invisible Internet Project», Проект невидимого интернета) — это оверлейная децентрализованная одноранговая сеть. Оверлейная — значит работает поверх других сетей, например, обычного интернета; децентрализованная — распределенная, не имеющая единой точки отказа: упадет один узел, полсети, или во всей сети останется 3 пользователя — I2P все равно будет функционировать. I2P является одноранговой сетью, так как все участники имеют равные права и возможности: каждый пользователь скрытой сети строит свои туннели через других участников и сам является потенциальным звеном в цепочке другого пользователя. При этом естественная сетевая активность никак не компрометирует абонента перед домашним провайдером или участниками скрытой сети.

Читать!

Как увеличить скорость реакции Kubernetes на отказ узлов кластера?

Время на прочтение5 мин
Охват и читатели5.5K

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

Тем не менее, когда узел выходит из строя, pods, спланированные на данный узел, продолжают работать на нём еще в течение некоторого времени, а также получать запросы. Думаю, это совсем не то поведение, которое вы ожидали от Kubernetes.

В этой статье мы разберёмся, как сократить время реакции Kubernetes на выход узлов из строя, чтобы избежать возможных проблем.

Читать далее

Настройка сетевого стека Linux для высоконагруженных систем

Время на прочтение10 мин
Охват и читатели45K

Сетевой стек — одна из самых запутанных вещей в Linux. И не только из-за сложности некоторых концепций и терминов, но и из-за изменения смысла некоторых параметров в разных версиях ядра. В этой статье приведена информация для ядра 2.2 и выше, а также, там где это возможно, указано различие между версиями вплоть до 5.5.

О том как изменять параметры ядра, описываемые здесь, можно прочитать в статье Linux Kernel Tuning for High Performance Networking: Configuring Kernel Settings.

Читать далее

Apache Kafka: основы технологии

Время на прочтение9 мин
Охват и читатели656K

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


Статья подготовлена на основе открытого занятия из видеокурса по Apache Kafka. Авторы — Анатолий Солдатов, Lead Engineer в Авито, и Александр Миронов, Infrastructure Engineer в Stripe. Базовые темы курса доступны на Youtube.

Читать дальше →

Записки IoT-провайдера. Введение

Время на прочтение4 мин
Охват и читатели20K

Здравствуйте, уважаемые читатели Хабра. Меня зовут Олег Плотников, я директор Центра Промышленного Интернета одной из IT-компаний.


Этой статьей я бы хотел начать целый цикл заметок про Интернет Вещей и конкретно про технологию LoRa. О ней уже не раз писали на Хабре, писали интересно и с разных сторон. Однако, наш Центр построил и уже почти год эксплуатирует сеть LoRaWAN и мы накопили большой опыт именно практической эксплуатации этой технологии. Давайте договоримся, я не ставлю своей целью пиар компании, в которой работаю. Но буду периодически обращаться к нашим проектам, когда потребуется что-то проиллюстрировать. Главный акцент своих заметок я бы хотел сделать не на теории, а на практике. Постараюсь заразить вас идеей, что Интернет Вещей – это интересно и черепахоподобная LoRa станет важным кирпичиком в общем фундаменте.


Читать дальше →

Миграция с Docker на containerd в среде Kubernetes

Время на прочтение4 мин
Охват и читатели18K


Kubernetes отказывается от Docker для выполнения контейнеров после версии 1.20. (Прим. переводчика: в декабре мы уже писали о том, как это изменение повлияет на задачи разработчиков и инженеров эксплуатации: «Docker is deprecated — и как теперь быть?»)


Без паники. Контейнеры Docker все еще поддерживаются, но без dockershim/Docker — слоя между Kubernetes и containerd, который будет удален, начиная с версии 1.22+.


Если вы используете Docker, нужно перейти на поддерживаемый интерфейс container runtime interface (CRI). Хорошим вариантом будет containerd — он уже есть у вас на ноде Kubernetes, если вы работаете с Docker.

Читать дальше →

Лучшие практики для деплоя высокодоступных приложений в Kubernetes. Часть 2

Время на прочтение13 мин
Охват и читатели14K

В прошлой части были рассмотрены рекомендации по множеству механизмов Kubernetes для оптимального деплоя высокодоступных приложений включая особенности работы планировщика, стратегии обновления, приоритеты, пробы и т.п. Во втором и заключительном материале поговорим о трёх важных оставшихся темах: PodDisruptionBudget, HorizontalPodAutoscaler, VerticalPodAutoscaler, — продолжив нумерацию из первой части.

Читать далее

10 Kubernetes Security Context, которые необходимо понимать

Время на прочтение11 мин
Охват и читатели45K

Безопасно запускать рабочие нагрузки в Kubernetes может быть не простой задачей. Множество различных параметров могут повлиять на безопасность, что требует соответствующих знаний для правильной реализации. Одним из самых мощных инструментов, которые предоставляет Kubernetes в этой области, являются настройки securityContext, которые могут использоваться в каждом манифесте Pod и контейнера. В этой статье мы рассмотрим различные настройки контекста безопасности, выясним, что они означают и как их следует использовать.

Читать далее

Основы работы с Helm чартами и темплейтами — Часть 1

Время на прочтение16 мин
Охват и читатели83K

В этом руководстве мы кратко обсудим, как Helm может помочь упростить управление приложениями Kubernetes, и узнаем, как использовать Helm для создания базового чарта.


Управление приложениями — сложный аспект Kubernetes. Helm значительно упрощает его, предоставляя единый метод упаковки программного обеспечения, поддерживающий контроль версий. Helm устанавливает пакеты (называются Чартами в Helm) для Kubernetes и управляет ими, как это делают yum и apt.


В этом руководстве мы позволим Helm создать для нас базовый чарт. В этом руководстве предполагается, что у вас есть хотя бы базовое понимание того, что такое Helm. Если вы не знакомы с ним, я предлагаю вам ознакомиться с этим руководством, прежде чем приступить к статье: https://www.alibabacloud.com/help/doc-detail/86511.htm

Читать дальше →

Искусство Helm Chart: паттерны из официальных чартов Kubernetes

Время на прочтение11 мин
Охват и читатели12K

Установка и управление Helm Charts может вызвать у вас некоторые сложности, с которыми вы, возможно, не сталкивались раньше.


Helm Charts упаковывает приложения для установки в кластеры Kubernetes. Установка Helm Chart немного похожа на запуск мастера установки, поэтому разработчики Helm Chart сталкиваются с некоторыми из тех же проблем, с которыми сталкиваются разработчики, производящие установщики:


  • Какие предположения можно сделать об окружении, в которой выполняется установка?
  • Может ли приложение взаимодействовать с другими приложениями?
  • Какие конфигурации должны быть доступны пользователю и как их предлагать?
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
München, Bayern, Германия
Зарегистрирован
Активность