ITTales :(){ :|:& };:

@ittales


Этот чудесный мир IT

Contact: @kvaps

ITTales :(){ :|:& };:

22 Oct, 18:30


https://habr.com/ru/articles/852536/

ITTales :(){ :|:& };:

10 Oct, 20:14


Злободневное

ITTales :(){ :|:& };:

13 Aug, 11:07


Вышел релиз v0.11 Open Source-платформы Cozystack: S3, улучшенная изоляция тенантов, UI и другие фичи

Релиз Cozystack v0.11 уже доступен для скачивания, установки или обновления текущих инсталяций.

Основные изменения:

Добавлена поддержка S3. Подготовлена базовая реализация SeaweedFS в Cozystack. Написан Kubernetes-COSI-драйвер автоматического заказа S3-бакетов. В чарт SeaweedFS добавлена поддержка автоматического ресайза томов.
Сетевая изоляция между тенантами. Произведена большая работа по улучшению сетевой изоляции между тенантами, исправлены баги, полностью переработаны сетевые политики.
Обновление UI. Заменены все иконки сервисов. Дашборд переработан так, чтобы выводить только необходимую информацию в ResourceView. Теперь есть возможность указать конкретные htcehcs для показа посредством перечисления их в специальной роли <name>-dashboard-resources. На данный момент подобная информация уже выводится для приложений Kubernetes, Postgres, Monitoring и S3-bucket.
— В документации добавлен раздел Development Guide и обновлена инструкция по установке в Hetzner
— Cilium обновлен до версии v1.16, эта версия включает наш патч для автоматического детекта devices.
— Решена проблема со сборщиком мусора в tenant Kubernetes-кластерах.
— Решена проблема с пробросом HTTP- и HTTPS-трафика с помощью ingress в tenant Kubernetes-кластера.
— Добавлены snapshot-controller и object-storage-controller.
— LINSTOR обновлен до версии v1.28.
— Предоставляемый платформой образ Talos Linux с необходимыми драйверами обновлен до версии v1.7.6
— Kube-OVN переведен на сборку из стабильной базы.
— Переработана логика подстановки image digests в values, оригинальные чарты теперь меньше модифицируются.
— Улучшение DX: Переработана логика подстановки image digests в values, оригинальные чарты теперь меньше модифицируются при обновлении.

Присоединяйтесь к нашему комьюнити:
👉 Cozystack

ITTales :(){ :|:& };:

09 Aug, 16:45


В эту пятницу в 20:00 (по мск)

Live: Kubernetes 1.30. Безопасность и нововведения с Georg Gaal @gecube и Aleksey Fedulaev @int0x80h

Прямая трансляция:
с ответами на вопросы из чата YouTube

Здесь тоже будет стрим)

При поддержке:
@kubernetes_ru
@itstand_org
@devops_nn
@devopsforlove

🔥IT STAND | FIDELINA.RU | Бот

ITTales :(){ :|:& };:

09 Aug, 09:03


Как же я кайфую от buildx. Недавно писал как можно билдить на удалённой машине через SSH.
А есть вариант и покруче - билдить прямо в кубе:

docker buildx create \
--bootstrap \
--name=buildkit \
--driver=kubernetes \
--driver-opt=namespace=tenant-kvaps,replicas=2 \
--platform=linux/amd64 \
--platform=linux/arm64 \
--use


Уже и не вижу особой необходимости в kaniko

ITTales :(){ :|:& };:

08 Aug, 11:39


Крутейший способ установки Proxmox официальным установщиком в Hetzner.

Если в кратце в rescue поднимается виртуалка, в неё прокидываются основные девайсы и vnc, через который можно накатить proxmox прямо в графическом режиме.

https://gist.github.com/gushmazuko/9208438b7be6ac4e6476529385047bbb

ITTales :(){ :|:& };:

08 Aug, 08:41


Наши клиенты опубликовали статью на Хабр об их опыте использования Cozystack:

https://habr.com/ru/companies/aenix/articles/834682/

ITTales :(){ :|:& };:

31 Jul, 21:42


Мы рады представить новый COSI-драйвер для SeaweedFS.

COSI - это унифицированный Container Object Storage Interface для Kubenretes.
Он вводит новые сущности, такие как BucketClaim, Bucket и BucketAccess для декларированного провиженинка S3-бакетов и управления доступа к ним по принципу PVC.

Мы работаем над добавлением поддержки S3-бакетов в Cozystack, и этот драйвер позволит вам автоматически заказывать бакеты прямо из Kubernetes.

Это ещё один проект который мы разработали в open-source и теперь дарим сообществу SeaweedFS.
Проект уже перемещён под крыло организации, а официальный чарт SeaweedFS расширен для добавления поддержки COSI

https://github.com/seaweedfs/seaweedfs-cosi-driver/

ITTales :(){ :|:& };:

31 Jul, 12:33


https://habr.com/ru/companies/aenix/articles/832820/

ITTales :(){ :|:& };:

30 Jul, 16:02


Сегодня был интересный кейс с настройкой registry mirroring в Harbor.
Harbor позволяет сделать прокси-репозиторий для популярных сервисов вроде docker.io, ghcr.io, quay.io и gcr.io

Проблема заключается в том, что они могут быть настроены только как отдельный проект, то есть чтобы спулить алпайн с ghcr.io через ваш harbor, вмeсто:
docker pull ghcr.io/linuxcontainers/alpine:latest

вам придётся делать:
docker pull myharbor.org/ghcr-proxy/linuxcontainers/alpine:latest


То есть path у имаджей меняется, и вы не сможете указать myharbor.org в конфигурации для registry mirrors в докере, которая выглядит следующим образом и не принимает настройки для изменённого path:
{
"registry-mirrors": ["https://myharbor.org"]
}


Решение довольно простое - это настроить оверрайды в nginx, чтобы при пуле с определённого поддомена:
docker pull ghcr-proxy-myharbor.org/linuxcontainers/alpine:latest

пулинг имаджа в действительности происходил с myharbor.org/ghcr-proxy/linuxcontainers/alpine:latest

таким образом можно настроить сразу несколько registry mirrors на разные проекты в Harbor:
{
"registry-mirrors": ["https://ghcr-proxy-myharbor.org", "https://docker-proxy-myharbor.org"]
}

и имаджи будут пулиться через них автоматически в прозрачном режиме, даже если вы запукаете:
docker pull ghcr.io/linuxcontainers/alpine:latest

первая попытка спулить имадж пойдёт через кэширующий Harbor

—-

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

Собственно у меня без проблем заработала следующая конфигурация:
https://github.com/goharbor/harbor/issues/8082#issuecomment-2258660093

ITTales :(){ :|:& };:

27 Jul, 20:15


Смотрите что тут на Википедии вычитал. Опенсорсное пиво. И кола распространяющаяся под GPL 🍻

- https://ru.m.wikipedia.org/wiki/Vores_%C3%98l
- https://ru.m.wikipedia.org/wiki/OpenCola

ITTales :(){ :|:& };:

26 Jul, 12:21


Ещё одна проблема с которой сегодня столкнулся и для которой понадобился экстренный фикс - это если /var/lib/kubelet и /var/lib/containerd находятся на разных разделах, то в Kubernetes не работает нормально garbage collection.

Ситуация маслом на полотне:
/var/lib/containerd переполнен, а кубелет смотрит себе под ноги в /var/lib/kubelet и говорит что всё нормально: "ещё целых 95% свободного места".
При этом поды запуститься не могут из-за того что не могут спулить новый image. Пришлось повозитсья с bind mounts чтобы вынести их на общий раздел.

ITTales :(){ :|:& };:

26 Jul, 12:16


В общем за последнее время решал несколько интересных задач связанных с nginx-ingress. Основная проблема была связанны с пробросом трафика из management-кластера в пользовательские. Так как и там и там используется ingress-nginx, пробрасывать нужно достаточно хитро 80 порт в 80, а 443 в 443.

Сюрприз ванильный nginx-ingress так не умеет. Можно создать ресурс Ingress с одинаковыми правилами для разных портов но трафик всё-равно польётся только на один из них.
В общем после глубокого курения исходников, решение было найдено:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/backend-protocol: AUTO_HTTP
nginx.ingress.kubernetes.io/configuration-snippet: |
if ($scheme = http) {
set $proxy_upstream_name "mynamespace-myservice-80";
set $proxy_host $proxy_upstream_name;
set $service_port 80;
}
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "false"
labels:
app.kubernetes.io/managed-by: Helm
name: myservice
namespace: mynamespace
spec:
ingressClassName: mynamespace
rules:
- host: example.org
http:
paths:
- backend:
service:
name: myservice
port:
number: 443
path: /
pathType: ImplementationSpecific
- backend:
service:
name: myservice
port:
number: 80
path: /
pathType: ImplementationSpecific


костыль-не костыль а работает

ITTales :(){ :|:& };:

26 Jul, 12:12


Вышел релиз v0.10 Open Source-платформы Cozystack: сетевая изоляция для тенантов, NATS, FerretDB, etcd-operator 0.4.0 и другие фичи

Релиз Cozystack v0.10.1 уже доступен для скачивания, установки или обновления текущих инсталяций инсталляции.

Основные изменения:
Добавлен FerretDB
Добавлен NATS в базовой конфигурации
В настройки tenant добавлена опция isolated: <true|false>, включающая сетевую изоляцию между тенантами
В настройки ingress добавлена опция dashboard: <true|false>, включающая доступ к дашборду Cozystack через ingress-controller
В настройки ingress добавлена опция whitelist, позволяющая указать сети, с которых разрешён доступ
В настройки ingress добавлена опция cloudflareProxy, позволяющая восстановить реальный IP-адрес клиента при проксировании через CloudFlare
Логотипы в дашборде теперь встроены напрямую в платформу, что не требует их загрузки с внешних серверов
Postgres: добавлен обработчик для автоматической установки корректных привилегий при создании схем
etcd-operator обновлён до версии v0.4 и теперь поддерживает онлайн изменение размера томов и включает podDisruptionBudget
ingress-nginx-controller обновлён до версии v1.11
Улучшена логика проброса пользовательского трафика в тенант кластера, теперь http и https трафик обрабатывается отдельно, каждый в своем порту
В ingress исправлен сбор метрик, дашборд теперь отображает подробные данные по пользовательским запросам и метрики

Кроме того, мы обновили etcd-оператор до версии 0.4.0 (он тоже включен в состав платформы):

- Добавлена возможность онлайн изменения размера томов
- Произведён рефакторинг кода, большая часть функций заменена на встроенные функции из библиотеки k8s
- Параметры, передаваемые пользователем для etcd, теперь сортируются для обеспечения детерминированного результата

Отдельное спасибо ребятам из нашего комьюнити, которые отправили немало PR'ов: mrkhachaturov, lllamnyp, makhov
Присоединяйтесь к нашим комьюнити:
👉 Cozystack
👉 etcd-operator

ITTales :(){ :|:& };:

21 Jul, 15:08


A corrective update for Cozystack v0.9.1 has been released

- Fixed an issue with the kubevirt-capi-provider not starting for provisioning tenant Kubernetes clusters
- Detailed dashboards for nginx-ingress-controller are now working

ITTales :(){ :|:& };:

19 Jul, 07:34


Recording from Talos Linux Install Fest

Andrei Kvapil showed how to install Cozystack on Talos Linux, told about Cozystack troubleshooting and answered audience questions.

https://www.youtube.com/watch?v=s79VqXu-eG4

ITTales :(){ :|:& };:

18 Jul, 12:51


всем привет пора сделать анонос потому что оно готово
мы сделали VictoriaLogs стоадж для хранения логов и основная цель будет сбор логов у к8s
на данный момент продукт уже готов и отлично себя показывает (ресурсов не жрет, жмет очень сильно)
https://docs.victoriametrics.com/victorialogs/
из фичей - куча протокол для поддержки (включая сислог нативный, промтеил (и все вариации этого имени), еслистика, примеры как присать через стандартные лош шиперы)
есть виализация в графае и свой UI + qiery langues, который позволяет впринципе делать с логами все что вы хотите (фильтрация аналитика slide/dice)
планиурем выпустить кластер и официально заявить что все продаклен реди к kubecon na
роадмап тут - https://docs.victoriametrics.com/victorialogs/roadmap/
из важного что будет - кластер поддержка s3, алертинг и оператор (сейчас только хельм чарт есть)
буду рад фидбеку

код тут - https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/app/victoria-logs (монорепа для vm и vl)

ITTales :(){ :|:& };:

14 Jul, 07:34


🛠 Proxmox vs FreeBSD: Which Virtualization Host Performs Better? Сравнительные тесты Proxmox и Bhyve...

https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-virtualization-host-performs-better/#conclusion

#virtualization #proxmox #bhyve

ITTales :(){ :|:& };:

10 Jul, 20:11


Кстати, кому интересно, я тут небольшой опрос по Seaweedfs замутил

https://t.me/Seaweedfs/10251
https://t.me/Seaweedfs/10252