Forwarded from Полезняшки от "Разбора Полетов"
The worst thing about Jenkins is that it works (2019)
http://twitchard.github.io/posts/2019-06-21-life-is-too-short-for-jenkins.html
http://twitchard.github.io/posts/2019-06-21-life-is-too-short-for-jenkins.html
twitchard.github.io
Life is Too Short for Jenkins
Richard's software blog
👍2😁2❤1🤔1
CycleState Object
Filter Stage
PreFilter Stage
PostFilter Stage
Binding Cycle
• Запросы ресурсов (Filter plugin)
• Taints и tolerations (Filter plugin)
• Pod preemption (PostFilter plugin)
#kubernetes #kubescheduler
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👨💻2❤1
Прокомментировал основные изменения.
KEP-2395: Removing In-Tree Cloud Provider Code
KEP 1287: In-Place Update of Pod Resources
KEP 753: Sidecar Containers
Stable
• KEP 3299: KMS v2 Improvements OR KMSv2
• KEP 2485: ReadWriteOncePod PersistentVolume Access Mode
• KEP 727: Kubelet Resource Metrics Endpoint
“The Kubelet Summary API is a source of both Resource and Monitoring Metrics. Because of it’s dual purpose, it does a poor job of both.”
Beta
• KEP 2799: Reduction of Secret-based Service Account Tokens
Alpha
• KEP 3866: nftables kube-proxy backend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👨💻2❤1
Forwarded from Golang
Откройте для себя распространенные антишаблоны архитектуры, узнайте, как их избегать и преодолевать "подводные камни" проектирования!
Антипаттерн (англ. anti-pattern) — это распространённый подход к решению класса часто встречающихся проблем, являющийся неэффективным, рискованным или непродуктивным. В отличие от шаблона проектирования, рассмотрение антипаттерна включает в себя как неправильное решение проблемы с его признаками и последствиями, так и выход из ситуации.
В этом проекте собраны ценные сведения, практические советы и примеры из реальных проектов для обучения и помощи в создании лучших программных архитектур и улучшать существующие.
▪Проект
▪Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2👨💻1
Gateway API in Kubernetes with Cilium
Cilium используется сразу в нескольких важных ролях:
☝️ Замена
0️⃣ Container Network Interface (CNI) для взаимодействия Pod’ов в рамках кластера
🔜 Advanced Load Balancing and Layer 2 Network Solutions: для эффективного управления траффиком и построения надежной сетевой инфраструктуры
🍀 Gateway Class Provider for Gateway API: для масштабируемых и универсальных решений роутинга
📍 Gateway API предоставляет новый подход для маршрутизации трафика сервисов в Kubernetes. Появились новые абстракции
ℹ️ Подробнее как Cilium реализует Gateway API можно почитать тут — https://docs.cilium.io/en/stable/network/servicemesh/gateway-api/gateway-api/
#cilium
Cilium используется сразу в нескольких важных ролях:
kube-proxy с использованием eBPF для улучшения производительности и безопасностиGatewayClass, Gateway, HTTPRoute, TCPRoute и другие. Это похоже на обновленную, более сложную версию Ingress, предлагающую более широкий спектр функций и более совершенный пользовательский интерфейс в управлении сетью сервисов Kubernetes.#cilium
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2🔥2
CNCF: Observability Whitepaper
🤩 В документе представлена разница между сигналами мониторинга и способами их обработки. Также перечислены различные методы, которые компании успешно использовали для решения распространенных проблем. Документ также представляет несколько инструментов, которые относятся к области
✅ Необходимо помнить, что
1️⃣ Метрики: в CNCF две популярные модели данных — Prometheus и OpenTelemetry. Стоит обратить внимание на раздел Metric Cardinality: слишком подробные метрики могут привести к непредсказуемому росту метрик и размера данных используемых для их хранения.
2️⃣ Логи можно преобразовать в метрики и трассировки для наблюдения изменений в течение времени. Логи также нужно визуализировать и анализировать. Не храните персональные данные и сенситивную информацию в хранилище логов.
3️⃣ Трейсы: OpenTelemetry или .NET используют W3C в качестве стандартного формата распространения. По этому пути идут все больше облачных провайдеров, и при отсутствии других задач рекомендуется использовать стандарт W3C.
4️⃣ Профилирование: текущие инструменты становятся все более популярными в облачных средах; они добавляют небольшие накладные расходы, что делает профилирование на
5️⃣ Дампы: в Linux kernel 2.6+ появился новый метод работы с дампами ядра — так называемые обработчики дампов ядра. Другими словами, это означает, что вместо того, чтобы делегировать сбор файла операционной системе, выходные данные процесса после падения передаются на стандартный ввод приложения, который уже отвечает за запись файла.
observability, и объясняет, как они могут быть включены в ваш стек технологий. Кроме того, документ указывает на известные проблемы, которые до сих пор не решены, или на то, что некоторые способы мониторинга все еще не очень широко используются на рынке.observability — это не просто использование всех модных инструментов, нужно понимать, какие данные выходят из системы и как их интерпретировать, чтобы не получить огромный кусок никому не нужных данных. Текущие инструменты позволяют наблюдать за приложение и средой непосредственно в production окружении.production как никогда более доступным вариантом.Please open Telegram to view this post
VIEW IN TELEGRAM
prometheus.io
Data model | Prometheus
Prometheus project documentation for Data model
🔥2❤1😍1
nodeAffinity, tolerations, serviceMonitors и других ресурсов различна для каждого чарта? И почему в чартах часто отсутствуют даже базовые компоненты? Это должно быть стандартизировано.helm template.values.yaml?🤔 А какой, по вашему мнению, существенной функциональности не хватает в Kubernetes?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2👨💻2
This media is not supported in your browser
VIEW IN TELEGRAM
KFtray
KFtray - инструмент для управления портами приложений в Kubernetes. Может пригодиться для тестирования API и локальной разработки.
KFtray - инструмент для управления портами приложений в Kubernetes. Может пригодиться для тестирования API и локальной разработки.
❤2🤯2😁1
Змейка, которая кушает поды. Будьте осторожны, играя в проде :)
Своего рода Chaos Engineering
https://github.com/deggja/serpent
Своего рода Chaos Engineering
https://github.com/deggja/serpent
GitHub
GitHub - deggja/chaossnake: Chaos snake for Kubernetes. Chaos engineering combined with a classic snake game.
Chaos snake for Kubernetes. Chaos engineering combined with a classic snake game. - deggja/chaossnake
😁5👍2❤1🥴1
Awesome K8s tools and resources
Awesome index of Open Source K8s and container tools
Awesome Kubernetes Resources
Есть еще интересный ресурс -- Nubenetes
А также Kubetools -- Curated List of Kubernetes Tools
Awesome index of Open Source K8s and container tools
Awesome Kubernetes Resources
Есть еще интересный ресурс -- Nubenetes
А также Kubetools -- Curated List of Kubernetes Tools
GitHub
GitHub - vilaca/awesome-k8s-tools: List of container/k8s tools.
List of container/k8s tools. Contribute to vilaca/awesome-k8s-tools development by creating an account on GitHub.
👍5🤯2🤣1
GenAI / LLM для аналитики для полного и точного перевода простого языка в SQL (text-to-SQL)
https://www.waii.ai/
Думается, что скоро подобное будет появляться и на широком рынке.
https://www.waii.ai/
Думается, что скоро подобное будет появляться и на широком рынке.
www.waii.ai
Waii.ai: Enterprise Text-to-SQL API | Accurate SQL Generation
Generate accurate SQL queries via API with Waii.ai's enterprise-ready text to SQL API. 95%+ accuracy for complex data workflows.
🤣2👨💻2😁1
Robusta KRR: Собирает данные о потреблении ресурсов подов из Prometheus и предлагает оптимальные значения requests и limits для CPU и памяти.
Goldilocks by Fairwinds: Аналогичный инструмент, который помогает оптимизировать настройки ресурсов подов в Kubernetes.
Opencost: Мониторинг затрат в облаке для провайдеров AWS, GCP и Azure.
Kube-downscaler: Инструмент с открытым исходным кодом, который автоматически масштабирует нагрузку в Kubernetes в соответствии с расписанием. Это позволяет снизить затраты за счет оптимизации использования ресурсов в периоды низкой активности.
ScaleOps: Kubernetes Resource Optimization
StormForge: Automated Kubernetes Resource Management
Harness: Cloud Cost Management Software
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3❤1
Благодаря встроенному SideroLink (TM) Talos Linux устанавливает безопасное, зашифрованное WireGuard соединение с Omni на самом раннем этапе процесса загрузки, позволяя транслировать логи, просматривать данные о производительности, изменять конфигурации и удаленно диагностировать проблемы.
https://www.youtube.com/live/wd3lI3qf-3w?si=rls_G04EoOVU1Pjy
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - siderolabs/omni: SaaS-simple deployment of Kubernetes - on your own hardware.
SaaS-simple deployment of Kubernetes - on your own hardware. - siderolabs/omni
🔥3❤2👍2🤔1
Managing 100s of Kubernetes Clusters using Cluster API
Тут ребята делятся своим опытом по управлению сотней кластеров Kubernetes через Cluster API, сократив время развертывания новых кластеров с полутора недель до одного рабочего дня. Минимизировали ручное управление с помощью Kubernetes Operator паттерна.
Правда их опыт релевантен только для Microsoft Azure (AKS) с использованием Cluster API Provider Azure (CAPZ), но скорее всего этот паттерн можно использовать и для других Managed кластеров.
Тут ребята делятся своим опытом по управлению сотней кластеров Kubernetes через Cluster API, сократив время развертывания новых кластеров с полутора недель до одного рабочего дня. Минимизировали ручное управление с помощью Kubernetes Operator паттерна.
Правда их опыт релевантен только для Microsoft Azure (AKS) с использованием Cluster API Provider Azure (CAPZ), но скорее всего этот паттерн можно использовать и для других Managed кластеров.
❤4🤔3👌2
Челик проходил интервью в Google на позицию Senior Site Reliability Engineer, SE (System Engineering) и любезно записал все вопросы и ответы на них с рассуждениями
https://prepare.sh/engineering/devops/google/
Там есть и другие интервью на другие позиции
https://prepare.sh/engineering/devops/google/
Там есть и другие интервью на другие позиции
🔥10👍4❤3
А вы знали, что в Linux кроме базовых прав доступа в inode файла находятся еще три бита, описывающие специальные права доступа?
SUID (Set UID): Этот бит устанавливается на исполняемых файлах. Когда программа запускается с этим битом, она выполняется с правами владельца файла, а не пользователя, который её запустил. Обычно это используется для программ, требующих дополнительных привилегий.
SGID (Set GID): Похож на SUID, но программа выполняется с правами группы владельца файла. Этот бит также может быть установлен на директории, где он назначает группу для всех новых файлов.
Sticky bit: Этот бит обычно устанавливается на директории. Если он активирован, то только владелец файла может удалить его из директории, даже если другие пользователи имеют права на запись в неё. Это защищает от случайного удаления файлов.
SUID (Set UID): Этот бит устанавливается на исполняемых файлах. Когда программа запускается с этим битом, она выполняется с правами владельца файла, а не пользователя, который её запустил. Обычно это используется для программ, требующих дополнительных привилегий.
SGID (Set GID): Похож на SUID, но программа выполняется с правами группы владельца файла. Этот бит также может быть установлен на директории, где он назначает группу для всех новых файлов.
Sticky bit: Этот бит обычно устанавливается на директории. Если он активирован, то только владелец файла может удалить его из директории, даже если другие пользователи имеют права на запись в неё. Это защищает от случайного удаления файлов.
❤11👀4👨💻3