Pull to refresh
0
0
Send message

Управление секретами в ArgoCD при помощи argocd-vault-plugin с Kubernetes auth

Reading time5 min
Views9.5K

Данная статья основана на публикации argocd-secret-management-with-argocd-vault-plugin с некоторыми различиями: основные изменения настроек ArgoCD предоставлены для официального helm chart, декларативный подход в создании Application, Kubernetes auth для ArgoCD в Vault.

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments6

Введение в CoreMIDI

Level of difficultyMedium
Reading time17 min
Views1.8K

Возможности по работе с MIDI-устройствами в macOS очень богатые (по сравнению с Windows, например), однако, официальная документация не может похвастаться подробным изложением. Приходится подглядывать в другие проекты, а также много экспериментировать, что не всегда удобно, если компьютер не сильно мощный, а единственной возможностью отлаживать код под macOS является использование виртуальной машины. В этой статье я покажу базовые сценарии работы с CoreMIDI и постараюсь восполнить пробелы в документации.

Читать далее
Total votes 5: ↑4 and ↓1+4
Comments0

К чёрту всё, сделаю свой сервер

Reading time7 min
Views16K
Обычно всё бывает замечательно и ничто не предвещает беды, пока кто-нибудь не теряет доступ к своим конфиденциальным и/или бизнес-данным, потому что доверил их хранение кому-то другому.

Не нужно быть специалистом по поиску информации, чтобы найти кучу историй о людях, по которым прокатились монструозные корпорации, исповедующие принципы в духе «don’t be evil».

Вот несколько примеров:


Как сохранить контроль над своими данными и инструментами


Для владения своими данными далеко недостаточно иметь резервные копии цифровой информации. Дело ещё и в контроле с конфиденциальностью. Дело в доверии. Не знаю, как вы, а я не особо доверяю многим сервисам в вопросе хранения моих данных (за редкими исключениями).
Читать дальше →
Total votes 12: ↑10 and ↓2+17
Comments43

Как оптимизировать ограничения ресурсов Kubernetes

Reading time5 min
Views5.9K

Поиск оптимальных значений для ограничения ресурсов Kubernetes — непростая задача, поскольку вам нужно найти золотую середину между слишком жесткими и недостаточными ограничениями.

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

Prometheus — одно из самых популярных решений для мониторинга кластеров Kubernetes. Поэтому каждый шаг в этом руководстве содержит примеры запросов PromQL.

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments0

Flask + Dependency Injector — руководство по применению dependency injection

Reading time15 min
Views9K
Привет,

Я создатель Dependency Injector. Это dependency injection фреймворк для Python.

В этом руководстве хочу показать как применять Dependency Injector для разработки Flask приложений.
Читать дальше →
Rating0
Comments2

Кастомизация внешнего вида Drone CI 2.0

Reading time7 min
Views4.4K

Так уж получилось, что какое-то время назад на одной из своих работ мне пришлось настроить средства коллективной разработки кода для одной группы программистов на Fortran'е. Сначала они сами настраивали Gitosis, потом Trac, но всё время чего-то не хватало. Постоянно были проблемы с одновременным вливанием кода, а также с тем, что называется code review… В общем, эта группа разработчиков доросла до полноценной системы совместной разработки с CI/CD. Поскольку группа небогатая, на момент установки системы совместной разработки в распоряжении был слабенький двухъядерный сервер с 2 ГБайт ОЗУ. По этой причине выбор пал на связку Gogs + Drone. Маленькие, написанные на Go, практически без особых "фич" программы. Зато сразу появилась возможность после очередного вливания кода проверять его сборку и тестировать, правильно ли он работает.

Читать далее
Total votes 3: ↑2 and ↓1+3
Comments0

Протоколы в Python: утиная типизация по-новому

Reading time8 min
Views45K

В новых версиях Python аннотации типов получают всё большую поддержку, всё чаще и чаще используются в библиотеках, фреймворках, и проектах на Python. Помимо дополнительной документированности кода, аннотации типов позволяют таким инструментам, как mypy, статически произвести дополнительные проверки корректности программы и выявить возможные ошибки в коде. В этой статье пойдет речь об одной, как мне кажется, интересной теме, касающейся статической проверки типов в Python – протоколах, или как сказано в PEP-544, статической утиной типизации.

Читать далее
Total votes 30: ↑30 and ↓0+30
Comments9

Как ухаживать за грядкой Redis'а и как сохранить урожай?

Reading time10 min
Views14K

Чуть более года назад мне посчастливилось погрузиться в углублённое изучение Redis. Всё, что я знал про него на тот момент, это две команды — get и set. Примерно в это же время у нас начался плавный переход со Standalone Redis на Redis Cluster.

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

Читать далее
Total votes 21: ↑21 and ↓0+21
Comments2

Создание PDF-документа на Python с помощью pText

Reading time9 min
Views32K

Один из самых гибких и привычных способов сгенерировать pdf — написать код на LaTeX и воспользоваться соответствующей программой. Но есть и другие способы, которые могут оказаться проще и понятнее, чем LaTeX. Специально к старту курса Fullstack-разработчик на Python представляем перевод статьи о том, как для генерации PDF можно воспользоваться библиотекой pText; эта статья написана Йорисом Схеллекенсом — разработчиком pText.

Читать далее
Total votes 11: ↑10 and ↓1+11
Comments5

Антипаттерны деплоя в Kubernetes. Часть 1

Reading time8 min
Views11K

В предыдущей статье 10 Docker anti-patterns мы рассказали о популярных ошибках при создании образов контейнеров. Однако создание образов для вашего приложения - это только половина дела. Вам нужен способ развёртывания этих контейнеров в производственной среде. Использование кластеров Kubernetes для решения этой задачи уже стало стандартом.

Представляем аналогичное руководство для Kubernetes. Теперь вы сможете составить полную картину того, как создать образ контейнера и как правильно его развернуть (при этом избежав некоторых распространенных ошибок).

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

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

Читать далее
Total votes 14: ↑13 and ↓1+14
Comments1

Как выучить английский язык самостоятельно. Шотландские наркоманы, провальные собеседования, подкасты и греки

Reading time20 min
Views60K

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

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

Читать далее
Total votes 29: ↑26 and ↓3+31
Comments35

Ansible-vault decrypt: обходимся без Ansible

Reading time14 min
Views14K

Вы когда-нибудь пробовали разобраться в том, что же происходит внутри ansible-vault? А ещё лучше - не только разобраться, но и что-то сделать на основе полученных знаний? Так вот, статья именно об этом: разбираем исходники ansible, а потом пишем свой расшифровщик для ansible-vault.

Язык для написания расшифровщика был выбран по принципу "я - автор статьи, выбираю что хочу язык под задачу, исходя из технических требований". Результат компилируется за 0.6 секунд в исполняемый файл размером 800Кб, который не требует внешних библиотек.

Заинтригованы? Добро пожаловать под кат!

ansible-vault decrypt go brr
Total votes 8: ↑8 and ↓0+8
Comments28

Как быть более продуктивным, не заставляя себя

Reading time8 min
Views73K

Представьте, что вы могли бы работать больше и при этом быть супер-продуктивным. И знаете, что самое приятное? В этом случае вам не пришлось бы заставлять себя работать.

Есть люди, у которых дела обстоят именно так. Они могут просто сидеть и работать, без какого-либо беспокойства и насилия над собой. Более того, они работают с удовольствием. Есть хорошие новости — вы тоже можете этому научиться.

Давайте начнем.

Большинство людей испытывает негативные чувства по отношению к своей работе. Они думают, что работа — это что-то неприятное, в отличие от развлечений. Работа воспринимается как раздражающее занятие, которое мешает людям делать то, чем им на самом деле хочется заниматься. Люди также полагают, что отдых и полное безделье — это идеальное состояние, в котором они хотели бы находиться всё время. Такое мышление приводит к тому, что человек начинает думать, что нужно заставлять себя работать через силу, и что работа — это очень тяжело, и лишь железная сила воли поможет справиться с ней.
Читать дальше →
Total votes 51: ↑46 and ↓5+57
Comments46

Работа с датой и часовыми поясами в JavaScript

Reading time19 min
Views45K

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

В моем случае она была столь полезной, что я решил перевести ее, чтобы запомнить получше и дебютировать с переводом на Хабре.

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments4

Обеспечение безопасности базы данных PostgreSQL

Reading time10 min
Views41K

Базы данных — это Святой Грааль для хакеров, поэтому их необходимо защищать с особой тщательностью. Это первая из серии статей, в которых мы дадим обзор best practice в обеспечении безопасности баз данных. Мы начнем с одной из самых популярных СУБД с открытым исходным кодом, PostgreSQL, и рассмотрим несколько уровней безопасности, о которых стоит задуматься:

Читать далее
Total votes 6: ↑5 and ↓1+5
Comments3

Понимаем пробы Kubernetes: типы, настройка и лучшие практики

Reading time7 min
Views12K

Источник

В этой статье — о настройке проб готовности, работоспособности и запуска для обнаружения и работы с нездоровыми модулями в переводе команды Kubernetes aaS.
Читать дальше →
Total votes 13: ↑12 and ↓1+23
Comments6

10 антипаттернов деплоя в Kubernetes: распространенные практики, для которых есть другие решения

Reading time21 min
Views11K

Команда Kubernetes aaS от Mail.ru Group продолжает серию переводов о правильном использовании Kubernetes. В этот раз — об антипаттернах разработки на Kubernetes с рекомендациями, как сделать по-другому.

Когда есть контейнеры, работающие в продакшен, нужно, чтобы продакшен-окружение оставалось стабильным и отказоустойчивым. Если один из контейнеров падает, нужно, чтобы в любое время ему на замену был запущен другой. Kubernetes предоставляет платформу для отказоустойчивой работы распределенных систем — от масштабирования до аварийного переключения и балансировки нагрузки. И есть много инструментов, которые интегрируются с Kubernetes, чтобы помочь вам в этом.

В этой статье рассмотрим десять распространенных практик развертывания Kubernetes, для которых есть другие решения. Автор не вдается в детали практик, поскольку реализация может различаться у разных пользователей.

Читать далее
Total votes 22: ↑21 and ↓1+37
Comments12

Как предоставить доступ к кластеру Kubernetes с помощью клиентского сертификата: простое руководство

Reading time10 min
Views11K

Предположим, мы создали кластер Kubernetes. И кто-то из команды разработчиков хочет развернуть и протестировать на нем новое приложение. Как нам предоставить ему доступ в кластер?

Команда Kubernetes aaS Mail.ru Cloud Solutions перевела простое руководство по предоставлению доступа к новому кластеру Kubernetes, включая настройку аутентификации и привязку ролей. Автор показывает процесс, используя клиентский сертификат x509.

Читать далее
Total votes 23: ↑23 and ↓0+23
Comments3

Эксплуатационный чек-лист для Redis в Kubernetes

Reading time7 min
Views8.8K


Команда Kubernetes as a Service в Mail.ru Cloud Solutions перевела контрольный список для запуска Redis внутри кластера Kubernetes. С ним стоит ознакомиться до того, как перейти к использованию Redis под рабочей нагрузкой.


Redis — популярное in-memory хранилище данных и кэш с открытым исходным кодом. Этот продукт стал важным компонентом построения масштабируемых микросервисных систем. Многие облачные провайдеры предлагают полностью управляемые сервисы Redis: Amazon ElastiCache, Azure Cache for Redis, GCP Memorystore (и на платформе MCS тоже есть такой управляемый сервис — прим. переводчика). Однако Redis также можно легко развернуть в Kubernetes, если вам нужно полнее контролировать его конфигурации. Прямо из коробки у него уже достойная производительность, но если вы собираетесь использовать Redis с рабочей нагрузкой, то сначала проверьте, выполняются ли все пункты этого чек-листа.

Читать дальше →
Total votes 29: ↑29 and ↓0+29
Comments2

Автогенерация кода и стейта для существующих ресурсов в Terraform. Terraformer

Reading time6 min
Views5.3K

Terraformer — консольный инструмент для генерации кода и стейта в форматах HCL и json для уже существующей инфраструктуры.

Читать далее
Total votes 10: ↑9 and ↓1+11
Comments8
1
23 ...

Information

Rating
Does not participate
Registered
Activity