Здравствуйте, дорогие хабровчане. Сегодняшняя статья — результат моего небольшого исследования. Я хочу показать, как компилировать бинарные модули расширения (.so) из python-файлов, чем они будут отличаться и как с ними работать. Делать это мы будем при помощи компилятора Nuitka. Он наиболее известен тем, что с его помощью можно создавать исполняемые файлы (.exe) для Windows. Однако, кроме того, он позволяет создавать и бинарные модули python. Всех, кому это интересно, прошу под кат.
User
Полезные ресурсы для погружения в Go: выбор сотрудников Selectel

Попросили коллег порекомендовать ресурсы — подкасты, ютуб-каналы, книги, блоги и GitHub-репозитории — для изучения языка программирования Go. Сохраняйте подборку в закладки: пригодится и начинающим, и опытным специалистам. А также делитесь своими вариантами в комментариях.
30 фильмов про IT и киберпанк, которые можно пересмотреть на новогодних праздниках

Собираем логи с Loki
Мы в Badoo постоянно мониторим свежие технологии и оцениваем, стоит ли использовать их в нашей системе. Одним из таких исследований и хотим поделиться с сообществом. Оно посвящено Loki — системе агрегирования логов.
Loki — это решение для хранения и просмотра логов, также этот стек предоставляет гибкую систему для их анализа и отправки данных в Prometheus. В мае вышло очередное обновление, которое активно продвигают создатели. Нас заинтересовало, что умеет Loki, какие возможности предоставляет и в какой степени может выступать в качестве альтернативы ELK — стека, который мы используем сейчас.
Loki — сбор логов, используя подход Prometheus

Эта статья — краткое введение в Loki. Проект Loki поддерживается Grafana и направлен на централизованный сбор логов (с серверов или контейнеров).
Основным источником вдохновения для Loki был Prometheus с идеей применения его подходов к управлению логами:
- использование меток (labels) для хранения данных
- потребление малого количества ресурсов
Мы еще вернемся к принципам работы Prometheus и приведем несколько примеров его использования в контексте Kubernetes.
Несколько слов о Prometheus
Чтобы полностью понять, как работает Loki, важно сделать шаг назад и немного вспомнить Prometheus.
Одной из отличительных характеристик Prometheus является извлечение метрик из точек сбора (через экспортеры) и сохранение их в TSDB (Time Series Data Base, база данных временных рядов) с добавлением метаданных в виде меток.
Лучшие книги по Golang: что стоит почитать как начинающему, так и опытному разработчику

Мы в Quadcode любим Golang и можем рассказать о языке и его преимуществах много интересного. Все это неспроста - не так давно мы переписали некоторые наши продукты или отдельные их модули именно на Go, чему радуемся до сих пор. Подробности самых интересных кейсов вскоре планируем раскрыть на Хабре, а пока что поделимся подборкой любимых книг, которые посвящены этому языку. Некоторые из них подходят для начинающих разработчиков, другие - для программистов с опытом. Объединяет все представленные в подборке книги одно - они могут оказаться ну очень полезными для тех, кто так или иначе связан с Go. Подборка - под катом, и, кстати, если вы уже читали какую-то из рекомендованных нами книг, расскажите о своих впечатлениях в комментариях. Поехали!
Да, кстати, еще одна ремарка - некоторые книги переведены на русский, некоторые - нет. Если перевода (пока, как хотелось бы надеяться) нет, то мы об этом скажем.
Введение в мониторинг серверов с помощью Prometheus и Grafana

Мониторинг нужен всем: и серверам крупных технологических компаний и домашним Raspberry PI. Мониторинг позволяет узнать, когда сервер выходит из строя, когда заканчивается дисковое пространство и даже когда подходит время апгрейда.
В этой статье рассмотрим настройку базового мониторинга с помощью Prometheus, Node Exporter и Grafana.
Хостим Bitwarden — open-source менеджер паролей

Менеджеры паролей действительно полезны и важны как для отдельных пользователей, так и для организаций, и они пригодятся, когда у вас много разных учетных записей и паролей. Обычно люди не любят пользоваться сторонними менеджерами паролей с сервисной архитектурой — неизвестно, что происходит с данными на чужом сервере, и не будет ли он скомпрометирован. Самое безопасное решение это разместить менеджер на своём собственном (как следует защищенном) сервере. Разумеется, к такому self-hosted варианту возникает много требований, и большой список решений с открытым исходным кодом довольно быстро сужается до нескольких известных, проверенных продуктов. Среди них мне больше всего нравится Bitwarden, и сейчас я объясню почему.
vCloud Director

Привет, Хабр!
Мы обновили платформу VMware vCloud Director с версии 8.10 до 8.20.
Что нового и какие особенности у версии 8.20? Ответ на этот вопрос вероятно интересует тех, кто ранее уже пользовался облаками по модели IaaS (Infrastructure-as-a-Service) и знаком с продуктом vCloud Director. Мы расскажем об этом во второй половине нашей статьи, но прежде нам хотелось бы дать краткий обзор модулей и компонентов vCloud Director для менее опытных в вопросах виртуализации читателей.
Что нам стоит vЦОД построить?
VMware vCloud Director — это платформа, которая позволяет создавать программно-определяемые, виртуальные центры обработки данных, преобразуя физические ЦОДы в эластичные пулы вычислительных ресурсов, которые конечным потребителям предлагается использовать по различным моделям распределения и потребления. vCloud Director имеет панель управления, которая помогает провайдерам облачных услуг делегировать некоторые из повседневных IT-операций своим клиентам.
Все физические ресурсы дата-центра, такие как вычислительные мощности, диски и сети, объединяются в большие пулы виртуальных ресурсов. В дальнейшем части этих ресурсов предоставляются в виде «сборных» vЦОДов, которые выделяются для арендаторов (tenants).
VCloud Director использует VMware vCenter и VMware vSphere для преобразования физических вычислительных ресурсов и ресурсов хранения в виртуальные пулы, а NSX/vCNS для создания виртуальных сетей с различной топологией.

Безопасность в Linux

В новой статье говорим про безопасность в Linux: как настроить и что важно учитывать в процессе. Дополнительно разбираем PAM и модули аутентификации, рассматриваем iptables.
За основу взят один из уроков нашего практического курса «Администрирование Linux Мега».
Как справиться с устареванием apt-key и add-apt-repository с помощью gpg в Ubuntu 22.04

apt-key - это утилита, используемая для управления ключами, которые APT использует для аутентификации пакетов. Это тесно связано с утилитой add-apt-repository, которая добавляет внешние репозитории с использованием серверов ключей в список надежных источников установки APT. Однако ключам, добавленным с помощью apt-key и add-apt-repository, apt доверяет глобально. Эти ключи не ограничиваются авторизацией единственного хранилища, для которого они были предназначены. Любой ключ, добавленный таким образом, может быть использован для авторизации добавления любого другого внешнего хранилища, что представляет собой важную проблему безопасности.
Начиная с Ubuntu 20.10, использование apt-key выдает предупреждение о том, что инструмент устареет в ближайшем будущем; аналогичным образом, add-apt-repository также скоро устареет. Хотя эти предупреждения об устаревании строго не запрещают использовать apt-key и add-apt-repository с Ubuntu 22.04, но игнорировать их не рекомендуется.
В настоящее время рекомендуется использовать gpg вместо apt-key и add-apt-repository, и в будущих версиях Ubuntu это будет единственным вариантом. apt-key и add-apt-repository сами по себе всегда действовали как оболочки, вызывая gpg в фоновом режиме. Использование gpg напрямую отсекает посредника. По этой причине метод gpg обратно совместим со старыми версиями Ubuntu и может использоваться в качестве замены apt-key.
В этом руководстве будут описаны две процедуры, использующие альтернативы apt-key и add-apt-repository соответственно. Сначала будет добавлено внешнее хранилище с использованием открытого ключа с помощью gpg вместо использования apt-key. Во-вторых, в качестве дополнения в этом руководстве будет рассмотрено добавление внешнего репозитория с использованием сервера ключей с gpg в качестве альтернативы использованию add-apt-repository.
Защита контейнеров с помощью фильтров Seccomp

Многие компании используют контейнеры в качестве фундаментальной технологии для управления своими приложениями и их выполнения. Если вы уже имеете опыт работы с контейнерами, то понимаете их мотивацию: контейнеры обеспечивают совершенно новые уровни портируемости и масштабируемости. Однако использование контейнеров, как и любой другой технологии, также означает и появление новых способов применения эксплойтов приложений.
Руководство по Docker Compose для начинающих

Как держать 20 тысяч VPN клиентов на серверах за $5
Главная особенность нашего сервиса в том, что через VPN маршрутизируется трафик только к заблокированным сетям, остальные сайты работают напрямую. Это не влияет на скорость интернета и не подменяет IP-адрес для остальных сайтов.
В статье описываются тонкости настройки OpenVPN для большого числа клиентов, на дешевых VPS.
- Как выбрать подходящий хостинг. Отличительные черты плохого хостинга. История о том, как мы долго искали и нашли хостинг в России.
- Почему IPv6 — хорошо. Правильная настройка IPv6-адресов для VPN-клиентов.
- Изменение конфигурации OpenVPN на лету, без перезапуска сервера и отключения клиентов.
- Балансировка нагрузки между серверами и процессами OpenVPN
- Тонкая настройка Linux для большого числа подключений
- Особенности кривых операционных систем и роутеров пользователей
Наш опыт будет полезен для тех, кто собирается развернуть VPN для личных нужд, и тех, кто хочет создать сервис с большим числом клиентов.
Пользователи и авторизация RBAC в Kubernetes
Настройка и запуск кластера Kubernetes – это только начало: ведь его необходимо еще и эксплуатировать. Чтобы обезопасить доступ к кластеру, нужно задать идентификационные данные пользователей и грамотно управлять настройками аутентификации и авторизации.

Эта статья посвящена тому, как создавать пользователей, используя клиентские сертификаты X.509, и как управлять авторизацией с помощью базовых API-объектов RBAC в Kubernetes. Мы также поговорим о некоторых открытых проектах, упрощающих администрирование кластера: rakkess, kubectl-who-can, rbac-lookup и RBAC Manager.
Локальные репозитории пакетов

Всем привет! Сегодня хочу поделиться нашими мыслями относительно того, как защититься от санкций палок в колёсах в современных условиях. Собственно, что мы имеем ввиду? Речь идёт о том, что в крупных проектах часто есть единые точки отказа в процессах CI/CD, это может быть как простой репозиторий кодом, так и различные конвеерные системы сборки кода и доставки его в рабочие окружения. Если мы говорим про системный софт, то его можно просто перестать обновлять, запретить ему ходить "наружу", но в данной статье мы поговорим про внешние репозитории с кодом.
Безопасное хранение secrets в Kubernetes

В Kubernetes есть такая сущность, как secrets, или секреты. Из названия понятно, что эти данные не могут быть общедоступными, и их нужно как-то защищать и особым образом доставлять в кластеры Kubernetes. В статье разберём, что такое secrets и в чём особенности их хранения и доставки. А также рассмотрим два популярных инструмента для работы с секретами: Hashicorp Vault и Helm Secrets.
Автоматизация установки Kubernetes кластера с помощью Kubespray и Terraform в Yandex Cloud
Инструкция была основана на базе видео "Установка кластера Kubernetes с помощью Kubespray" в Youtube.
Код был форкнут из репозитория https://git.cloud-team.ru/lections/kubernetes_setup и добавлен с патчами в репозиторий https://github.com/patsevanton/kubespray_terraform_yandex_cloud
Самое интересное в этом посте для devops специалистов с опытом это скрипт для создания ansible inventory файла из terraform структур.
CrowPi L: ноутбук на базе Raspberry Pi для обучения и проектирования электроники. Характеристики и возможности

Наша команда не устает удивляться возможностям «малинки» всех моделей, а также творческой фантазии и профессионализму разработчиков, которые работают с этими одноплатниками. Что только не создавали уже на базе Raspberry Pi — от умных камер до спутника. Ну а сейчас разработано устройство, в качестве вычислительного ядра которого работает Raspberry Pi 4B. Девайс выглядит, как ноутбук, и, собственно, им и является. Предназначен он, как и указано в заголовке, для обучения — в первую очередь, программированию и разработке электронных устройств. Правда, не продвинутых систем, а начального уровня. Подробности — под катом.
Установка HA Master Kubernetes кластера с помощью Kubespray

Kubespray (ранее Kargo) — это набор Ansible ролей для установки и конфигурации системы оркестрации контейнерами Kubernetes. В качестве IaaS в этом случае могут выступать AWS, GCE, Azure, OpenStack или обычные виртуальные машины. Проект раньше назывался Kargo. Это проект с открытым исходным кодом и открытой моделью разработки, поэтому по желанию каждый может повлиять на его жизненный цикл.
На Хабре уже писали об установке Kubernetes с помощью Kubeadm, но в этом способе есть значительные недостатки: он до сих пор не поддерживает мультимастер конфигураций и, порой, не очень гибкий. Kubespray, хоть и использует Kubeadm под капотом, уже имеет функционал обеспечения высокой доступности как для мастера, так и для etcd на этапе инсталляции. О его сравнении с другими актуальными методами установки Kubernetes можно почитать по ссылке https://github.com/kubernetes-incubator/kubespray/blob/master/docs/comparisons.md
В этой статье мы создадим 5 серверов на ОС Ubuntu 16.04. В моем случае их перечень будет следующим:
192.168.20.10 k8s-m1.me
192.168.20.11 k8s-m2.me
192.168.20.12 k8s-m3.me
192.168.20.13 k8s-s1.me
192.168.20.14 k8s-s2.me
Добавляем их к /etc/hosts всех этих серверов, в том числе локальной системы, или же к dns-серверу. Фаервол и другие ограничения в сети этих хостов должны быть деактивированы. Кроме этого, необходимо разрешить IPv4 forwarding и каждый из хостов должен иметь свободный доступ к сети Интернет для загрузки docker-образов.
Information
- Rating
- Does not participate
- Registered
- Activity