Search
Write a publication
Pull to refresh
3
0.4

User

Send message

Как приручить Kubernetes: от планирования задач до переноса аренд

Reading time7 min
Views2K

Привет, это Марат Сахабетдинов, руководитель группы развития инфраструктуры ITSM 365.

Три года назад мы приняли решение сменить облачную инфраструктуру и перейти с виртуальных машин на контейнеризацию в Kubernetes.

О причинах, выборе провайдера и по какому плану действовали — в этой статье.

Читать далее

Обработка больших и очень больших графов

Level of difficultyMedium
Reading time18 min
Views5K

Однажды ко мне обратилась одна крупная фруктовая телефонная компания с просьбой подготовить для них курс по Apache Spark продвинутого уровня, и в нем обязательно должен быть раздел про обработку графов (Neo4j не предлагать). На тот момент я знал про классические алгоритмы обработки графов на базе DFS (поиск в глубину) и BFS (поиск в ширину). При этом неотъемлемым условием применения того или иного подхода является локальная поддержка стека (DFS) или очереди (BFS). Следовательно, классические алгоритмы можно применять для обработки графов, которые умещаются в память одной машины.

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

Читать далее

Kubernetes: продолжаем говорить о контейнерах и архитектуре

Level of difficultyMedium
Reading time18 min
Views7K

Каждый раз залипаю на анимацию работы Raft-протокола

В прошлый раз мы говорили о контейнерах, механизмах Namespace и о том, как это всё работает.

Сегодня мы пойдём дальше — к системам оркестрации, так как нам мало просто иметь контейнер. Нам нужно управлять сетью, распределять нагрузку и вовремя поднимать упавшие контейнеры и свои собственные компоненты.

Попробуем немного отойти от классического «yaml-программирования» и заглянуть под капот.

Коснёмся CAP-теоремы, важности ETCD и причинах его устойчивости к split-brain-проблеме. А ещё посмотрим, почему Kubernetes API можно распределить на кучу инстансов, работающих одновременно, а Controller Manager может работать только в одном экземпляре за раз.

Вот о том, как всё это работает в Kubernetes, кто и зачем тыкает в API, мы сегодня и поговорим.
Читать дальше →

Эффективная загрузка внешних данных в корпоративное хранилище: опыт «Магнита»

Reading time6 min
Views4K

Сегодня я хотел бы поделиться с вами опытом, который мы приобрели в компании «Магнит» при загрузке данных из внешних источников в корпоративное хранилище данных. Расскажу о проблемах, с которыми мы столкнулись и решениях, которые нам помогли облегчить процесс загрузки, повысить эффективность и ускорить получение доступа к данным.

Читать далее

Как поднять свой сервер на RaspberryPI на основе docker

Reading time9 min
Views39K

Сказ о том, как я настраивал сервисы в docker на Raspberry PI и почему это, возможно, не лучшая идея.


Введение (или как всё начиналось)


Началось всё очень давно пару лет назад. Так уж вышло, что я оказался в Китае и надо было как-то связываться с внешним миром. Сторонним VPN и прокси я не очень доверял, поэтому решил поднять DigitalOcean со своим прокси. Так уж вышло, что со временем сервер с прокси оброс разными разностями: от файлового хранилища (Syncthing) до CI (Jenkins).


По возвращении в Россию было принято решение уходить с DO на какой-то self-hosting. Покупать для этого отдельный сервер не хотелось — дорого, да и пока незачем, по этой причине взял Raspberry PI 4B. Естественно, пришлось переносить все основные сервисы с DO на эту машинку, о чем и будет данный пост.

Читать дальше →

Круглосуточная трансляция CCTV IP Камеры на Youtube

Level of difficultyEasy
Reading time30 min
Views20K

Статья посвящена одному из самых простых способов организовать круглосуточную и бесконечную трансляцию на любую платформу.

В моём случае — реализована трансляция CCTV камеры, но контент можно выбрать любой, какой пожелаете.

Читать далее

Отключаем белый список Wifi в ноутбуках HP

Reading time4 min
Views130K
Написать этот топик меня подтолкнул свой тернистый опыт установки wifi платы 802.11n, которая отсутствовала в whitelist BIOS в моём ноутбуке. Мотивацию и уверенность придал пост Устанавливаем неподдерживаемую Wifi карту в HP Pavilion dv6-1319er
Читать дальше →

Миграция с Docker на CRI-O в Kubernetes

Reading time4 min
Views7.5K

Для запуска контейнеров платформа Kubernetes использует Container runtime, т. е. движок для контейнеров. Долгое время основным движком считался Docker, но им не ограничивался — Kubernetes также поддерживает такие движки, как CRI-O и containerd. Однако начиная с версии Kubernetes 1.20, было объявлено, что в будущих версиях поддержка Docker (а если быть точнее, то dockershim) будет полностью прекращена. Начиная с версии Kubernetes 1.24, Docker был полностью удален из Kubernetes. Одной из причин такого решения было то, что в Docker отсутствует поддержка интерфейса CRI (Container Runtime Interface). В качестве замены можно перейти на CRI-O, который позиционирует себя как легковесную исполняемую среду для контейнеров в Kubernetes. В данной статье мы рассмотрим миграцию с движка Docker на CRI-O.

Читать далее

Не так безопасен OpenPGP как его малюют

Level of difficultyEasy
Reading time11 min
Views5.4K

Конфиденциальность и безопасность в сети никогда не были актуальней, чем сегодня. Компании, госслужащие и частные лица сталкиваются со всё более высокими рисками, чем когда-либо прежде. Киберпреступность, злоупотребления со стороны властных структур и банальный шпионаж процветают не только в голливудских фильмах. Финансовая информация, деанонимизация личности, коммерческие патенты или просто конфиденциальные сообщения, — каждому есть что терять, даже если ему нечего скрывать. Одним из самых популярных вариантов решения этого вопроса является использование шифрования. За последние годы PGP, а затем и OpenPGP стали стандартом почти для всех подписанных или зашифрованных электронных писем в мире.

О чём собственно речь?

Клонирование ОС под шифрованным LVM на меньший по объему диск

Level of difficultyMedium
Reading time8 min
Views6.5K

В рабочих процессах клонирование Linux-хостов для меня стало обычным делом. Но однажды пришлось клонировать сервер с LVM и шифрованием LUKS на меньший по объему диск. И оказалось не все так просто.

Как урезать LVM и LUKS? Как правильно склонировать диск и расширить его обратно?
Рассказал все под катом.

Читать далее

Что делать с двумя тысячами роутеров, на которых корявая прошивка, если ты — провайдер?

Level of difficultyEasy
Reading time5 min
Views34K

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

Читать далее

Модуль Terraform для Proxmox LXC

Level of difficultyMedium
Reading time9 min
Views17K

Всем привет, я не блогер и не люблю писать посты и блоги, пока.

Решил найти решение для Terraform и Proxmox. После не долгих поисков нашёл провайдер под названием terraform-provider-proxmox. Так как на русском документации не было ни где, решил перевести документацию о ресурсах на русский язык как мог. Думаю что кому ни будь будет полезно и избавит от дополнительного труда.

Дальше

Групповые политики Linux средствами Puppet

Level of difficultyEasy
Reading time6 min
Views8.6K

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

Лично мне, как уже бывшему windows-администратору, при переходе на отечественную операционную систему остро не хватало такого инструмента, как групповые политики (GPO), позволяющего управлять настройками и безопасностью компьютеров в сети.

Для управления конфигурациями устройств в своей организации я выбрал Puppet.

Читать далее

Учимся создавать и настраивать Jenkins Jobs

Reading time6 min
Views21K

Jenkins CI позволяет разработчикам автоматизировать создание, тестирование и развёртывание кода. Кроме того, он оттачивает возможности для обработки любой сборки или непрерывной интеграции. Jenkins Jobs фокусируется на непрерывном создании и тестировании кода, чтобы любые внесённые изменения легко интегрировались в сборку. В этой статье мы посмотрим на Jenkins в действии — разберём, как создавать и настраивать Jenkins Jobs. 

Читать далее

Стеганографические эксперименты с видеофайлами и Youtube. Продолжение

Level of difficultyEasy
Reading time12 min
Views5K

С момента публикации первой части статьи появились интересные инструменты, демонстрирующие побочные возможности Youtube для хранения цифровой информации. Например, утилита Infinite-Storage-Glitch. Автор утилиты DvorakDwarf, пользуясь рациональным размещением цифровой информации в черно-белом формате CV_8UC3, успешно использовал Youtube если не в качестве полноценного дропбокса, то в качестве прототипа альтернативного файлового хранилища, что вызвало массу различных инспираций и породило бурную реакцию пользователей, в том числе этического характера.

Перейти к экспериментам

Как эффективно настроить autovacuum в Postgres для 1С

Level of difficultyMedium
Reading time11 min
Views14K

Кто не любит убирать мусор? Думаю практически все, а вот в Postgres это обязательный ритуал для эффективной работы. Как эффективно настроить уборку за 1С в Postgres можно прочитать в этой статье и еще раз задуматься о бесплатности Postgres.

Навести порядок

Учимся конфигурировать и настраивать Jenkins

Reading time8 min
Views16K

У Jenkins есть разные конфигурации, которые можно задавать и настраивать в соответствии с потребностями различных проектов, команд и пользователей. Какие-то из этих конфигураций помогают управлять Jenkins как инструментом. А какие-то выполняют скорее статистическую роль, отслеживая работоспособность сервера Jenkins и его узлов. В статье разбираемся в деталях конфигураций и пытаемся понять, что с ними делать. 

Читать далее

Создание сервера онлайн ММО игр на PHP и Unity ч. 11 — FPS, Ping, паузы между командами, интерполяция и экстраполяция

Level of difficultyMedium
Reading time7 min
Views4.4K

В этой серии статей речь пойдет о том что такое PING и какими приемами можно сгладить задержку пересылки пакетов при его низком значении в realtime онлайн играх с примерами кода на C# в игровом движке Unity для игр на ПК, мобильных устройствах и браузерных игр WebGL.

Статья включает в себя видео примеры, демонстрации кода и алгоритм подсчета PING без использований командной строки устройств

Читать далее

Классификация аудиофайлов с библиотекой Librosa

Level of difficultyMedium
Reading time10 min
Views14K

Привет Хабр! В этой статье поработаем с аудиофайлами, используя библиотеку librosa и алгоритмы Machine learning.

Сначала немного поговорим о том, что такое аудиосигнал. Аудиосигнал представляет собой сложный сигнал, состоящий из нескольких одночастотных звуковых волн, которые распространяются вместе как изменение давления в среде. Каждый аудиосигнал имеет свои определенные характеристики, например, такие как частота, амплитуда, ширина полосы, децибел и т.д. Число волн, производимых сигналом за одну секунду называется частотой. Амплитуда показывает интенсивность звука, то есть является высотой волны. 

Читать далее

Information

Rating
2,065-th
Registered
Activity