KamoCRM

O cluster em que operamos nossa própria empresa

Uma plataforma de produção Kubernetes, operada pelas pessoas que a implantam

O KamoCRM não é executado em uma plataforma como serviço de outra pessoa, mas em um cluster RKE2 Kubernetes que criamos, operamos e pelo qual somos ativados — com nosso próprio armazenamento, entrada, automação de certificados, virtualização e registro de imagens. Tudo o que sabemos sobre o fornecimento de software que permanece em operação, aprendemos aqui, às nossas próprias custas.

Cada número aqui nomeia de onde veio e quando foi medido.
MedidaValorFonteMedido
Implantações no cluster106kubectl get deploy --all-namespaces
Pods de corrida267kubectl get pods --all-namespaces
Cargas de trabalho stateful22kubectl get statefulsets --all-namespaces
Namespaces19kubectl get namespaces
Certificados TLS sob gerenciamento automatizado211kubectl get certificate --all-namespaces (cert-manager)
Rotas de entrada40kubectl get ingressroute --all-namespaces (Traefik)
Control-plane node uptime266 dayskubectl get nodes -o wide, AGE column
Versão de Kubernetesv1.35.6+rke2r1kubectl get nodes -o wide, VERSION column

Que edifício nos ensinou

Teria sido mais fácil alugar. O Managed Kubernetes existe, é bom e escolhê-lo teria removido toda uma categoria de problemas de nossas vidas. Nós executamos nosso próprio porque a plataforma carrega coisas que uma oferta gerenciada não hospedará para você a um preço razoável — telefonia que precisa de controle de rede real, mídia WebRTC que precisa de caminhos UDP previsíveis, inferência que precisa de hardware — e porque uma empresa que vende competência em infraestrutura deve ser capaz de demonstrá-la em vez de descrevê-la.

O cluster carrega o Longhorn para armazenamento em bloco replicado, Traefik para entrada, o cert-manager que emite certificados por nome de host, o KubeVirt para as cargas de trabalho que realmente precisam de uma máquina virtual e um registro privado. Certificados por si só são uma boa ilustração do porquê o funcionamento ensina coisas que a leitura não ensina: eles são emitidos por nome totalmente qualificado e em série, então um locatário que adiciona um nome de host e não aguarda vê um certificado autoassinado exatamente em um host e conclui que todo o sistema está quebrado.

As falhas foram instrutivas da maneira que apenas as suas próprias falhas são. Uma migração de esquema que fez com que todos os serviços retornassem erros por um quarto de hora porque os pools de conexão estavam mantendo uma versão mais antiga do catálogo. Um nó cuja segunda interface de rede corrompeu grandes transferências intermitentemente, o que parecia um bug de software por um longo tempo. Limites de memória que estavam bem até que um coletor de lixo discordou. Cada um desses é agora algo que projetamos contra o trabalho do cliente, porque já pagamos pela lição.

Esta é a diferença que estamos realmente vendendo. Uma empresa de desenvolvimento que nunca operou o que construiu lhe dará um repositório e uma fatura, e o primeiro incidente de produção será seu sozinho.

Construído com

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

O que isso nos qualifica para

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

Diga-nos o que você está tentando fazer

Uma breve conversa geralmente é suficiente para dizer se somos as pessoas certas, se não formos, diremos isso e indicaremos um lugar melhor.

Iniciar uma conversaEu já uso KamoCRMComo citamos