ITTales :(){ :|:& };:
1.36K subscribers
119 photos
15 videos
6 files
514 links
Этот чудесный мир IT

Contact: @kvaps
Download Telegram
Кек, а вы видели официальный репозиторий etcd?

https://github.com/etcd-io/etcd
😁26👍1
Забавная история произошла с этой картинкой. Я нарисовал её и запостил в @kubernetes_ru лет 5 назад, и тут она снова всплывает в одном из чатов, который мы создали для разработки свободного @etcd_operator'а.

Судя по jpeg артефактам она обошла пол интернета и сейчас вернулась обратно ко мне :D
👍17
Коллеги из Deckhouse приняли решение переписать LINSTOR на go:

Установку модуля выполняет Deckhouse. В целом контроллер и CRD можно установить и самостоятельно, но мы такое не поддерживаем на данный момент.

Код открыт: https://github.com/deckhouse/sds-replicated-volume

Будем рады обратной связи и поддержке :)
3😱2
Forwarded from 𝚔𝚟𝚊𝚙𝚜
На мите кому-то обещал пошарить солюшен для объединения удаленных нод куба в разных физических локейшенах в одну физическую сеть, я говорил про:

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
🔥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
👍4
Forwarded from 𝚔𝚟𝚊𝚙𝚜
В общем, я рад представить новую тулзу для генерации конфигов.
Сделана по образу и подобию Helm, но для Talos Linux.

- Можно делать lookup'ы прямо из Talos API 👾
- Позволяет генерировать патчи, мерджить их, смотреть дифы, получать конфиги
- Расчитана, как на использование с GitOps, т.е. отрендеренные конфиги можно хранить отдельно, либо применять напрямую
- На данный момент реализованы функции: init, template, apply и upgrade

https://github.com/aenix-io/talm
🔥15👍2
Forwarded from Ænix.io
Вышла новая версия Talm. Теперь применять конфиги можно просто как с kubectl apply:

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 стало ещё удобнее 🎉
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 по умолчанию
- Дополнительные фиксы и улучшения
🔥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. есть несколько неочевидных вещей с переменными окружения и параметрами вроле maxVolumes и volumeSizeLimitMB, в документации я объяснений не нашёл, пришлось разбираться на ощупь. Похоже что с SeaweedFS, наилучшая документация - это RTFS
4. в целом понравилось, в идеологию 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 для всех создаваемых контейнеров.

Другими словами можно поменять один параметр на всех нодах и не возиться с манифестами.
👍27🔥6👀1
Наглядный пример того, как работает DSR

https://cilium.io/blog/2020/02/18/cilium-17/
👍6
Последние несколько дней я потратил на решение проблемы с нерабочим 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
👍9🔥3
Forwarded from Ænix.io
Вышел релиз Cozystack v0.7.0, который стабилизирует работу с пользовательскими Kubernetes-кластерами и работу с сетью:

- Kube-ovn и Cilium обновлены до последних версий
- Решена проблема с коммуникацией подов в тенант Kubernetes кластерах
- Решена проблема с прокидыванием корректных DNS-серверов в пользовательских кластерах
- Решена проблема с некорректной обработкой пользователей и ролей в конфиге Postgres-приложения
- Решены проблемы с неработающим externalTrafficPolicy: Сluster
- Теперь для родительского кластера предлагается использовать домен cozy.local, таким образом из tenant Kubernetes кластеров можно достичь сервисы созданные в родительском по single dns name или FQDN
👍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
🔥10👍4👎1🤮1
Дошли руки поревьювить ПРы в некоторые из моих старых проектов, встречайте новые версии для:

- https://github.com/kvaps/kube-fencing
- https://github.com/kvaps/dnsmasq-controller

Спасибо всем кто делает свой вклад ❤️
👍5🔥41