Forwarded from Библиотека задач по DevOps | тесты, код, задания
Какому соглашению об именах следует следовать для стороннего инструмента, управляющего EndpointSlices?
Anonymous Quiz
4%
Используйте только заглавные буквы
40%
Используйте имя пространства имен Kubernetes
52%
Используйте имя инструмента только строчными буквами, заменив пробелы и знаки препинания на тире
4%
Используйте случайно сгенерированное имя
❤5
Forwarded from Библиотека собеса по DevOps | вопросы с собеседований
Что такое экспортер? Для чего он используется?
Экспортер служит мостом между сторонней системой или приложением и Prometheus, позволяя Prometheus отслеживать и собирать данные из этой системы или приложения. Экспортер действует как сервер, прослушивая определенный сетевой порт на предмет запросов от Prometheus для сбора метрик. Он собирает метрики из сторонней системы или приложения и преобразует их в формат, понятный Prometheus. Затем экспортер предоставляет эти метрики Prometheus через конечную точку HTTP, делая их доступными для сбора и анализа.
Экспортеры обычно используются для мониторинга различных типов компонентов инфраструктуры, таких как базы данных, веб-серверы и системы хранения данных. Например, существуют экспортеры для мониторинга популярных баз данных, таких как MySQL и PostgreSQL, а также веб-серверов, таких как Apache и Nginx. В целом экспортеры являются критически важным компонентом экосистемы Prometheus, позволяя отслеживать широкий спектр систем и приложений и обеспечивая высокую степень гибкости и расширяемости платформы.
Экспортер служит мостом между сторонней системой или приложением и Prometheus, позволяя Prometheus отслеживать и собирать данные из этой системы или приложения. Экспортер действует как сервер, прослушивая определенный сетевой порт на предмет запросов от Prometheus для сбора метрик. Он собирает метрики из сторонней системы или приложения и преобразует их в формат, понятный Prometheus. Затем экспортер предоставляет эти метрики Prometheus через конечную точку HTTP, делая их доступными для сбора и анализа.
Экспортеры обычно используются для мониторинга различных типов компонентов инфраструктуры, таких как базы данных, веб-серверы и системы хранения данных. Например, существуют экспортеры для мониторинга популярных баз данных, таких как MySQL и PostgreSQL, а также веб-серверов, таких как Apache и Nginx. В целом экспортеры являются критически важным компонентом экосистемы Prometheus, позволяя отслеживать широкий спектр систем и приложений и обеспечивая высокую степень гибкости и расширяемости платформы.
👍8❤1
🧐🧐 Kubernetes Events
События генерируются различными компонентами Kubernetes, такими как планировщик, kubelet, контроллеры и т. д., для сбора информации, относящейся к нодам, подам и другим ресурсам.
События будут иметь запись о состоянии, если пода запланирована, контейнер выходит из строя или ноде не хватает места на диске.
Продолжение тут
#туториал
События генерируются различными компонентами Kubernetes, такими как планировщик, kubelet, контроллеры и т. д., для сбора информации, относящейся к нодам, подам и другим ресурсам.
События будут иметь запись о состоянии, если пода запланирована, контейнер выходит из строя или ноде не хватает места на диске.
Продолжение тут
#туториал
❤1👍1
Forwarded from Библиотека задач по DevOps | тесты, код, задания
Какая особенность определений портов в модулях позволяет ссылаться на них в атрибуте targetPort сервиса в Kubernetes?
Anonymous Quiz
11%
IP-адресация
22%
Соглашения об именах
11%
Сетевые протоколы
56%
Сопоставление портов
🥰5❤1
Привет, друзья! 👋
Мы готовим статью о самых странных и уникальных дистрибутивах Linux, и нам нужно ваше мнение! 🤔💬
1️⃣ Какой самый необычный дистрибутив Linux вы когда-либо пробовали? Почему он вас удивил?
2️⃣ Есть ли у вас советы для новичков, которые только начинают работать с Linux? 🐧✨
Поделитесь своими идеями в комментариях! Самые интересные идеи и предложения мы обязательно включим в нашу статью. Спасибо за участие! 🙌
Мы готовим статью о самых странных и уникальных дистрибутивах Linux, и нам нужно ваше мнение! 🤔💬
1️⃣ Какой самый необычный дистрибутив Linux вы когда-либо пробовали? Почему он вас удивил?
2️⃣ Есть ли у вас советы для новичков, которые только начинают работать с Linux? 🐧✨
Поделитесь своими идеями в комментариях! Самые интересные идеи и предложения мы обязательно включим в нашу статью. Спасибо за участие! 🙌
❤1👍1
#дайджест перед выходными
🛟 Установка Sentry в Kubernetes, отловы exception на бекенде, в браузере, на Android — сказ об инструменте для сбора exception, который помогает разработчикам быстро обнаруживать и устранять проблемы, сокращая время выхода новых релизов
🛟 Освоение NGINX — руководство для начинающих по созданию быстрого, безопасного и масштабируемого веб-сервера
🛟 РЕД АДМ — централизованное управление ИТ-инфраструктурой и плавная миграция с Microsoft AD
🛟 k8spacket — инструмент для сбора информации о трафике TCP и метаданных TLS-подключений в кластере Kubernetes с использованием eBPF и визуализации в Grafana
🛟 Введение в Istio для Kubernetes: основы и начальная настройка — мощная платформа, обеспечивающая сетевое взаимодействие, безопасность и наблюдаемость в кластере Kubernetes
🛟 Установка Sentry в Kubernetes, отловы exception на бекенде, в браузере, на Android — сказ об инструменте для сбора exception, который помогает разработчикам быстро обнаруживать и устранять проблемы, сокращая время выхода новых релизов
🛟 Освоение NGINX — руководство для начинающих по созданию быстрого, безопасного и масштабируемого веб-сервера
🛟 РЕД АДМ — централизованное управление ИТ-инфраструктурой и плавная миграция с Microsoft AD
🛟 k8spacket — инструмент для сбора информации о трафике TCP и метаданных TLS-подключений в кластере Kubernetes с использованием eBPF и визуализации в Grafana
🛟 Введение в Istio для Kubernetes: основы и начальная настройка — мощная платформа, обеспечивающая сетевое взаимодействие, безопасность и наблюдаемость в кластере Kubernetes
👍4❤2
WatchYourLAN
Легковесный сетевой IP-сканер с веб-графическим интерфейсом.
Особенности:
👉 Отправляет уведомления при обнаружении нового хоста
👉 Отслеживает историю хостов онлайн/оффлайн
👉 Сохраняет список всех хостов в сети
👉 Отправляет данные в InfluxDB2 для создания панели мониторинга Grafana
#софт
Легковесный сетевой IP-сканер с веб-графическим интерфейсом.
Особенности:
👉 Отправляет уведомления при обнаружении нового хоста
👉 Отслеживает историю хостов онлайн/оффлайн
👉 Сохраняет список всех хостов в сети
👉 Отправляет данные в InfluxDB2 для создания панели мониторинга Grafana
#софт
👏6❤1
🕸️🕸️ Сетевые плагины (CNI) в Kubernetes
CNI или Container Network Interface — это спецификация, разработанная CNCF (Cloud Native Computing Foundation) для стандартизации процесса подключения сетевых интерфейсов к контейнерам. CNI обеспечивает гибкость и адаптивность сетевой инфраструктуры, позволяя интегрировать различные сетевые решения в Kubernetes.
CNI применяется для настройки оверлейных и андерлейных сетей:
👉 Оверлейными сетями, называют сетевой трафик, который инкапсулируется с помощью виртуального интерфейса, такого как виртуальная расширяемая локальная сеть VXLAN.
👉 Андерлейные сети работают на физическом уровне, состоят из коммутаторов и маршрутизаторов.
Продолжение тут
#туториал
CNI или Container Network Interface — это спецификация, разработанная CNCF (Cloud Native Computing Foundation) для стандартизации процесса подключения сетевых интерфейсов к контейнерам. CNI обеспечивает гибкость и адаптивность сетевой инфраструктуры, позволяя интегрировать различные сетевые решения в Kubernetes.
CNI применяется для настройки оверлейных и андерлейных сетей:
👉 Оверлейными сетями, называют сетевой трафик, который инкапсулируется с помощью виртуального интерфейса, такого как виртуальная расширяемая локальная сеть VXLAN.
👉 Андерлейные сети работают на физическом уровне, состоят из коммутаторов и маршрутизаторов.
Продолжение тут
#туториал
❤2
Forwarded from Библиотека Go-разработчика | Golang
🏃 Самоучитель по Go для начинающих. Часть 16. Тестирование кода и его виды. Table-driven подход. Параллельные тесты
В статье познакомимся с концепцией тестирования кода и её основными видами, изучим инструменты стандартного пакета testing, научимся запускать и визуализировать тесты. В качестве практического задания напишем и протестируем алгоритм «Решето Эратосфена».
👉 Читать гайд
📌 Остальные части в серии:
1. Особенности и сфера применения Go, установка, настройка
2. Ресурсы для изучения Go с нуля
3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.
4. Переменные. Типы данных и их преобразования. Основные операторы
5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
6. Функции и аргументы. Области видимости. Рекурсия. Defer
7. Массивы и слайсы. Append и сopy. Пакет slices
8. Строки, руны, байты. Пакет strings. Хеш-таблица (map)
9. Структуры и методы. Интерфейсы. Указатели. Основы ООП
10. Введение в ООП. Наследование, абстракция, полиморфизм, инкапсуляция
11. Обработка ошибок. Паника. Восстановление. Логирование
12. Обобщенное программирование. Дженерики
13. Работа с датой и временем. Пакет time
14. Интерфейсы ввода-вывода. Буферизация. Работа с файлами. Пакеты io, bufio, os
15. Конкурентность. Горутины. Каналы
В статье познакомимся с концепцией тестирования кода и её основными видами, изучим инструменты стандартного пакета testing, научимся запускать и визуализировать тесты. В качестве практического задания напишем и протестируем алгоритм «Решето Эратосфена».
👉 Читать гайд
📌 Остальные части в серии:
1. Особенности и сфера применения Go, установка, настройка
2. Ресурсы для изучения Go с нуля
3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.
4. Переменные. Типы данных и их преобразования. Основные операторы
5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
6. Функции и аргументы. Области видимости. Рекурсия. Defer
7. Массивы и слайсы. Append и сopy. Пакет slices
8. Строки, руны, байты. Пакет strings. Хеш-таблица (map)
9. Структуры и методы. Интерфейсы. Указатели. Основы ООП
10. Введение в ООП. Наследование, абстракция, полиморфизм, инкапсуляция
11. Обработка ошибок. Паника. Восстановление. Логирование
12. Обобщенное программирование. Дженерики
13. Работа с датой и временем. Пакет time
14. Интерфейсы ввода-вывода. Буферизация. Работа с файлами. Пакеты io, bufio, os
15. Конкурентность. Горутины. Каналы
❤5
Forwarded from Библиотека программиста | программирование, кодинг, разработка
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 Продвинутый TypeScript: 15 приемов для создания надежного кода
От рекурсивных псевдонимов типов до дискриминированных объединений — эти приемы помогут вам писать более эффективный и безопасный код. Здесь разберем основные моменты, а полностью читайте в статье:
☑️ Интерполяция строковых литералов: позволяет динамически создавать новые типы строковых литералов на основе существующих типов.
☑️ Брендирование: позволяет создавать уникальные идентификаторы для предотвращения смешивания типов, даже если они принадлежат к одному и тому же типу данных.
☑️ Условные типы: позволяют извлекать информацию о типах из сложных структур с помощью ключевого слова
☑️ Шаблонные литералы — комбинация литеральных типов и операторов для манипуляций со строками, которая позволяет создавать мощные ограничения типов на уровне строк.
☑️ Рекурсивные псевдонимы типов (алиасы): позволяют определять типы, которые ссылаются на самих себя.
☑️ Вариативные типы (TypeScript 4.0+): позволяют более гибко манипулировать кортежами.
☑️ Переименование ключей с помощью
☑️ Константные утверждения в TypeScript: позволяют создавать более конкретные литеральные типы из массивов и объектов.
☑️ Дискриминированные объединения: позволяют создавать типы, которые могут представлять несколько различных вариантов объекта.
☑️ Фильтрация ключей по типам значений: типы ключ-значение можно комбинировать с условными — для фильтрации по типам значений.
☑️ Создание типобезопасных эмиттеров событий с помощью дженериков: типобезопасные эмиттеры событий могут существенно улучшить надежность кода, основанного на событиях.
☑️ Самоссылающиеся типы: позволяют создавать сложные, вложенные структуры данных, сохраняя при этом типобезопасность.
☑️ Непрозрачные типы с использованием
☑️ Последовательности целых чисел на уровне типов: подход, который позволяет создавать более точные типы для операций с массивами, обеспечивая проверку длины массива на этапе компиляции.
☑️ Типобезопасный DeepPartial с использованием рекурсивных условных типов: позволяет работать с частичными данными сложных объектов безопасным способом.
От рекурсивных псевдонимов типов до дискриминированных объединений — эти приемы помогут вам писать более эффективный и безопасный код. Здесь разберем основные моменты, а полностью читайте в статье:
☑️ Интерполяция строковых литералов: позволяет динамически создавать новые типы строковых литералов на основе существующих типов.
☑️ Брендирование: позволяет создавать уникальные идентификаторы для предотвращения смешивания типов, даже если они принадлежат к одному и тому же типу данных.
☑️ Условные типы: позволяют извлекать информацию о типах из сложных структур с помощью ключевого слова
infer
.☑️ Шаблонные литералы — комбинация литеральных типов и операторов для манипуляций со строками, которая позволяет создавать мощные ограничения типов на уровне строк.
☑️ Рекурсивные псевдонимы типов (алиасы): позволяют определять типы, которые ссылаются на самих себя.
☑️ Вариативные типы (TypeScript 4.0+): позволяют более гибко манипулировать кортежами.
☑️ Переименование ключей с помощью
as
: при работе с объектами типа ключ-значения можно использовать as
для переименования ключей — это позволяет создавать производные типы с измененными именами свойств.☑️ Константные утверждения в TypeScript: позволяют создавать более конкретные литеральные типы из массивов и объектов.
☑️ Дискриминированные объединения: позволяют создавать типы, которые могут представлять несколько различных вариантов объекта.
☑️ Фильтрация ключей по типам значений: типы ключ-значение можно комбинировать с условными — для фильтрации по типам значений.
☑️ Создание типобезопасных эмиттеров событий с помощью дженериков: типобезопасные эмиттеры событий могут существенно улучшить надежность кода, основанного на событиях.
☑️ Самоссылающиеся типы: позволяют создавать сложные, вложенные структуры данных, сохраняя при этом типобезопасность.
☑️ Непрозрачные типы с использованием
unique symbol
: позволяют создавать типы, которые структурно похожи, но рассматриваются типовой системой как разные. ☑️ Последовательности целых чисел на уровне типов: подход, который позволяет создавать более точные типы для операций с массивами, обеспечивая проверку длины массива на этапе компиляции.
☑️ Типобезопасный DeepPartial с использованием рекурсивных условных типов: позволяет работать с частичными данными сложных объектов безопасным способом.
👍2❤1
Очередной #дайджест для DevOps-ов
🛟 GreptimeDB — опенсорсная система мониторинга all-in-one для метрик, журналов и событий
🛟 Redis 7.4 — добавили новые типы данных bfloat16 и float16, упростили использование вторичных индексов и удалили триггеры и функции на языке JavaScript
🛟 Может ли Postgres заменить Redis — действительно ли Postgres как кэш — хорошая идея? Может ли он действительно заменить Redis?
🛟 Kubernetes: GRPC или HTTP2 — балансировка нагрузки для GRPC и HTTP2 не работает из коробки на L4 прокси, но есть несколько способов улучшить ее
🛟 Запросы и лимиты в Kubernetes: разбираемся в деталях — как в Kubernetes организована работа с запросами и лимитами, как они используются для управления ресурсами
🛟 GreptimeDB — опенсорсная система мониторинга all-in-one для метрик, журналов и событий
🛟 Redis 7.4 — добавили новые типы данных bfloat16 и float16, упростили использование вторичных индексов и удалили триггеры и функции на языке JavaScript
🛟 Может ли Postgres заменить Redis — действительно ли Postgres как кэш — хорошая идея? Может ли он действительно заменить Redis?
🛟 Kubernetes: GRPC или HTTP2 — балансировка нагрузки для GRPC и HTTP2 не работает из коробки на L4 прокси, но есть несколько способов улучшить ее
🛟 Запросы и лимиты в Kubernetes: разбираемся в деталях — как в Kubernetes организована работа с запросами и лимитами, как они используются для управления ресурсами
👍2❤1🔥1
Forwarded from Библиотека задач по DevOps | тесты, код, задания
Какая функция сервисов в Kubernetes позволяет предоставлять доступ к нескольким портам?
Anonymous Quiz
13%
Перенаправление порта
26%
Псевдонимы портов
31%
Несколько определений портов
30%
Динамическое распределение портов
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
❤1
Мы хотим провести большой розыгрыш и подарить победителю смартфон на выбор. Помимо iPhone, предлагаем вам выбрать, какой ещё смартфон вы бы хотели видеть среди призов.
Какой смартфон вам по душе:
Anonymous Poll
16%
OnePlus Open 5G
3%
OPPO Find N3
47%
Samsung Galaxy S24 Ultra на 1ТБ
19%
Xiaomi 14 Ultra 512 ГБ
2%
Vivo X100 Ultra
13%
Свой вариант (напишу в комментариях)
🌚4👍2❤1😁1