IT заметки по программированию
IT заметки по программированию
IT заметки по программированию
IT заметки по программированию

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

продолжить чтение


jq — это мощный инструмент командной строки для обработки JSON-данных. Он позволяет легко фильтровать, преобразовывать, изменять и форматировать JSON. Это делает его особенно полезным при работе с API и данными в формате JSON в скриптах....

продолжить чтение


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

продолжить чтение


Ошибка E: Unable to locate package vault при попытке установить HashiCorp Vault в GitLab CI обычно указывает на то, что пакет не найден в репозиториях, доступных для вашей системы. Это может быть вызвано различными причинами, такими как:...

продолжить чтение


У HashiCorp Vault есть встроенный веб-интерфейс, который позволяет выполнять большинство операций по управлению секретами, настройке политик и управлению доступом. Веб-клиент Vault предоставляет графический интерфейс для удобного управления и доступен на порту, указанном в конфигурации Vault. Как получить доступ к веб-интерфейсу Vault Убедитесь, что Vault запущен с веб-интерфейсом. В стандартной конфигурации Vault веб-интерфейс включен......

продолжить чтение


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

продолжить чтение


Для настройки автоматического получения секретов из HashiCorp Vault в GitLab CI/CD, необходимо настроить GitLab для взаимодействия с Vault. Эта интеграция позволяет вашим CI/CD пайплайнам безопасно получать секреты и использовать их в процессах сборки и развертывания....

продолжить чтение


Создание и управление секретами Vault поддерживает разные виды секретов: статические (например, пароли) и динамические (например, учетные данные для базы данных, которые Vault сам генерирует). Статические секреты Включение секретного хранилища (если оно еще не включено): [crayon-676ed974d8803516225090/] Этот пример включает хранилище KV по пути secret/. Запись секрета: [crayon-676ed974d880e770314416/]   Чтение секрета: [crayon-676ed974d8813855981376/]   Удаление секрета:......

продолжить чтение


Использование удалённого конфига в etcd, когда для доступа к самому etcd тоже требуется конфигурация, создаёт своего рода "курицу и яйцо". Основная идея в таких ситуациях — минимизация локальной конфигурации, которая будет использоваться для получения более детальной удалённой конфигурации. Вот несколько стратегий для решения этой задачи:...

продолжить чтение


Этот плейбук Ansible предназначен для развертывания кластера Redis с использованием Sentinel, обеспечивающего высокую доступность и отказоустойчивость. Давайте подробно рассмотрим каждую задачу в плейбуке....

продолжить чтение


Шаблон Jinja2 для конфигурации Redis Sentinel описывает настройки, необходимые для мониторинга и управления кластером Redis. Sentinel обеспечивает высокую доступность, автоматически переключая роль мастера и реплик в случае сбоев. Давайте подробнее рассмотрим каждую часть этого шаблона....

продолжить чтение


Этот шаблон Jinja2 предназначен для создания конфигурационного файла Redis, который автоматически настраивает Redis как мастер или реплику (slave) в зависимости от текущего узла. Шаблон разделяет конфигурацию на два блока: один для мастер-узла Redis, другой — для реплик. Рассмотрим содержимое и его назначение подробнее....

продолжить чтение


Отказоустойчивый кластер Redis с использованием Sentinel состоит из нескольких компонентов, которые обеспечивают высокую доступность, автоматическое переключение на резервный узел при сбоях и мониторинг состояния кластера. Ключевые части кластера Redis на Sentinel включают:...

продолжить чтение


Этот плейбук Ansible предназначен для автоматизации установки и настройки HAProxy на узлах, указанных в группе haproxy_nodes. Плейбук выполняет три основные задачи: установка HAProxy, настройка конфигурационного файла и перезапуск службы HAProxy....

продолжить чтение


Этот плейбук Ansible предназначен для автоматизации развертывания кластера PostgreSQL с высокодоступной конфигурацией с использованием Patroni и PgBouncer. Плейбук включает установку необходимых пакетов, настройку Patroni для управления кластером PostgreSQL и настройку PgBouncer для подключения к базе данных. Вот пояснение к ключевым частям плейбука....

продолжить чтение


Этот шаблон Jinja2 для конфигурации HAProxy настраивает балансировщик нагрузки для управления соединениями с двумя типами PostgreSQL-кластеров через PgBouncer: для мастера (master) и для реплик (read-only). В шаблоне используются переменные Ansible для динамического создания конфигурации на основе данных о хостах. Рассмотрим ключевые элементы и их предназначение....

продолжить чтение


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

продолжить чтение


Этот конфигурационный шаблон Jinja2 для Patroni используется для настройки узла PostgreSQL-кластера с высокодоступной архитектурой. Он динамически генерирует конфигурацию на основе переменных, которые задаются в Ansible-инвентаре. Разберём каждый ключевой компонент шаблона...

продолжить чтение


Отказоустойчивая кластерная архитектура для PostgreSQL на основе Patroni, PgBouncer, HAProxy и etcd состоит из нескольких компонентов, каждый из которых играет определенную роль для обеспечения высокодоступности, балансировки нагрузки, отказоустойчивости и упрощения управления подключениями. Вот описание основных компонентов и их взаимодействий:...

продолжить чтение