Как стать автором
Обновить
11
0

DevOps в Купере, веду канал t.me/sdnv_funkhole

Отправить сообщение

Mikrotik L2TP/IPSec за NAT: ipsec,error failed to pre-process ph2 packet

Время на прочтение1 мин
Количество просмотров90K
При использовании Mikrotik за NAT (в частности за всякими USB GSM модемами) в режиме клиента L2TP/IPSec, у некоторых операторов в определенных режимах, получал проблему с ошибкой ipsec,error failed to pre-process ph2 packet.
Но с появлением RoS 6.38 появилась возможность справиться с ошибкой.
Читать дальше →
Всего голосов 17: ↑12 и ↓5+7
Комментарии54

Mikrotik RoS, полезные мелочи

Время на прочтение5 мин
Количество просмотров176K
Распространенность оборудования Mikrotik растет с каждым днем, все больше устройств, а значит и RoS, появляется не только в корпоративном секторе, но и у обычных, домашних пользователей.
К сожалению, не смотря на вполне нормальные настройки по умолчанию, которые можно сделать через Quick Set, в интернете можно встретить множество советов очистить конфигурацию, и сделать как-то по «особому», с «нуля». В этой статье я хочу поделится своим опытом и дать рекомендации, как изменить конфигурацию из Quick Set под свои нужды, при этом сохранив достаточный уровень защищенности.
Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии28

Раскочегариваем YouTube без установки софта на конечные устройства

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров201K

В последнее время для потребителей контента YouTube настали тяжелые времена. Даже самые мелкие местечковые провайдеры уже внедрили то самое замедление видео. В некоторых случаях (как у меня) - это даже не замедление, а просто ограничение функционала. Видео попросту не грузятся.

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

Для этого есть несколько путей:

Читать далее
Всего голосов 60: ↑50 и ↓10+53
Комментарии291

11 полезных плагинов для kubectl

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров8.2K

Kubectl (Kubernetes Control) — это по сути основной интерфейс для взаимодействия с Kubernetes-кластером. Сторонние разработчики сделали для него много полезных плагинов, которые в той или иной ситуации могут облегчить работу инженера и сэкономить время. В этой статье рассмотрим 11 удобных плагинов для расширения функционала kubectl.

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии6

Основы работы с Helm чартами и темплейтами — Часть 2

Время на прочтение18 мин
Количество просмотров42K

В этом руководстве мы кратко обсудим, как Helm может помочь упростить управление приложениями Kubernetes, и узнаем, как использовать Helm для создания базового чарта.

Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии1

GitOps — что это такое и с чем его едят?

Время на прочтение12 мин
Количество просмотров32K

На самом деле почти никто не знает, что такое GitOps. Я тоже заблуждался, пока не начал готовить доклад, а потом статью по этой теме. Самое распространенное определение GitOps — это «хранение состояния в Git», но оно не единственное и не самое главное. Это звучное словечко  придумали в Weaveworks, но его название несколько разнится с его реальным пониманием. Созвучие с DevOps — скорее, маркетинговый ход, чем реальное отражение сущности. Основная идея GitOps в том, что помимо хранения состояния в Git, у нас есть непрерывный процесс его синхронизации с реальным миром, то есть, что у вас Kubernetes-кластере или где либо ещё в вашем окружении.

Меня зовут Андрей Квапил. Я работал в чешском хостинге WEDOS. Он не сильно популярен в России, но это крупнейший хостинг на территории Чехии (просто Чехия маленькая).  Сейчас я работаю во Фланте, но именно на примере европейского хостинга WEDOS, хочу рассказать историю имплементации GitOps.

Читать далее
Всего голосов 25: ↑25 и ↓0+25
Комментарии5

Что говорит CrashLoopBackOff о состоянии пода и какие у него причины

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров6.3K

Ошибки CrashLoopBackOff тормозят развёртывания? В этой статье поговорим о том, почему поды зависают в состоянии CrashLoopBackOff и как понять, что под попал в это состояние и по какой причине, — всё это с примерами.

Читать далее
Всего голосов 12: ↑11 и ↓1+14
Комментарии8

Git. Скачем между ветками как древесные лягушки

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров26K

Статей на тему много, но, видимо, недостаточно: время от времени слышу от коллег (последние 10 лет, в 4-х разных компаниях):

«Не могу пошарить экран с кодом, у меня другая ветка сейчас».

«Не хочу переключать ветку, придется запускать кодогенерацию, у меня сбросятся build-файлы, потом это опять пересобирать!»

«Стаскивать ветку для просмотра ПР? Это же неудобно, надо "стэшить" изменения, ветку переключать».

Читать далее
Всего голосов 85: ↑85 и ↓0+101
Комментарии71

Операторы в Kubernetes

Уровень сложностиСложный
Время на прочтение8 мин
Количество просмотров12K

Ручные изменения в кластере доставляют одну лишь головную боль. А чтобы от них избавиться, используются операторы, в частности K8s. Что это такое? И самое главное, как его написать?

Меня зовут Дмитрий Самохвалов, я архитектор в компании КРОК. Пробовал себя в разработке, инфраструктуре и тимлидерстве. Расскажу про архитектуру и внутреннее устройство оператора и покажу как создать свой оператор на Go. Все остальные вопросы можно задать мне в Телеграм.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии1

Знакомство с Debezium — CDC для Apache Kafka

Время на прочтение18 мин
Количество просмотров103K


В своей работе я часто сталкиваюсь с новыми техническими решениями/программными продуктами, информации о которых в русскоязычном интернете довольно мало. Этой статьей постараюсь восполнить один такой пробел примером из своей недавней практики, когда потребовалось настроить отправку CDC-событий из двух популярных СУБД (PostgreSQL и MongoDB) в кластер Kafka при помощи Debezium. Надеюсь, эта обзорная статья, появившаяся по итогам проделанной работы, окажется полезной и другим.

Что за Debezium и вообще CDC?


Debezium — представитель категории программного обеспечения CDC (Capture Data Change), а если точнее — это набор коннекторов для различных СУБД, совместимых с фреймворком Apache Kafka Connect.
Читать дальше →
Всего голосов 52: ↑52 и ↓0+52
Комментарии1

Unifi prometheus exporter

Время на прочтение6 мин
Количество просмотров8K

Всем привет! На днях захотелось сделать графики по всем нашим точкам доступа, у нас их много, часть на базе Mikrotik и с ними нет проблем, он легко опрашивается по SNMP и отдаёт статистику сразу по всем точкам, а вот с Unifi всё сложней, нужно опрашивать каждую точку доступа отдельно, а они у нас иногда меняются, соответственно, нужно какое-то решение, которое будет отслеживать эти изменения автоматически. В момент поиска готового решения наткнулся на unpoller, но у нас это не заработало, решение не смогло авторизоваться в нашем контроллере с кодом 400, поэтому написали свое простое решение, решил поделиться, вдруг кому-то пригодится.

Читать далее
Всего голосов 2: ↑1 и ↓10
Комментарии0

Kafka за 20 минут. Ментальная модель и как с ней работать

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров121K

Привет! Меня зовут Глеб Гончаров, и я руковожу подгруппой ИТ-инфраструктуры в СберМаркете. В работе мы широко используем Kafka как шину данных для микросервисов и не раз убедились на практике, что к инструменту важно подобрать правильный подход. Об этом сегодня и поговорим в двух частях — сначала обсудим основы, а в конце статьи будет ссылка на практические задания.

Читать далее
Всего голосов 41: ↑41 и ↓0+41
Комментарии15

От Kubernetes в мечтах к Kubernetes в проде. Часть 4. Хранилище секретов ― HCP Vault

Время на прочтение15 мин
Количество просмотров6.9K

В серии статей по теме DevOps мы вместе с Lead DevOps инженером департамента информационных систем ИТМО Михаилом Рыбкиным рассказываем о проверенных инструментах выстраивания инфраструктуры, которыми с недавнего времени пользуемся сами. В предыдущих статьях мы уже рассмотрели предпосылки перехода на новую инфраструктуру, познакомились с азами Kubernetes и обсудили методы доставки кода. В рамках последней темы мы пришли к методологии GitOps, при которой конфигурация кластера описана декларативно и есть ровно один источник правды ― git с его историей версий и т. д. Но git не является достаточно доверенной средой для хранения секретов ― с его помощью мы не смогли бы обеспечить разделение доступов и т. п. Так что в следующей статье цикла мы рассказываем о том, как можно реализовать отдельное хранилище секретов, без которого полноценно перейти на GitOps невозможно.

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии7

Apache Kafka – мой конспект

Время на прочтение9 мин
Количество просмотров331K
Это мой конспект, в котором коротко и по сути затрону такие понятия Kafka как:

— Тема (Topic)
— Подписчики (consumer)
— Издатель (producer)
— Группа (group), раздел (partition)
— Потоки (streams)

Kafka — основное


При изучении Kafka возникали вопросы, ответы на которые мне приходилось эксперементально получать на примерах, вот это и изложено в этом конспекте. Как стартовать и с чего начать я дам одну из ссылок ниже в материалах.

Apache Kafka – диспетчер сообщений на Java платформе. В Kafka есть тема сообщения в которую издатели пишут сообщения и есть подписчики в темах, которые читают эти сообщения, все сообщения в процессе диспетчеризации пишутся на диск и не зависит от потребителей.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии10

Простой и удобный шаблон для bash-скриптов выполняемых по расписанию

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров25K

Хочу поделиться с сообществом простым и полезным шаблоном скрипта-обёртки на bash для запуска заданий по cron (а сейчас и systemd timers), который моя команда повсеместно использует много лет.

Сначала пара слов о том зачем это нужно, какие проблемы решает. С самого начала моей работы системным администратором linux, я обнаружил, что cron не очень удобный планировщик задач. При этом практически безальтернативный. Чем больше становился мой парк серверов и виртуальных машин, тем больше я получал абсолютно бесполезных почтовых сообщений "From: Cron Daemon". Задание завершилось с ошибкой - cron напишет об этом. Задание выполнено успешно, но напечатало что-нибудь в STDOUT/STDERR - cron всё равно напишет об этом. При этом даже нельзя отформатировать тему почтового сообщения для удобной автосортировки. Сначала были годы борьбы с использованием разных вариаций из > /dev/null, 2> /dev/null, > /dev/null 2>&1, | mail -E -s '<Subject>' root@.

Читать далее
Всего голосов 52: ↑49 и ↓3+55
Комментарии4

Что ты такое, dhclient?

Время на прочтение19 мин
Количество просмотров46K

Сетевой стек Linux не прост даже на первый взгляд: приложение — в юзерспейсе, а всё, что после сокета, — в ядре операционки. И там тысяча реализаций TCP. Любое взаимодействие с сетью — системный вызов с переключением контекста в ядре.

Чтобы лишний раз не дёргать ядро прерываниями, придумали DMA — Direct Memory Access. И это дало жизнь классу софта с режимом работы kernel bypass: например при DPDK (Intel Data Plane Development Kit). Потом был BPF. А за ним — eBPF. 

Но даже помимо хаков работы с ядром есть такие штуки, как sk_buff, в которой хранятся метаданные всех миллионов протоколов. Есть NAPI (New API), которая призвана уменьшить число прерываний. Есть 100500 вариантов разных tables.

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

Начать погружение
Всего голосов 177: ↑176 и ↓1+221
Комментарии61

ENTRYPOINT vs CMD: назад к основам

Время на прочтение6 мин
Количество просмотров296K

Construction


Название ENTRYPOINT всегда меня смущало. Это название подразумевает, что каждый контейнер должен иметь определенную инструкцию ENTRYPOINT. Но после прочтения официальной документации я понял, что это не соответствует действительности.

Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии17

Создаем свой VPN с защищенным от блокировок протоколом AmneziaWG, или WireGuard на максималках

Время на прочтение5 мин
Количество просмотров172K


Всем привет! Возможно уже совсем скоро разные новостные и  IT-ресурсы будут подчищать информацию о способах обхода блокировок. А пока этого не случилось, запасаемся полезными гайдами и разворачиваем свои собственные VPN с защищенными от блокировок протоколами. Расскажу как это сделать, как изменилась Amnezia и как мы защитили WireGuard от блокировок.

Читать далее
Всего голосов 91: ↑89 и ↓2+111
Комментарии123

Автоматическая генерация CI/CD пайплайна для развёртывания инфраструктуры

Время на прочтение8 мин
Количество просмотров17K

При нашей работе мы используем подход «Инфраструктура как код». Однако в процессе его использования мы столкнулись с проблемой написания пайплайнов для инфраструктуры.

Во всём «виноват» terragrunt: каждому модулю terragrunt нужна отдельная джоба в пайплайне на plan и apply, но для каждого модуля они во многом повторяют друг друга. Подобное постоянное написание одинаковых частей CI/CD пайплайна при добавлении новых баз и бакетов навевало тоску.

Рассказываем, как мы создали генератор джоб в Gitlab CI/CD и навсегда забыли о ручном написании пайплайнов для развёртывания элементов инфраструктуры.

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии2

Как изучать Kubernetes джуну — и зачем

Время на прочтение7 мин
Количество просмотров25K

Всем привет! Меня зовут Лина, я backend-разработчик в KTS.

В нашей компании развита система наставничества. Каждому сотруднику строится индивидуальный план развития, включающий в себя как soft skills, так и необходимые для работы технологии. Раз в полгода мы проводим ревью, и к следующему необходимо прокачать какие-то навыки из списка. Одной из моих задач для повышения было «Изучить Kubernetes». 

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

Читать далее
Всего голосов 21: ↑19 и ↓2+20
Комментарии10

Информация

В рейтинге
Не участвует
Откуда
Пермь, Пермский край, Россия
Зарегистрирован
Активность

Специализация

System Administration, DevOps
Middle
Linux
Bash
Virtualization
Docker
Network technologies
Elasticsearch
Nginx
Git
Prometheus
DevOps