ITTales :(){ :|:& };: @ittales Channel on Telegram

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

@ittales


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

Contact: @kvaps

IT Tales (Russian)

Добро пожаловать в мир IT! Если вы увлекаетесь информационными технологиями, то канал IT Tales - это именно то, что вам нужно. Здесь вы найдете увлекательные истории, интересные факты, новости из мира высоких технологий и многое другое. Администраторы канала постараются сделать ваше погружение в мир IT максимально интересным и познавательным. Контактный администратор канала @kvaps всегда готов ответить на ваши вопросы и принять ваши предложения. Присоединяйтесь к нам и узнавайте обо всем первыми! IT Tales - это не просто канал, это целый мир возможностей и новых открытий в области информационных технологий.

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

13 Jan, 07:17


Отличный разбор почему игрушки на CRT мониторах выглядели иначе
https://hackaday.com/2024/10/11/are-crt-tvs-important-for-retro-gaming/

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

21 Dec, 22:06


Сегодня официально выпустили новую версию Kubernetes — 1.32. Среди главных нововведений — возможность задавать ресурсы на уровне пода, асинхронное вытеснение подов планировщиком, нулевое ожидание (sleep) для PreStop-хуков, новые эндпоинты /statusz и /flagz для ключевых компонентов K8s, более гранулярная авторизация для API kubelet’а, внешнее управление ключами сервисных учётных записей и специальная функция, с помощью которой плагины смогут подсказывать планировщику, когда стоит повторить попытку планирования.


Kubernetes 1.32: возможность задавать ресурсы на уровне пода и асинхронное вытеснение подов планировщиком
https://habr.com/ru/companies/flant/articles/864988/

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

21 Dec, 22:01


Героев Меча и Магии III в браузере
Наконец то мы с @caiiiycuk (проект Dos.Zone) готовы с радостью представить долгожданных браузерных Героев Меча и Магии 3 о которых я рассказывал последний месяц.

Особенности проекта:
- Кроссплатформенность и поддержка практически любых браузеров и устройств. Windows, MacOS, Linux, Android, iOS
- Никакой рекламы, донатов, регистраций, смс и прочей неприкольной фигни!
- Сохранение и загрузка прогресса. Доступны сохранения как локально, так и в кэш браузера. Также работает автосейв
- Оригинальные кампании включающие Возрождение Эрафии, а также дополнения Клинок Армагеддона и Дыхание Смерти
- Более 160 кастомных сценариев
- Генератор карт
- Кроссплатформенный мультиплеер для пользователей порта VCMI. К сожалению в браузере нельзя создавать свои игры в лобби, но можно подключится к уже созданным пользователями полноценного ПК клиента VCMI
- Высокие разрешения экрана (автоматическое определение разрешения вашего устройства при запуске игры. Если запускать игру в горизонтальном или вертикальном положении устройства, то разрешение определится по разному.

Как это работает, авторские права и давайте уже играть!

Мы живем в мире где нарушение практически любых авторских прав грозит очень тяжелыми последствиями. Стали ли мы их нарушать? Ну конечно же нет! Ведь наш проект всего лишь Инструмент для запуска героев в браузере. И вот как это работает:

Вы можете указать путь к ресурсам оригинальной игры (Heroes 3 Complete Edition) на вашем устройстве. Также в свободном доступе можно скачать пак с этими ресурсами на archive.org, занимают они 200мб

Можете указать URL с ресурсами игры. Для удобства кто то из читателей наверное может даже сделать ссылку сам

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

А теперь давайте уже поиграем:
Способы запуска

Заходите на https://homm3.zip/ и воспользуйтесь инструкцией описанной выше

Воспользуйтесь готовой для полноценной игры url Ссылкой №1 взятой из свободных источников

Или воспользуйтесь готовой для полноценной игры url Ссылкой №2 опять же взятой из свободных источников

После загрузке данных нажимаем кнопку Запустить игру.
Вы великолепны! И теперь можете поиграть в Героев Меча и Магии 3 практически на любом устройстве в браузере!

Из замеченных нами багов, которые мы не устранили
- Может некорректно работать при запуске непосредственно из браузера Telegram (не на всех устройствах, у меня работает к примеру)
- игра виснет если в самой игре нажать кнопку Полноэкранный режим. Для полноэкранного режима мы сделали альтернативу в браузере в правом верхнем углу

- если зависло на стадии загрузки просто обновите страницу

- могут быть сбои из за наплыва пользователей на наш сервер, это временно

Наша команда и благодарность за помощь в разработке:

Команда:

@caiiiycuk - главный разработчик VCMI в браузере

@Carter54 - идея, философия, тестирование и информационная поддержка

@AlexSnowLeo - тестирование

Особая благодарность:
VCMI Community
Моему комьюнити на Пикабу и канале Пятьдесят Четвертый
Моей прекрасной жена за поддержку и тестирование

Привет for Anna Ti Mofeeva от нашего секретного помощника

Коротко в двух строчках о планах на будущее:

In the Wake of Gods

Horn of the Abyss

Всем спасибо за внимание! Играйте, делитесь, распространяйте и получайте удовольствие от любимой игры!

Поддержать и поблагодарить нашего главного разработчика можно здесь
А для меня самая главная благодарность Ваше внимание и подписка на мой уютный канал

Наиболее полная статья о нашем порте Героев 3 доступна здесь

ДЛЯ СМИ! УКАЗЫВАЙТЕ ПЕРВОИСТОЧНИК - 🔥 КАНАЛ ПЯТЬДЕСЯТ ЧЕТВЕРТЫЙ 🔥

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

20 Dec, 19:09


https://db-engines.com/en/ranking

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

20 Dec, 18:29


https://youtu.be/A4KDX-VxLU4

Доклад про проект COSI от разработчиков Talos Linux. По сути это доклад о том как ребята придумали Talos.

Ведь изначальная идея была про создание общей API-driven OS с Kubernetes-подобным API. А Talos - это всего-лишь одна из возможных имплементаций COSI в виде Kubernetes-specific дистрибутива.

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

06 Dec, 18:51


чем левее, тем больше гемора

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

01 Dec, 21:08


Еще про проклятые фичи баша

https://yossarian.net/til/post/some-surprising-code-execution-sources-in-bash

tl;dr: вот эта функция на баше при передаче «правильного» аргумента может привести к выполнению произвольного кода:
function guess() {
num="${1}"
if [[ "${num}" -eq 42 ]]
then
echo "Correct"
else
echo "Wrong"
fi
}


Мораль проста: не пишите на баше не передавайте в bash-скрипты недоверенные данные

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

01 Dec, 21:03


Распробовал на днях утилиту sq. Если jq - это инструмент для выборки и красивой визуализации данных из джейсонок, то sq - это все тоже самое (и даже чуть больше), но для баз данных. Выглядит прикольно, использовать (после jq) достаточно интуитивно, есть прикольные плюшки (например, просмотр диффа двух таблиц), умеет импортировать/экспортивароть данные. И, естественно, это опенсорсный проект. В общем, мне понравлось настолько, что не стыдно и вам показать https://sq.io/

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

27 Nov, 10:14


Запись моего доклада с CodeTalks.kz
https://youtu.be/fiRi8WuTh3E

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

26 Nov, 11:38


@kvaps тут отсыпал базы в блоге Kubernetes и рассказал про Aggregation API Layer и реализацию api-server на его основе в Cozystack https://kubernetes.io/blog/2024/11/21/dynamic-kubernetes-api-server-for-cozystack/

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

26 Nov, 11:38


Теперь на русском
https://habr.com/ru/companies/aenix/articles/832824/

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

25 Nov, 20:19


Мы обновили плагин kubectl-node-shell v1.11.0

- Добавились опции --no-mount, --no-net, --no-ipc, --no-uts для отключения автоматического входа в указанные linux-неймспейсы
- Добавилась переменная KUBECTL_NODE_SHELL_IMAGE_PULL_SECRET_NAME для указания pullSecret для пуллинга образа
- Добавилась возможность подключения томов с помощью опции -m, подключённые тома могут быть найдены в директории /opt-pvc

Большое спасибо @jmcshane, @huandu и @bernardgut, которые добавили эти замечательные функции в новую версию плагина

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

19 Nov, 09:20


Visor предоставляет набор утилит для удобного анализа и визуализации сетевого трафика.

https://github.com/wildberries-tech/pkt-tracer

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

02 Nov, 08:07


https://habr.com/ru/companies/yandex/articles/854506/

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

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

10 Jul, 20:00


Мы рады представить наш новый проект etcd-await-election, который позволяет выполнять leader-election на нескольких нодах с помощью распределённого хранилища etcd.
Проект идеологически продолжает идею k8s-await-election, гарантируя эксклюзивный запуск пользовательского процесса, только после проведения выборов.
В отличие от него он не требует наличия Kubernetes и работает напрямую с etcd.

Поддерживается SSL, быстрое восстановление при перезапуске, перехват лока в приоритетном режиме и контроль выполнения процесса.
Если лок по какой-то причине был потерян, пользовательский процесс незамедлительно будет остановлен.

https://github.com/aenix-io/etcd-await-election