Pull to refresh
0
0
Send message

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

Reading time5 min
Views10K

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

Читать далее

Введение в CoreMIDI

Level of difficultyMedium
Reading time17 min
Views1.9K

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

Читать далее

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

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

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

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


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


Для владения своими данными далеко недостаточно иметь резервные копии цифровой информации. Дело ещё и в контроле с конфиденциальностью. Дело в доверии. Не знаю, как вы, а я не особо доверяю многим сервисам в вопросе хранения моих данных (за редкими исключениями).
Читать дальше →

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

Reading time5 min
Views6K

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

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

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

Читать далее

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

Reading time15 min
Views9.3K
Привет,

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

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

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

Reading time7 min
Views4.5K

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

Читать далее

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

Reading time8 min
Views48K

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

Читать далее

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

Reading time10 min
Views15K

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

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

Читать далее

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

Reading time9 min
Views34K

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

Читать далее

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

Reading time8 min
Views11K

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

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

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

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

Читать далее

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

Reading time20 min
Views60K

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

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

Читать далее

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

Reading time14 min
Views14K

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

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

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

ansible-vault decrypt go brr

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

Reading time8 min
Views74K

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

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

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

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

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

Reading time19 min
Views47K

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

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

Читать далее

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

Reading time10 min
Views44K

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

Читать далее

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

Reading time7 min
Views13K

Источник

В этой статье — о настройке проб готовности, работоспособности и запуска для обнаружения и работы с нездоровыми модулями в переводе команды Kubernetes aaS.
Читать дальше →

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

Reading time21 min
Views12K

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

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

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

Читать далее

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

Reading time10 min
Views11K

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

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

Читать далее

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

Reading time7 min
Views9.3K


Команда 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 с рабочей нагрузкой, то сначала проверьте, выполняются ли все пункты этого чек-листа.

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

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

Reading time6 min
Views5.4K

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

Читать далее
1
23 ...

Information

Rating
Does not participate
Registered
Activity