Forwarded from opennet.ru
Опубликован выпуск SDS Vitastor 1.5.0 с поддержкой кластерной ФС https://opennet.ru/60835/
www.opennet.ru
Опубликован выпуск SDS Vitastor 1.5.0 с поддержкой кластерной ФС
Опубликован выпуск 1.5.0 программной системы хранения данных Vitastor с поддержкой кластерной файловой системы (VitastorFS). Vitastor - распределённая блочная программная система хранения данных, то есть, хранилище образов виртуальных машин или томов контейнеров…
👍5
Отличное объяснение того как работает теория игр и какая стратегия является выигрышной
https://youtu.be/o-lFK7nZIKE
https://youtu.be/o-lFK7nZIKE
YouTube
Теория игр: жизнь, Вселенная и всё остальное [Veritasium]
Поддержать проект можно по ссылкам:
Если вы в России: https://boosty.to/vertdider
Если вы не в России: https://www.patreon.com/VertDider
Дилемма заключённого — известная задача в теории игр. Самая выигрышная стратегия в ней — предательство. Но что если эту…
Если вы в России: https://boosty.to/vertdider
Если вы не в России: https://www.patreon.com/VertDider
Дилемма заключённого — известная задача в теории игр. Самая выигрышная стратегия в ней — предательство. Но что если эту…
👍2
Забавная история произошла с этой картинкой. Я нарисовал её и запостил в @kubernetes_ru лет 5 назад, и тут она снова всплывает в одном из чатов, который мы создали для разработки свободного @etcd_operator'а.
Судя по jpeg артефактам она обошла пол интернета и сейчас вернулась обратно ко мне :D
Судя по jpeg артефактам она обошла пол интернета и сейчас вернулась обратно ко мне :D
👍17
Коллеги из Deckhouse приняли решение переписать LINSTOR на go:
Установку модуля выполняет Deckhouse. В целом контроллер и CRD можно установить и самостоятельно, но мы такое не поддерживаем на данный момент.
Код открыт: https://github.com/deckhouse/sds-replicated-volume
Будем рады обратной связи и поддержке :)
GitHub
GitHub - deckhouse/sds-replicated-volume
Contribute to deckhouse/sds-replicated-volume development by creating an account on GitHub.
❤3😱2
Forwarded from 𝚔𝚟𝚊𝚙𝚜
На мите кому-то обещал пошарить солюшен для объединения удаленных нод куба в разных физических локейшенах в одну физическую сеть, я говорил про:
skupper.io и liqo.io
У кого-то был опыт работы с ними?
skupper.io и liqo.io
У кого-то был опыт работы с ними?
Forwarded from Ænix.io
Сегодня в официальном блоге Kubernetes вышла серия публикаций, посвященных тому, как в Cozystack мы реализуем управляемые Kubernetes-кластера, а также обзор всех связанных технологий.
- Kubernetes distro using Talos Linux and FluxCD
- Kubernetes as virtual machines orchestrator.
- Kubernetes-in-Kubernetes with Cluster API and Kamaji
- Kubernetes distro using Talos Linux and FluxCD
- Kubernetes as virtual machines orchestrator.
- Kubernetes-in-Kubernetes with Cluster API and Kamaji
Kubernetes
DIY: Create Your Own Cloud with Kubernetes (Part 1)
At Ænix, we have a deep affection for Kubernetes and dream that all modern technologies will soon start utilizing its remarkable patterns.
Have you ever thought about building your own cloud? I bet you have. But is it possible to do this using only modern…
Have you ever thought about building your own cloud? I bet you have. But is it possible to do this using only modern…
🔥11👍2👎1
Forwarded from Ænix.io
Мы рады представить вторую версию нашего etcd-operator'а
(проект развивается силой комьюнити @kubernetes_ru)
В списке изменений:
- Мы наконец-то стабилизировали спеку EtcdCluster
- Добавлена поддержка SSL, с генерацией сертификатов через cert-manager
- Переработана логика применения пользовательских патчей
- Протестирована возможность работы с Kubernetes
- Добавлены примеры манифестов для Kamaji (Kubernetes control-plane manager)
Присоединяйтесь к разработке: @etcd_operator
https://github.com/aenix-io/etcd-operator/releases/tag/v0.2.0
(проект развивается силой комьюнити @kubernetes_ru)
В списке изменений:
- Мы наконец-то стабилизировали спеку EtcdCluster
- Добавлена поддержка SSL, с генерацией сертификатов через cert-manager
- Переработана логика применения пользовательских патчей
- Протестирована возможность работы с Kubernetes
- Добавлены примеры манифестов для Kamaji (Kubernetes control-plane manager)
Присоединяйтесь к разработке: @etcd_operator
https://github.com/aenix-io/etcd-operator/releases/tag/v0.2.0
GitHub
Release v0.2.0 · aenix-io/etcd-operator
Changes
Add permission contents write to release drafter @hiddenmarten (#192)
Add permission contents write to upload assets job @hiddenmarten (#190)
Add go mod tidy into pre-commit and move nilaw...
Add permission contents write to release drafter @hiddenmarten (#192)
Add permission contents write to upload assets job @hiddenmarten (#190)
Add go mod tidy into pre-commit and move nilaw...
👍4
Forwarded from 𝚔𝚟𝚊𝚙𝚜
В общем, я рад представить новую тулзу для генерации конфигов.
Сделана по образу и подобию Helm, но для Talos Linux.
- Можно делать lookup'ы прямо из Talos API 👾
- Позволяет генерировать патчи, мерджить их, смотреть дифы, получать конфиги
- Расчитана, как на использование с GitOps, т.е. отрендеренные конфиги можно хранить отдельно, либо применять напрямую
- На данный момент реализованы функции:
https://github.com/aenix-io/talm
Сделана по образу и подобию Helm, но для Talos Linux.
- Можно делать lookup'ы прямо из Talos API 👾
- Позволяет генерировать патчи, мерджить их, смотреть дифы, получать конфиги
- Расчитана, как на использование с GitOps, т.е. отрендеренные конфиги можно хранить отдельно, либо применять напрямую
- На данный момент реализованы функции:
init, template, apply и upgradehttps://github.com/aenix-io/talm
GitHub
GitHub - cozystack/talm: Manage Talos Linux the GitOps Way!
Manage Talos Linux the GitOps Way! Contribute to cozystack/talm development by creating an account on GitHub.
🔥15👍2
Forwarded from Ænix.io
Вышла новая версия Talm. Теперь применять конфиги можно просто как с kubectl apply:
talm автоматически распознает опции nodes и endpoints из каждого конкретного файла и применит конфиги куда нужно.
Добавил примеров в README.md, описал как кастомайзить шаблоны и как хранить секреты
Ещё одна фича которая появилась - это in-place обновления конфигов, например такая команда:
- обновит конфиги из тех шаблонов с помощью которых они были получены.
Теперь менеджить Talos стало ещё удобнее 🎉
talm apply -f node1.yaml -f node2.yaml
talm автоматически распознает опции nodes и endpoints из каждого конкретного файла и применит конфиги куда нужно.
Добавил примеров в README.md, описал как кастомайзить шаблоны и как хранить секреты
Ещё одна фича которая появилась - это in-place обновления конфигов, например такая команда:
talm template --in-place -f node1.yaml -f node2.yaml
- обновит конфиги из тех шаблонов с помощью которых они были получены.
Теперь менеджить Talos стало ещё удобнее 🎉
GitHub
GitHub - cozystack/talm: Manage Talos Linux the GitOps Way!
Manage Talos Linux the GitOps Way! Contribute to cozystack/talm development by creating an account on GitHub.
Forwarded from k8s (in)security (r0binak)
Если вам захотелось посмотреть как выглядит ваш
По сути это небольшой
ETCD внутри, то инструмент ETCD Keeper может с этим помочь.По сути это небольшой
web ETCD client с возможностью просматривать, добавлять, обновлять или удалять ноды, а также сами ключи и их значения. Есть поддержка как v2 так и v3 версии.👍5
Forwarded from Ænix.io
Мы рады представить новый релиз Cozystack v0.4.0
Из основных улучшений:
- Helm-чарт kamaji-etcd заменён на aenix's community etcd-operator
- LINSTOR, Kamaji и Kubeapps обновлены до последних версий
- Улучшен development experience, тэги для образов теперь генерируются автоматически
- Ко всем компонентам добавлена возможность указания реплик
- Дашбоард получил небольшой редизайн (включая тёмную версию)
- Платформа теперь предлагает образ Talos Linux v1.7.1 по умолчанию
- Дополнительные фиксы и улучшения
Из основных улучшений:
- Helm-чарт kamaji-etcd заменён на aenix's community etcd-operator
- LINSTOR, Kamaji и Kubeapps обновлены до последних версий
- Улучшен development experience, тэги для образов теперь генерируются автоматически
- Ко всем компонентам добавлена возможность указания реплик
- Дашбоард получил небольшой редизайн (включая тёмную версию)
- Платформа теперь предлагает образ Talos Linux v1.7.1 по умолчанию
- Дополнительные фиксы и улучшения
🔥5👍3
Ænix.io
Мы рады представить новый релиз Cozystack v0.4.0 Из основных улучшений: - Helm-чарт kamaji-etcd заменён на aenix's community etcd-operator - LINSTOR, Kamaji и Kubeapps обновлены до последних версий - Улучшен development experience, тэги для образов теперь…
У нас кстати открытая разработка, если кто-то хочет присоединиться и вместе с нами попилить опенсорс, милости просим в канал @cozystack.
Все научим и покажем, ответим на любые вопросы.
В среду будет очередной мит
Все научим и покажем, ответим на любые вопросы.
В среду будет очередной мит
🔥1
Сегодня игрался с SeaweedFS.
Несколько моментов которые для себя заметил:
1. seaweedfs-operator не выглядит завершённым, занёс PR на настройку вебхуков, вроде завелось, но официальный Helm-чарт похоже сейчас в приоритете.
2. postgres в качестве бекенда, интегрируется с CNPG на раз-два, кластер пошатал вроде всё стабильно
3. есть несколько неочевидных вещей с переменными окружения и параметрами вроле
4. в целом понравилось, в идеологию Cozystack ложится как-раз. Будем запускать отедльный кластер на тенанта и давать возможность создавать бакеты в нём.
5. результат: будем адоптить
Несколько моментов которые для себя заметил:
1. seaweedfs-operator не выглядит завершённым, занёс PR на настройку вебхуков, вроде завелось, но официальный Helm-чарт похоже сейчас в приоритете.
2. postgres в качестве бекенда, интегрируется с CNPG на раз-два, кластер пошатал вроде всё стабильно
3. есть несколько неочевидных вещей с переменными окружения и параметрами вроле
maxVolumes и volumeSizeLimitMB, в документации я объяснений не нашёл, пришлось разбираться на ощупь. Похоже что с SeaweedFS, наилучшая документация - это RTFS4. в целом понравилось, в идеологию Cozystack ложится как-раз. Будем запускать отедльный кластер на тенанта и давать возможность создавать бакеты в нём.
5. результат: будем адоптить
🔥10
Forwarded from Нарыл (Pavel Sorokin)
Есть такая общеизвестная проблема когда делаешь non-root в k8s: контейнерам нужно биндить порты до 1024, что по умолчанию в Linux запрещено.
Лично по-моему само по себе такое ограничение - архитектурная ошибка в Linux, которая привела к куче проблем и сложностей: сервису, например nginx, нужно стартовать от рута, забиндить порт, а потом дропнуть лишние привилегии. Что уже само по себе звучит не безопасно и разумеется приводило к множеству LPE. А профит с точки зрения ИБ крайне сомнительный. Может быть он был когда на одном сервере одновременно крутился важный сайт на 80 порту и еще сидели руками какие-то непривилегированные пользователи, но сейчас это кажется бесполезным чуть более чем полностью (попробуйте меня переубедить :D)
Параметр ядра net.ipv4.ip_unprivileged_port_start позволяет управлять этим поведением в Linux. Если его установить в значение 0, то любому пользователю будет доступен биндинг любых портов. Параметр net.ipv4.ip_unprivileged_port_start относится к сетевому неймспейсу и у каждого контейнера свой.
При внедрении non-root можно добавлять securityContext.sysctls (net.ipv4.ip_unprivileged_port_start=0) в манифесты, но это требует модификации всех манифестов.
И вот я тут обнаружил что есть другой путь - в конфиге containerd есть опция enable_unprivileged_ports, которая устанавливает net.ipv4.ip_unprivileged_port_start в 0 для всех создаваемых контейнеров.
Другими словами можно поменять один параметр на всех нодах и не возиться с манифестами.
Лично по-моему само по себе такое ограничение - архитектурная ошибка в Linux, которая привела к куче проблем и сложностей: сервису, например nginx, нужно стартовать от рута, забиндить порт, а потом дропнуть лишние привилегии. Что уже само по себе звучит не безопасно и разумеется приводило к множеству LPE. А профит с точки зрения ИБ крайне сомнительный. Может быть он был когда на одном сервере одновременно крутился важный сайт на 80 порту и еще сидели руками какие-то непривилегированные пользователи, но сейчас это кажется бесполезным чуть более чем полностью (попробуйте меня переубедить :D)
Параметр ядра net.ipv4.ip_unprivileged_port_start позволяет управлять этим поведением в Linux. Если его установить в значение 0, то любому пользователю будет доступен биндинг любых портов. Параметр net.ipv4.ip_unprivileged_port_start относится к сетевому неймспейсу и у каждого контейнера свой.
При внедрении non-root можно добавлять securityContext.sysctls (net.ipv4.ip_unprivileged_port_start=0) в манифесты, но это требует модификации всех манифестов.
И вот я тут обнаружил что есть другой путь - в конфиге containerd есть опция enable_unprivileged_ports, которая устанавливает net.ipv4.ip_unprivileged_port_start в 0 для всех создаваемых контейнеров.
Другими словами можно поменять один параметр на всех нодах и не возиться с манифестами.
👍27🔥6👀1
Forwarded from opennet.ru
Проект Cozystack выпустил Talm, менеджер конфигураций для Talos Linux https://opennet.ru/61223/
www.opennet.ru
Проект Cozystack выпустил Talm, менеджер конфигураций для Talos Linux
Разработчики свободной PaaS-платформы Cozystack подготовили проект Talm, призванный упростить конфигурацию bare-metal серверов для Talos Linux, операционной системы для запуска Kubernetes, которая имеет Kubernetes-подобное API и настраивается одним Yaml-манифестом.…
👍4🔥4
Последние несколько дней я потратил на решение проблемы с нерабочим
После углублённого анализа кода BPF-программ как всегда оказалось что проблема не там, а в списке девайсов, на которые Cilium добавляет необходимые обработчики.
По умолчанию Cilium собирает список из девайсов, которые содержат InternalAddress ноды и все для которых указаны global unicast маршруты. Девайс
На данный момент в Cilium есть возможность передать список девайсов явно, но тогда не будет работать автодетект, или использовать автодетект, но тогда не попадает
Для решения этой проблемы подготовил патч, который добавляет в cilium-agent опцию
https://github.com/cilium/cilium/pull/32730#issuecomment-2135982096
externalTrafficPolicy: Сluster в Cozystack.После углублённого анализа кода BPF-программ как всегда оказалось что проблема не там, а в списке девайсов, на которые Cilium добавляет необходимые обработчики.
По умолчанию Cilium собирает список из девайсов, которые содержат InternalAddress ноды и все для которых указаны global unicast маршруты. Девайс
ovn0 в этом списке не фигурирует. Однако kube-ovn использует его как для доставки трафика пода на ноды.На данный момент в Cilium есть возможность передать список девайсов явно, но тогда не будет работать автодетект, или использовать автодетект, но тогда не попадает
ovn0, что автоматически делает`externalTrafficPolicy: Сluster` неработоспособным.Для решения этой проблемы подготовил патч, который добавляет в cilium-agent опцию
--enforce-device-detection которая позволяет использовать автодетекшен в дополнение к указаным в списке девайсам. Теперь нужно этот патч отстоять, если у вас есть подходящая user-story, прокоментируйте этот PR плз:https://github.com/cilium/cilium/pull/32730#issuecomment-2135982096
GitHub
Introduce --enforce-device-detection option by kvaps · Pull Request #32730 · cilium/cilium
Introduce --enforce-device-detection option
Helm chart: enforceDeviceDetection option
Add tests for EnforceDeviceDetection option
Please ensure your pull request adheres to the following guideline...
Helm chart: enforceDeviceDetection option
Add tests for EnforceDeviceDetection option
Please ensure your pull request adheres to the following guideline...
👍9🔥3
Forwarded from Ænix.io
Вышел релиз Cozystack v0.7.0, который стабилизирует работу с пользовательскими Kubernetes-кластерами и работу с сетью:
- Kube-ovn и Cilium обновлены до последних версий
- Решена проблема с коммуникацией подов в тенант Kubernetes кластерах
- Решена проблема с прокидыванием корректных DNS-серверов в пользовательских кластерах
- Решена проблема с некорректной обработкой пользователей и ролей в конфиге Postgres-приложения
- Решены проблемы с неработающим
- Теперь для родительского кластера предлагается использовать домен
- Kube-ovn и Cilium обновлены до последних версий
- Решена проблема с коммуникацией подов в тенант Kubernetes кластерах
- Решена проблема с прокидыванием корректных DNS-серверов в пользовательских кластерах
- Решена проблема с некорректной обработкой пользователей и ролей в конфиге Postgres-приложения
- Решены проблемы с неработающим
externalTrafficPolicy: Сluster- Теперь для родительского кластера предлагается использовать домен
cozy.local, таким образом из tenant Kubernetes кластеров можно достичь сервисы созданные в родительском по single dns name или FQDNGitHub
Release v0.7.0 · cozystack/cozystack
The Cozystack v0.7.0 release stabilizes the operation with tenant Kubernetes clusters and networking:
Kube-ovn and Cilium have been updated to the latest versions
Resolved an issue with pod commun...
Kube-ovn and Cilium have been updated to the latest versions
Resolved an issue with pod commun...
👍6
Talos Linux: вам не нужна операционная система, вам нужен Kubernetes
Спикер: Andrei Kvapil @kvaps - Ænix
Ведущая: @Fidelina_ru
В эту пятницу 31.05 в 20:00 (по мск)
Прямая трансляция: https://clck.ru/3Ay52DС с ответами на вопросы из чата YouTube
При поддержке:
@kubernetes_ru
@itstand_org
@devops_ru
@cozystack
@ru_talos
@devopsforlove
Спикер: Andrei Kvapil @kvaps - Ænix
Ведущая: @Fidelina_ru
В эту пятницу 31.05 в 20:00 (по мск)
Прямая трансляция: https://clck.ru/3Ay52DС с ответами на вопросы из чата YouTube
При поддержке:
@kubernetes_ru
@itstand_org
@devops_ru
@cozystack
@ru_talos
@devopsforlove
🔥10👍4👎1🤮1
Дошли руки поревьювить ПРы в некоторые из моих старых проектов, встречайте новые версии для:
- https://github.com/kvaps/kube-fencing
- https://github.com/kvaps/dnsmasq-controller
Спасибо всем кто делает свой вклад ❤️
- https://github.com/kvaps/kube-fencing
- https://github.com/kvaps/dnsmasq-controller
Спасибо всем кто делает свой вклад ❤️
GitHub
GitHub - kvaps/kube-fencing: Fencing implementation for Kubernetes
Fencing implementation for Kubernetes. Contribute to kvaps/kube-fencing development by creating an account on GitHub.
👍5🔥4❤1