🚇🚇 Доступ к кластеру Kubernetes через SSH-туннель
Для повышения безопасности кластера Kubernetes, необходимо скрыть уровень управления (kube-apiserver) за фаерволом. Мы сможем подключиться через SSH-сервер, который находится в той же сети, и запускать оттуда команды kubectl, но это неудобно. В этом случае на помощь приходит SSH-туннель.
Продолжение здесь
#туториал
Для повышения безопасности кластера Kubernetes, необходимо скрыть уровень управления (kube-apiserver) за фаерволом. Мы сможем подключиться через SSH-сервер, который находится в той же сети, и запускать оттуда команды kubectl, но это неудобно. В этом случае на помощь приходит SSH-туннель.
Продолжение здесь
#туториал
👍12❤3❤🔥1🥰1
👾👾 Anomaly Alerting в Prometheus
В статье автор рассказывает о том, как использовать Prometheus с Istio для обнаружения аномалий во времени отклика ваших операционных служб. Реализация универсальная, чтобы можно было применить ее глобально ко всем службам, работающим в сети. Вы сможете применить один и тот же шаблон практически к любой rate-metric.
Читать статью
#туториал
В статье автор рассказывает о том, как использовать Prometheus с Istio для обнаружения аномалий во времени отклика ваших операционных служб. Реализация универсальная, чтобы можно было применить ее глобально ко всем службам, работающим в сети. Вы сможете применить один и тот же шаблон практически к любой rate-metric.
Читать статью
#туториал
🔥27👍4❤1🥰1🎉1
Forwarded from Библиотека джависта | Java, Spring, Maven, Hibernate
👶 Новичок в компании: 18 советов, как быстро адаптироваться и освоить новые навыки
Начало работы в новой компании может быть волнующим и сложным, особенно если вы новичок в отрасли. Как быстро освоиться, произвести хорошее впечатление и стать ценным сотрудником?
Читать статью
#туториал
Начало работы в новой компании может быть волнующим и сложным, особенно если вы новичок в отрасли. Как быстро освоиться, произвести хорошее впечатление и стать ценным сотрудником?
Читать статью
#туториал
👍4❤1🥰1
💁💁 Почему нельзя парсить вывод ls
Команда ls хорошо справляется с отображением атрибутов одного файла, но когда просишь у неё список файлов, возникает огромная проблема: Unix позволяет использовать в имени файла почти любой символ, в том числе пробелы, переносы строк, точки, символы вертикальной черты, да и практически всё остальное, что вы можете использовать как разделитель, за исключением NUL.
Существуют предложения по «исправлению» этой ситуации внутри POSIX, но они не помогут в решении текущей ситуации (см. также, как правильно работать с именами файлов). Если в качестве стандартного вывода не используется терминал, в режиме по умолчанию ls разделяет имена файлов переносами строк. И никаких проблем не возникает, пока не встретится файл, в имени которого есть перенос строки. Так как очень немногие реализации ls позволяют завершать имена файлов символаи NUL, а не переносами строк, это не позволяет получить безопасным образом список имён файлов при помощи ls (по крайней мере, портируемым способом).
Продолжение здесь
#туториал
Команда ls хорошо справляется с отображением атрибутов одного файла, но когда просишь у неё список файлов, возникает огромная проблема: Unix позволяет использовать в имени файла почти любой символ, в том числе пробелы, переносы строк, точки, символы вертикальной черты, да и практически всё остальное, что вы можете использовать как разделитель, за исключением NUL.
Существуют предложения по «исправлению» этой ситуации внутри POSIX, но они не помогут в решении текущей ситуации (см. также, как правильно работать с именами файлов). Если в качестве стандартного вывода не используется терминал, в режиме по умолчанию ls разделяет имена файлов переносами строк. И никаких проблем не возникает, пока не встретится файл, в имени которого есть перенос строки. Так как очень немногие реализации ls позволяют завершать имена файлов символаи NUL, а не переносами строк, это не позволяет получить безопасным образом список имён файлов при помощи ls (по крайней мере, портируемым способом).
Продолжение здесь
#туториал
❤🔥12👍3❤1🔥1
🤔🤔 Как Grafanalib помогает управлять дашбордами в масштабе
Для корпоративных организаций данные — это все, но когда им приходится вручную настраивать и переносить информационные панели между средами, данные вскоре превращаются в рутину.
В статье рассказывают о работе по переходу от ручной настройки к автоматизированному развертыванию и о том, как организации могут повысить эффективность, расширив масштабы создания информационных панелей и управления ими до уровня, при котором команды могут работать самостоятельно.
Читать статью
#туториал
Для корпоративных организаций данные — это все, но когда им приходится вручную настраивать и переносить информационные панели между средами, данные вскоре превращаются в рутину.
В статье рассказывают о работе по переходу от ручной настройки к автоматизированному развертыванию и о том, как организации могут повысить эффективность, расширив масштабы создания информационных панелей и управления ими до уровня, при котором команды могут работать самостоятельно.
Читать статью
#туториал
👍3❤🔥1
🧔🧔 Простой и удобный шаблон для bash-скриптов выполняемых по расписанию
Простой и полезный шаблон скрипта-обёртки для запуска заданий по cron (а сейчас и systemd timers).
С самого начала работы системным администратором linux, автор обнаруживал, что cron не очень удобный планировщик задач. При этом практически безальтернативный. Чем больше становился парк серверов и виртуальных машин, тем больше приходит абсолютно бесполезных почтовых сообщений «From: Cron Daemon», в которых нельзя отформатировать тему почтового сообщения для удобной автосортировки.
Продолжение здесь
#туториал
Простой и полезный шаблон скрипта-обёртки для запуска заданий по cron (а сейчас и systemd timers).
С самого начала работы системным администратором linux, автор обнаруживал, что cron не очень удобный планировщик задач. При этом практически безальтернативный. Чем больше становился парк серверов и виртуальных машин, тем больше приходит абсолютно бесполезных почтовых сообщений «From: Cron Daemon», в которых нельзя отформатировать тему почтового сообщения для удобной автосортировки.
Продолжение здесь
#туториал
❤🔥12❤2🥰1👏1
🚶🚶 Важность Kubernetes и необходимость в Tainting Nodes
Kubernetes как система управления контейнерами помогает нам управлять рабочими нагрузками и автоматизировать их, помогая масштабировать наши контейнерные приложения. Все эти приложения имеют конкретные цели и требования в зависимости от варианта использования. В этом случае становится важным иметь возможность контролировать, где вы хотите, чтобы модули запускались.
В таких случаях вы можете ознакомиться с taints и tolerations в Kubernetes. Taint — это просто пара key1=value1:taint-effect, которую вы применяете к ноде с помощью команды taint. taint-effect — это конкретный эффект, который вы хотели бы получить от вашего taint.
Продолжение здесь
#туториал
Kubernetes как система управления контейнерами помогает нам управлять рабочими нагрузками и автоматизировать их, помогая масштабировать наши контейнерные приложения. Все эти приложения имеют конкретные цели и требования в зависимости от варианта использования. В этом случае становится важным иметь возможность контролировать, где вы хотите, чтобы модули запускались.
В таких случаях вы можете ознакомиться с taints и tolerations в Kubernetes. Taint — это просто пара key1=value1:taint-effect, которую вы применяете к ноде с помощью команды taint. taint-effect — это конкретный эффект, который вы хотели бы получить от вашего taint.
Продолжение здесь
#туториал
🤩15👍7❤2🥰1
💪💪 KEDA + Kafka: повышение производительности на 62,15% при пиковых нагрузках
В современных облачных средах пользователи Kafka все чаще используют Kubernetes, что дает преимущество в плане масштабируемости и простоты развертывания, но и требует сложных стратегий масштабирования, которые могут адаптироваться к изменчивой природе потоков данных Kafka.
Именно здесь вступает в действие Kubernetes Event-Driven Autoscaling (KEDA). KEDA расширяет возможности Kubernetes, позволяя автоматическое масштабирование, управляемое событиями. При интеграции с Kafka KEDA позволяет пользователям автоматически масштабировать приложения в зависимости от фактической рабочей нагрузки.
В статье показано, как KEDA улучшает потребительские характеристики Kafka и общее использование ресурсов.
Читать далее
#туториал
В современных облачных средах пользователи Kafka все чаще используют Kubernetes, что дает преимущество в плане масштабируемости и простоты развертывания, но и требует сложных стратегий масштабирования, которые могут адаптироваться к изменчивой природе потоков данных Kafka.
Именно здесь вступает в действие Kubernetes Event-Driven Autoscaling (KEDA). KEDA расширяет возможности Kubernetes, позволяя автоматическое масштабирование, управляемое событиями. При интеграции с Kafka KEDA позволяет пользователям автоматически масштабировать приложения в зависимости от фактической рабочей нагрузки.
В статье показано, как KEDA улучшает потребительские характеристики Kafka и общее использование ресурсов.
Читать далее
#туториал
🎉10👍5❤2🥱2🥰1
💪💪 Перенос FreeIPA из LXC-контейнера CentOS 7 в Rocky Linux, дебаг и истекшие сертификаты
Рассказ про обновление старой FreeIPA, которая была установлена в LXC-контейнере на CentOS 7 и находилась в нерабочем состоянии уже несколько месяцев. Для старта был только бекап LXC-контейнера для Proxmox.
Изначально план был такой:
👉 Восстановить работоспособность системы.
👉 Обновить сертификаты.
👉 Сделать бэкап.
👉 Перенести бэкап на новую обновляемую систему: Fedora или Rocky Linux — поскольку поддержка CentOS уже прекращена.
Продолжение здесь
#туториал
Рассказ про обновление старой FreeIPA, которая была установлена в LXC-контейнере на CentOS 7 и находилась в нерабочем состоянии уже несколько месяцев. Для старта был только бекап LXC-контейнера для Proxmox.
Изначально план был такой:
👉 Восстановить работоспособность системы.
👉 Обновить сертификаты.
👉 Сделать бэкап.
👉 Перенести бэкап на новую обновляемую систему: Fedora или Rocky Linux — поскольку поддержка CentOS уже прекращена.
Продолжение здесь
#туториал
👍3❤2🔥2
💪💪 Как мы ускорили автоустановку ОС в четыре раза
Познавательный туториал по настройке внешней системы, которая запускает управляющий скрипт, размечает диски, генерирует стартовые конфиги, устанавливает bootloader и т. д. Плюс — реализация автоматической сборки и тестирования базового образа.
Продолжение тут
#туториал
Познавательный туториал по настройке внешней системы, которая запускает управляющий скрипт, размечает диски, генерирует стартовые конфиги, устанавливает bootloader и т. д. Плюс — реализация автоматической сборки и тестирования базового образа.
Продолжение тут
#туториал
❤3😁3
🔧🔧 Руководство по Rolling Update Deployment Strategy
В состав Kubernetes входят различные стратегии развертывания, каждая из которых предназначена для удовлетворения всевозможных операционных потребностей и минимизации потенциальных сбоев, чтобы гарантировать устойчивость и доступность приложений даже во время обновлений
Продолжение тут
#туториал
В состав Kubernetes входят различные стратегии развертывания, каждая из которых предназначена для удовлетворения всевозможных операционных потребностей и минимизации потенциальных сбоев, чтобы гарантировать устойчивость и доступность приложений даже во время обновлений
Продолжение тут
#туториал
❤3👍1
🎢🎢 Запросы и лимиты в Kubernetes: разбираемся в деталях
В статье рассказано, как в Kubernetes организована работа с запросами и лимитами, как они используются для управления ресурсами. В любой организации чрезвычайно важно управление ресурсами в Kubernetes и роль такого управления. Рассматривается управление ресурсами в Kubernetes с азов.
Подробности тут
#туториал
В статье рассказано, как в Kubernetes организована работа с запросами и лимитами, как они используются для управления ресурсами. В любой организации чрезвычайно важно управление ресурсами в Kubernetes и роль такого управления. Рассматривается управление ресурсами в Kubernetes с азов.
Подробности тут
#туториал
👍4🔥1
💪💪 asyncio: We Did It Wrong
Серия статей по асинхронному программированию от Staff инженера Spotify. Под капотом 8 частей покрывающий практически все вопросы по asyncio возникающие у разработчика:
Part 0: Initial Setup
Part 1: True Concurrency
Part 2: Graceful Shutdowns
Part 3: Exception Handling
Part 4: Working with Synchronous & Threaded Code
Part 5: Testing asyncio Code
Part 6: Debugging asyncio Code
Part 7: Profiling asyncio Code
Все вот тут
#туториал
Серия статей по асинхронному программированию от Staff инженера Spotify. Под капотом 8 частей покрывающий практически все вопросы по asyncio возникающие у разработчика:
Part 0: Initial Setup
Part 1: True Concurrency
Part 2: Graceful Shutdowns
Part 3: Exception Handling
Part 4: Working with Synchronous & Threaded Code
Part 5: Testing asyncio Code
Part 6: Debugging asyncio Code
Part 7: Profiling asyncio Code
Все вот тут
#туториал
❤5👍2
💪💪 Управляем 100к кластерами Kubernetes с помощью Cluster API
В статье показан путь к достижению полной автоматизации в области подготовки кластеров, управления жизненным циклом и обновлений. Автор благодаря новому набору инструментов сократил время, необходимое для развертывания и подготовки кластера, готового к работе, с 1,5 недель до менее чем 1 дня.
Подробности тут
#туториал
В статье показан путь к достижению полной автоматизации в области подготовки кластеров, управления жизненным циклом и обновлений. Автор благодаря новому набору инструментов сократил время, необходимое для развертывания и подготовки кластера, готового к работе, с 1,5 недель до менее чем 1 дня.
Подробности тут
#туториал
👍3❤1🎉1
🧐🧐 Kubernetes Events
События генерируются различными компонентами Kubernetes, такими как планировщик, kubelet, контроллеры и т. д., для сбора информации, относящейся к нодам, подам и другим ресурсам.
События будут иметь запись о состоянии, если пода запланирована, контейнер выходит из строя или ноде не хватает места на диске.
Продолжение тут
#туториал
События генерируются различными компонентами Kubernetes, такими как планировщик, kubelet, контроллеры и т. д., для сбора информации, относящейся к нодам, подам и другим ресурсам.
События будут иметь запись о состоянии, если пода запланирована, контейнер выходит из строя или ноде не хватает места на диске.
Продолжение тут
#туториал
❤1👍1
🕸️🕸️ Сетевые плагины (CNI) в Kubernetes
CNI или Container Network Interface — это спецификация, разработанная CNCF (Cloud Native Computing Foundation) для стандартизации процесса подключения сетевых интерфейсов к контейнерам. CNI обеспечивает гибкость и адаптивность сетевой инфраструктуры, позволяя интегрировать различные сетевые решения в Kubernetes.
CNI применяется для настройки оверлейных и андерлейных сетей:
👉 Оверлейными сетями, называют сетевой трафик, который инкапсулируется с помощью виртуального интерфейса, такого как виртуальная расширяемая локальная сеть VXLAN.
👉 Андерлейные сети работают на физическом уровне, состоят из коммутаторов и маршрутизаторов.
Продолжение тут
#туториал
CNI или Container Network Interface — это спецификация, разработанная CNCF (Cloud Native Computing Foundation) для стандартизации процесса подключения сетевых интерфейсов к контейнерам. CNI обеспечивает гибкость и адаптивность сетевой инфраструктуры, позволяя интегрировать различные сетевые решения в Kubernetes.
CNI применяется для настройки оверлейных и андерлейных сетей:
👉 Оверлейными сетями, называют сетевой трафик, который инкапсулируется с помощью виртуального интерфейса, такого как виртуальная расширяемая локальная сеть VXLAN.
👉 Андерлейные сети работают на физическом уровне, состоят из коммутаторов и маршрутизаторов.
Продолжение тут
#туториал
❤2
🛡️🛡️ Безопасность Multi-Cluster ArgoCD
В ArgoCD уже есть возможность добавлять удаленный кластер для управления, но есть критическая проблема с тем, как ArgoCD это делает. Он использует ServiceAccount и связанный с ней токен для аутентификации в удаленном кластере.
Токены Service Account никогда не предназначались для использования за пределами кластера. Начиная с версии 1.24, стандартом является создание токена, срок действия которого истек, но это означает, что у вас должна быть стратегия ротации, и если вы потеряете этот токен, нет способа его аннулировать.
Продолжение тут
#туториал
В ArgoCD уже есть возможность добавлять удаленный кластер для управления, но есть критическая проблема с тем, как ArgoCD это делает. Он использует ServiceAccount и связанный с ней токен для аутентификации в удаленном кластере.
Токены Service Account никогда не предназначались для использования за пределами кластера. Начиная с версии 1.24, стандартом является создание токена, срок действия которого истек, но это означает, что у вас должна быть стратегия ротации, и если вы потеряете этот токен, нет способа его аннулировать.
Продолжение тут
#туториал
❤3
🚶🚶 Multi-Stage Docker Builds
Начиная с версии 17.5 Docker стал поддерживать multi-stage builds. Этот метод помог разделить сложные технические сборки на несколько этапов, каждый из которых выполняет определённую задачу. Благодаря этому важному обновлению стало легче уменьшать поверхность атаки и размер образов, а также эффективнее использовать кэш Docker.
В статье вы найдете рекомендации по подбору базового образа для каждого этапа сборки и оптимизации порядка этапов.
#туториал
Начиная с версии 17.5 Docker стал поддерживать multi-stage builds. Этот метод помог разделить сложные технические сборки на несколько этапов, каждый из которых выполняет определённую задачу. Благодаря этому важному обновлению стало легче уменьшать поверхность атаки и размер образов, а также эффективнее использовать кэш Docker.
В статье вы найдете рекомендации по подбору базового образа для каждого этапа сборки и оптимизации порядка этапов.
#туториал
👍4❤2