KamoCRM не работает на чужой платформе-как-услуге. Он работает на RKE2 Kubernetes кластере, который мы строим, управляем и от которого мы просыпаемся — с нашим собственным хранилищем, вступлением, автоматизацией сертификатов, виртуализацией и реестром образов. Все, что мы знаем о поставке программного обеспечения, которое не выходит из строя, мы узнали здесь, за свой собственный счет.
| Мера | Стоимость | Источник | Измеряемые |
|---|---|---|---|
| Развертывание в тематическом блоке | 106 | kubectl get deploy --all-namespaces | |
| Бегущая капсула | 267 | kubectl get pods --all-namespaces | |
| Состояние рабочих нагрузок | 22 | kubectl get statefulsets --all-namespaces | |
| Пространства имен | 19 | kubectl get namespaces | |
| Сертификаты TLS под автоматическим управлением | 211 | kubectl get certificate --all-namespaces (cert-manager) | |
| Пути проникновения | 40 | kubectl get ingressroute --all-namespaces (Traefik) | |
| Время работы узла в плоскости управления | 266 days | kubectl get nodes -o wide, AGE column | |
| Версия Kubernetes | v1.35.6+rke2r1 | kubectl get nodes -o wide, VERSION column |
Чему здание нас научило
Было бы проще взять в аренду. Managed Kubernetes существует, это хорошо, и выбор его устранил бы целую категорию проблем из нашей жизни. Мы запускаем нашу собственную платформу, потому что она содержит то, что управляемое предложение не будет размещать для вас по разумной цене — телефонию, которая требует реального сетевого контроля, медиа WebRTC, которой нужны предсказуемые UDP-пути, вывод, который требует оборудования — и потому что компания, продающая компетенцию в области инфраструктуры, должна быть в состоянии продемонстрировать это, а не описывать.
Кластер содержит Longhorn для реплицируемого блокового хранения, Traefik для ввода, cert-manager, выдающий сертификаты по имени узла, KubeVirt для рабочих нагрузок, действительно нуждающихся в виртуальной машине, и частный реестр. Одни только сертификаты являются хорошей иллюстрацией того, почему работа учит тому, чего чтение не учит: они выдаются по полно-квалифицированному имени и последовательно, так что арендатор, который добавляет имя узла и не ждёт, видит самозаверенный сертификат на точно одном узле и делает вывод, что вся система сломана. Вы не узнаете об этом из документации. Вы узнаете об этом из тикета поддержки.
Неудачи были поучительными в том смысле, что только ваши собственные неудачи являются таковыми. Миграция схемы, которая заставила все службы возвращать ошибки в течение четверти часа, потому что пулы подключений содержали более старую версию каталога. Узел, второй сетевой интерфейс которого периодически повреждал большие передачи, что долгое время выглядело как ошибка в программном обеспечении. Ограничения памяти, которые были в порядке, пока сборщик мусора не выразил несогласия. Каждый из этих моментов теперь является тем, против чего мы разрабатываем клиентскую работу, потому что мы уже заплатили за урок.
Это разница, которую мы на самом деле продаем. Фирма-разработчик, которая никогда не эксплуатировала то, что она построила, даст вам хранилище и счет-фактуру, и первый производственный инцидент будет только ваш. Мы пишем runbooks, потому что они нужны нам в два часа утра.
Построен с
- Kubernetes (RKE2)
- Traefik
- cert-manager
- Longhorn
- KubeVirt
- containerd
- Docker registry
- Ubuntu
Для чего это нас квалифицирует
Расскажите нам, что вы пытаетесь сделать
Обычно достаточно короткого разговора, чтобы узнать, являемся ли мы подходящими людьми. Если нет, мы скажем вам об этом и покажем вам куда-нибудь лучше.
