Среда разработки на базе kubernetes

Для разработки достаточно сделать однонодовый кластер kubernetes. Где он будет располагаться не важно. В моём случае это будет виртуальная машина 8CPU 16Gb RAM.

Планируемые приложения

Все необходимые для разработки приложения планируется размешать к kubernetes.

В качестве дистрибутива kubernetes будет использоваться k3s.

Планируемые приложения:

  • Gitlab.
  • Gitlab runner.
  • Harbor.
  • Контейнер с инструментами разработчика.
    • Доступ по ssh.
    • Домашняя директория пользователя смонтирована как внешний том.
    • Установленные инструменты разработчика (компиляторы, доп утилиты) в домашнюю директорию пользователя.
  • База данных PostgreSQL без кластера.
  • Minio.
  • ArgoCD.

И т.д. и т.п.

Первое видео из серии

В публичном доступе уже 7 серий из 10. Все серии доступны на Boosty.

Включение ssl в чарте bitnami kafka

Видео снято по просьбе одного хорошего человека.

Файлы, используемые в видео: https://github.com/BigKAA/youtube/tree/master/kafka

Видео 1

Готовим поляну для экспериментов.

  • 00:00 Вступление
  • 01:29 Минимальные требования
  • 03:23 Условия задачи
  • 04:54 Немного о VSCode
  • 07:05 Создание чарта обертки
  • 22:25 Тестирование чарта (без ssl)

Видео 2

Включаем ssl.
Выписываем сертификаты.
Решаем проявившиеся проблемы.

  • 00:00 Вступление
  • 01:01 Создание сертификата CA
  • 08:05 Сертификат kafka broker
  • 14:19 Сертификат zookeeper
  • 18:00 Редактирование values файла
  • 28:10 Первый запуск
  • 30:17 Включение клиента kafka — zookeeper
  • 33:52 Разбор ошибки
  • 38:06 Решение проблемы.
  • 44:49 Вторая проблема и её решение
  • 49:07 Итого

Видео 3

Подключаем клиенты.

  • 00:00 Вступление
  • 01:55 Подключение «внутреннего» клиента
  • 02:33 Сертификат клиента
  • 06:03 Настройка Kafdrop
  • 16:05 Внешний клиент
  • 31:47 Итого

Слегка продвинутый Helm (gitflic)

Серия видео про Helm

Файлы, используемые в видео: https://github.com/BigKAA/youtube/tree/master/Utils/gitflic

Видео 1

Разбираемся с приложением gitflic, которое необходимо запускать в kubenetes. Выясняем, что необходимо для его работы.
Готовим контейнер с приложением под нашу задачу.

Видео 2

Начинаем создавать чарт. Добавляем сабчарты redis и postgresql.
Файла values.yaml и параметры сабчартов.

Видео 3

Добавляем ConfigMap приложения gitflic. Описываем основные конфигурационные параметры.
Добавляем параметры связанные с сабчартами redis и postgresql.

Видео 4

Добавляем Job создающий базу данных, пользователя и расширения posgresql.
Тестируем запуск сабчартов postgresql и redis в кластере kubernetes.

Видео 5

Добавляем шаблоны встроенного mail relay.
Добавляем параметры, связанные с mail relay в конфигурационный файл gitflic.

Видео 6

Разбираемся, что использовать: Deployment или StatefulSet?
Какие типы volumes требуются приложению.
Создаём шаблон Deployment.

Видео 7

Создаём шаблоны StatufulSet.
Три сервиса.
Ingress

Видео 8

Установка gitlab в kubernetes

Установка gitlab в кластере kubernetes. Используем helm chart и внешние хранилища.

  • 00:00 — Введение
  • 07:10 — Необходимые приложения
  • 11:04 — Helm chart
  • 12:58 — values file
  • 14:41 — initialRootPassword
  • 16:04 — PVC
  • 16:50 — Redis и PostgreSQL
  • 18:57 — Ingress
  • 20:28 — hosts
  • 21:54 — Хранилище объектов
  • 24:46 — smtp
  • 26:57 — mail relay
  • 36:00 — horizontalPodAutoscaler
  • 38:42 — helm install
  • 41:03 — WEB interface

Файлы, используемые в видео: https://github.com/BigKAA/youtube/tree/master/gitlab

Поддержи канал на https://boosty.to/bigkaa

Это видео на других площадках:

Semaphore (ansible UI) в kubernetes

Установка Semaphore в kubernetes.
Написал манифесты по мотивам docker-compose.yml из документации Semaphore.
Заодно посмотрим, как это все работает.

  • 00:00 — Вступление
  • 06:03 — Готовим манифесты
  • 20:09 — Добавляем проект и запускай playbook

Файлы, используемые в видео: https://github.com/BigKAA/youtube/tree/master/semaphore

Поддержи канал на https://boosty.to/bigkaa

Это видео на других площадках:

Zalando spilo in kubernetes — manifests

Установка кластера PostgreSQL в kubernetes при помощи контейнеров Zalando/spilo.

В этой части только манифесты. Чарты и операторы будут в следующих видео.

00:00 — Введение
03:01 — Базовый манифест
04:13 — replicas
05:15 — podManagementPolicy
06:09 — Контейнер
10:11 — Переменные среды окружения
11:18 — Настройка резервного копирования
14:20 — PVC
17:54 — Secret
19:20 — Affinity
22:37 — Запуск приложения
24:43 — Services (ну очень интересные фичи)
31:10 — Service NodePort
33:53 — Подключение к БД
37:49 — Инструменты внутри контейнера
41:47 — Заключение Файлы, используемые в видео:

Поддержи канал на https://boosty.to/bigkaa

Видео:

Rancher — Continuous Delivery

Continuous Delivery средствами Rancher.

Видео больше философское. Много воды. Поэтому timeline я не делал.

Файлы, используемые в видео: https://github.com/BigKAA/youtube/tree/master/rancher/05-cd

Поддержи канал на https://boosty.to/bigkaa

Плейлист цикла по rancher:

Это видео на других площадках:

Rancher [10] — Мониторинг приложений пользователя

Мониторинг приложений пользователя стандартными средствами Rancher.

  • 00:00 — Введение.
  • 00:44 — Установка приложения пользователя.
  • 07:16 — Доступ к стандартным метрикам.
  • 10:59 — Сбор бизнес метрик приложения.
  • 15:20 — Добавление дашборда в Grafana.
  • 20:30 — Итого.

Поддержи канал на https://boosty.to/bigkaa

Плейлист цикла по Rancher:

Видео:

Rancher [09] — Мониторинг кластера.

Мониторинг кластера стандартными средствами Rancher.

  • 00:00 — Введение.
  • 01:56 — Теория, kube-prometheus.
  • 10:49 — Начало установки.
  • 16:19 — Values file.
  • 22:22 — Смотрим, что получилось.
  • 25:47 — Добавляем мониторинг etcd.
  • 29:52 — Sevice Monitor
  • 38:28 — Итого.

Плейлист цикла по rancher:

Видео: