Рубрика «devops» - 35

Переменные в Gitlab можно задать в нескольких местах:

  1. В настройках групп
  2. В настройках проекта
  3. Внутри .gitlab-ci.yml

При этом переменные в настройках групп и проекта можно задать как "файл"или "обычную переменную" и поставить галочки "защищено" и "маскировать".

Как Gitlab-CI наследует переменные окружения? - 1

Начнем с простого наследования и будет постепенно усложняться.

С конечным списком уровней приоритетов можно ознакомиться в конце документа.

Читать полностью »

Продолжаем обзор замечательной тулы для разработки под Windows и не только, Azure DevOps. На этот раз, намучавшись с переменными окружения, я решил вынести весь опыт в одну статью.

Начиная от того, что для каждой среды исполнения у них разный синтаксис, оканчивая отсутствием стандартной возможности переноса переменных из одной стадии пайплайна в другую.
Читать полностью »

Типовое условие при реализации CI/CD в Kubernetes: приложение должно уметь перед полной остановкой не принимать новые клиентские запросы, а самое главное — успешно завершать уже существующие.

Kubernetes tips & tricks: особенности выполнения graceful shutdown в NGINX и PHP-FPM - 1

Соблюдение такого условия позволяет достичь нулевого простоя во время деплоя. Однако, даже при использовании очень популярных связок (вроде NGINX и PHP-FPM) можно столкнуться со сложностями, которые приведут к всплеску ошибок при каждом деплое…Читать полностью »

Предлагаю ознакомиться с расшифровкой доклада 2017 года Игорь Стрыхарь «ClickHouse – визуально быстрый и наглядный анализ данных в Tabix».

Веб-интерфейс для ClickHouse в проекте Tabix.
Основные возможности:

  • Работает с ClickHouse напрямую из браузера, без необходимости установки дополнительного ПО;
  • Редактор запросов с подсветкой синтаксиса;
  • Автодополнение команд;
  • Инструменты графического анализа выполнения запросов;
  • Цветовые схемы на выбор.
    ClickHouse – визуально быстрый и наглядный анализ данных в Tabix. Игорь Стрыхарь - 1

Читать полностью »

Прим. перев.: Эта статья — перевод недавнего анонса из мира контейнеров. В прошлом месяце компания Docker объявила о передаче своей очередной разработки в руки более широкого Open Source-сообщества. Речь шла об инструменте конвертации метаданных CNAB-пакета в формат стандарта OCI (Open Container Initiative) — для удобной возможности распространения содержимого таких пакетов в реестрах для контейнеров (вроде Docker Registry). Но чтобы получше во всём этом разобраться, мы начнём с перевода другой заметки (написанной Jack Wallen для The New Stack) — о том, что вообще такое CNAB.

Docker передает cnab-to-oci в проект CNAB… и что вообще такое CNAB? - 1

Что такое CNAB и почему он важен для экосистемы cloud native?

Cloud Native Application Bundle (CNAB) — открытая спецификация, цель которой — упростить упаковку, установку контейнеризированных приложений и управление ими. С помощью таких пакетов пользователи могут определять ресурсы, которые затем разворачиваются в различных runtime-средах, таких как Docker, Azure, Kubernetes, Helm, службы автоматизации (например, используемые в GitOps) и т.д.Читать полностью »

Helmfile — обёртка для helm, которая позволяет в одном месте описывать множество helm релизов, параметризовать их чарты для нескольких окружений, а также задавать порядок их деплоя.

О самом helmfile и примерах его использования можно почитать в readme и best practices guide.

Мы же познакомимся с неочевидными способами описать релизы в helmfile

Допустим, у нас есть пачка helm-чартов (для примера пусть будет postgres и некое backend приложение) и несколько окружений (несколько kubernetes кластеров, несколько namespace'ов или несколько и того, и другого). Берём helmfile, читаем документацию и начинаем описывать наши окружения и релизы:

    .
    ├── envs
    │   ├── devel
    │   │   └── values
    │   │       ├── backend.yaml
    │   │       └── postgres.yaml
    │   └── production
    │       └── values
    │           ├── backend.yaml
    │           └── postgres.yaml
    └── helmfile.yaml

Читать полностью »

В Ситимобил мы используем базу данных MySQL в качестве основного хранилища постоянных данных. У нас есть несколько кластеров баз данных под различные сервисы и цели.

Постоянная доступность мастера является критическим показателем работоспособности всей системы и ее отдельных частей. Автоматическое восстановление кластера в случае отказа мастера сильно снижает время реагирования на инцидент и время простоя системы. В этой статье я рассмотрю схему обеспечения высокой доступности (HA) кластера MySQL на основе MySQL Orchestrator и виртуальных IP адресов (VIP).

Orchestrator и VIP как HA-решение для кластера MySQL - 1
Читать полностью »

DevOps-40: Специальный выпуск!

Добро пожаловать на очередной сбор сообщества DevOps-40, встречу откроет активист сообщества Лев Гончаров, а уже после кофе с печеньками мы подключимся телемостом к ребятам из Флант, которым можно будет задать вопрос по настройке и эксплуатации k8s.

image
Читать полностью »

Исправление проблем под Docker. Казалось бы, при чём здесь GIT? - 1

Докер под Windows — это постоянные приключения. То ему нужно обновить операционку, иначе последние версии не ставятся, то он забывает, как подключаться к сети. В общем, каждый день от него новости. «Поставил и забыл» — это не про Docker Desktop for Windows. Особенно, когда он используется не совсем так, как рекомендуют его разработчики. А они почему-то не одобряют подключение внешних windows сетевых дисков в качестве локальных. И совсем не одобряют доступ к к таким сетевым папкам, которые расположены ещё и на host машине. Пишут, что это ужас-ужас с точки зрения безопасности, требуют всяких ключей типа:

cap_add:
- SYS_ADMIN
- DAC_READ_SEARCH

для работы команды mount в контейнере и прочая, и прочая.
Читать полностью »

LetsEncrypt планирует отозвать свои сертификаты из-за программной ошибки - 1
Компания LetsEncrypt, предлагающая к использованию бесплатные сертификаты ssl для шифрования, вынуждена аннулировать некоторые сертификаты.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js