KamoCRM

El clúster en el que operamos nuestra propia empresa

Una plataforma de producción Kubernetes, operada por las personas que la implementan

KamoCRM no se ejecuta en la plataforma como servicio de otra persona, sino en un clúster RKE2 Kubernetes que creamos, operamos y que nos despierta, con nuestro propio almacenamiento, entrada, automatización de certificados, virtualización y registro de imágenes. Todo lo que sabemos sobre el envío de software que se mantiene en funcionamiento, lo aprendimos aquí, a nuestro propio costo.

Cada número aquí nombra de dónde vino y cuándo fue medido.
MedidaValorFuenteMedido
Implementaciones en el clúster106kubectl get deploy --all-namespaces
Pods para correr267kubectl get pods --all-namespaces
Cargas de trabajo stateful22kubectl get statefulsets --all-namespaces
Espacios de nombres19kubectl get namespaces
Certificados TLS bajo administración automatizada211kubectl get certificate --all-namespaces (cert-manager)
Rutas de entrada40kubectl get ingressroute --all-namespaces (Traefik)
Tiempo de actividad del nodo del plano de control266 dayskubectl get nodes -o wide, AGE column
Versión de Kubernetesv1.35.6+rke2r1kubectl get nodes -o wide, VERSION column

Qué edificio nos enseñó

Habría sido más fácil alquilarla. Managed Kubernetes existe, es bueno, y elegirlo habría eliminado toda una categoría de problemas de nuestras vidas. Ejecutamos nuestro propio porque la plataforma lleva cosas que una oferta administrada no aloja para usted a un precio razonable: telefonía que necesita un control de red real, medios WebRTC que necesitan rutas UDP predecibles, inferencia que necesita hardware, y porque una empresa que vende competencia en infraestructura debe ser capaz de demostrarlo en lugar de describirlo.

El clúster lleva Longhorn para el almacenamiento de bloques replicado, Traefik para ingress, cert-manager que emite certificados por nombre de host, KubeVirt para las cargas de trabajo que realmente necesitan una máquina virtual y un registro privado. Los certificados por sí solos son una buena ilustración de por qué el funcionamiento enseña cosas que la lectura no: se emiten por nombre totalmente cualificado y en serie, por lo que un inquilino que agrega un nombre de host y no espera ve un certificado autofirmado en exactamente un host y concluye que todo el sistema está roto.

Los fallos han sido instructivos en la forma en que solo tus propios fallos lo son. Una migración de esquema que hizo que todos los servicios devolvieran errores durante un cuarto de hora porque los grupos de conexiones tenían una versión de catálogo más antigua. Un nodo cuya segunda interfaz de red corrompeba grandes transferencias intermitentemente, lo que parecía un error de software durante mucho tiempo. Límites de memoria que estaban bien hasta que un recolector de basura no estuvo de acuerdo. Cada uno de esos es ahora algo que diseñamos contra el trabajo del cliente, porque ya pagamos por la lección.

Esta es la diferencia que realmente estamos vendiendo. Una empresa de desarrollo que nunca ha operado lo que construyó le entregará un repositorio y una factura, y el primer incidente de producción será solo suyo.

Construido con

  • Kubernetes (RKE2)
  • Traefik
  • cert-manager
  • Longhorn
  • KubeVirt
  • containerd
  • Docker registry
  • Ubuntu

Para lo que esto nos califica

Platform and DevOps engineeringKubernetes, pipelines and the deployment safety nobody notices until it is missingCustom web applicationsThe system your business actually runs on, built properlyData engineering and migrationMoving data between systems without losing any of it

Cuéntanos lo que estás tratando de hacer

Una breve conversación suele ser suficiente para saber si somos las personas adecuadas, si no lo somos, lo diremos y le indicaremos un lugar mejor.

Iniciar una conversaciónYa uso KamoCRMCómo cotizamos