...а у нод нет публичных IP, а приложению нужно принимать WebRTC media traffic по UDP/TCP. И с media traffic уже начинается боль: UDP, NAT traversal, TURN, ICE и прочие радости WebRTC
hostNetwork и без виртуалок с NAT/TURN.Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - l7mp/stunner: A Kubernetes media gateway for WebRTC. Contact: info@l7mp.io
A Kubernetes media gateway for WebRTC. Contact: info@l7mp.io - l7mp/stunner
👍4 3❤1 1
Еще один пример XY Problem
В аппку летит кривой реквест (не тот хост, заголовок или еще что-то — неважно).
И вместо того чтобы задаться вопросом
начинается
И это барахло вроде даже работает.
Но проблема никуда не делась. Потом это всплывёт в самом тупорылом месте: на втором домене, в другом окружении, за CDN, после смены балансира, при переезде в другой ingress/controller/платформу.
Не говоря уже о том что часто такое решение сопровождается кривым нечитаемым и неинтуитивным кодом. Не надо так делать — пытайтесь лечить причины, а не симптомы
В аппку летит кривой реквест (не тот хост, заголовок или еще что-то — неважно).
И вместо того чтобы задаться вопросом
почему
начинается
а давайте перепишем код, чтобы он переписывал реквест на правильный
И это барахло вроде даже работает.
Но проблема никуда не делась. Потом это всплывёт в самом тупорылом месте: на втором домене, в другом окружении, за CDN, после смены балансира, при переезде в другой ingress/controller/платформу.
Не говоря уже о том что часто такое решение сопровождается кривым нечитаемым и неинтуитивным кодом. Не надо так делать — пытайтесь лечить причины, а не симптомы
1❤3👍3 2 1
Дашборда правда не нашлось, пришлось сгенерить по шустрому — https://github.com/pashtet04/grafana-dashboards/blob/main/trivy-operator.json
За короткое время были обновлены большая часть инфраструктурных сервисов
CRITICAL
Please open Telegram to view this post
VIEW IN TELEGRAM
16❤5👍5 2🦄1
Полдня на проектирование конфигурации или годы поддержки семи названий одного endpoint.
Разраб! Потрать в следующий раз 2-4-8 часов на проектирование конфигурации и создание единого типизированного конфига.
То, что ты захуярил задачу за несколько часов и забыл о ней, может возбудить только менеджмент. Менеджмент, который ещё не успел поесть говна от решений, сделанных спустя рукава.
А когда начнёт причмокивать — всё равно ничего не поймёт. По истории коммитов найдут последнего, кто менял конфиг, и попросят его «просто быть внимательнее» при изменении семи ключей, лежащих в семи разных местах.
И поверьте это верхушка айсберга, там на темных водах еще элегантнее инженерные решения можно найти.
Разраб! Потрать в следующий раз 2-4-8 часов на проектирование конфигурации и создание единого типизированного конфига.
То, что ты захуярил задачу за несколько часов и забыл о ней, может возбудить только менеджмент. Менеджмент, который ещё не успел поесть говна от решений, сделанных спустя рукава.
А когда начнёт причмокивать — всё равно ничего не поймёт. По истории коммитов найдут последнего, кто менял конфиг, и попросят его «просто быть внимательнее» при изменении семи ключей, лежащих в семи разных местах.
И поверьте это верхушка айсберга, там на темных водах еще элегантнее инженерные решения можно найти.
1❤4👍2 1
Forwarded from DevOps&SRE Library
Luxury Yacht
https://github.com/luxury-yacht/app
Luxury Yacht is a cross-platform GUI desktop app for managing Kubernetes clusters and resources.
https://github.com/luxury-yacht/app
Еще один UI для Kubernetes. Будет где штурвал крутить теперь.
обещают "лучшие логи в вашей жизни"
https://github.com/luxury-yacht/app
обещают "лучшие логи в вашей жизни"
https://github.com/luxury-yacht/app
1 4❤2👍1
Ваши разрабы не хотят разгребать легаси и рефакторить кронтаски в отдельный scheduler с очередью?
У вас есть сотни кронтасок в проде, которые вы хотите таки контролировать в контейнерах?
У вас айсикью выше 70, раз вы все еще не описали каждую строку crontab в отдельном Kubernetes ресурсе (Job/Cronjob)?
тут уже говорили про недостатки крона
Supercronic пытается решить некоторые из них: кронтаски наследуют переменные окружения, выводит логи в stderr, логирует запуски результат выполнения и ошибки, посылает SIGTERM/SIGINT и что-то там еще.
Legacy не убить!
У вас есть сотни кронтасок в проде, которые вы хотите таки контролировать в контейнерах?
У вас айсикью выше 70, раз вы все еще не описали каждую строку crontab в отдельном Kubernetes ресурсе (Job/Cronjob)?
тут уже говорили про недостатки крона
Supercronic пытается решить некоторые из них: кронтаски наследуют переменные окружения, выводит логи в stderr, логирует запуски результат выполнения и ошибки, посылает SIGTERM/SIGINT и что-то там еще.
Supercronic is a crontab-compatible job runner, designed specifically to run in containers.
Legacy не убить!
1❤2👍2🦄2 2
When I was an SRE at LinkedIn, back in 2012, I designed a system that could heal itself and learn from previous incidents. AI capabilities were nowhere near what we have today, and that remained a prototype, but this is now a reality.
These tools do it all: inspect alerts, form hypotheses, query telemetry, correlate recent deployments, and even implement the fix themselves. As much as I love to see it, I have a major concern: we are losing touch with our systems.
"We are losing touch with our systems"
1👍4❤2 2👎1
Helm mapkubeapis Plugin
Оказывается нельзя просто так через helm upgrade обновить
https://helm.sh/docs/topics/kubernetes_apis/
mapkubeapis is a Helm v3 plugin which updates in-place Helm release metadata that contains deprecated or removed Kubernetes APIs to a new
instance with supported Kubernetes APIs
Оказывается нельзя просто так через helm upgrade обновить
apiVersion resources если старая версия API больше не доступна в кластере. Вот плагин который заменит старый API в сохранённом манифесте и создаст новую ревизию Helm-релиза.https://helm.sh/docs/topics/kubernetes_apis/
GitHub
GitHub - helm/helm-mapkubeapis: This is a Helm plugin which map deprecated or removed Kubernetes APIs in a release to supported…
This is a Helm plugin which map deprecated or removed Kubernetes APIs in a release to supported APIs - helm/helm-mapkubeapis
1 3❤2👍1🦄1