KamoCRM

Le cluster sur lequel nous exploitons notre propre entreprise

Une plateforme de production Kubernetes, exploitée par les personnes qui s’y déploient

KamoCRM ne s'exécute pas sur une plateforme en tant que service de quelqu'un d'autre, mais sur un cluster RKE2 Kubernetes que nous construisons, exploitons et sur lequel nous nous réveillons, avec notre propre stockage, notre propre entrée, notre propre automatisation des certificats, notre propre virtualisation et notre propre registre d'images. Tout ce que nous savons sur la livraison de logiciels qui restent en service, nous l'avons appris ici, à nos propres frais.

Chaque chiffre indique d'où il vient et quand il a été mesuré.
MesureValeurSourceMesurées
Déploiements dans le cluster106kubectl get deploy --all-namespaces
Pods de course267kubectl get pods --all-namespaces
Charges de travail stateful22kubectl get statefulsets --all-namespaces
Namespaces19kubectl get namespaces
Certificats TLS sous gestion automatisée211kubectl get certificate --all-namespaces (cert-manager)
Routes d'entrée40kubectl get ingressroute --all-namespaces (Traefik)
Temps de fonctionnement du nœud du plan de contrôle266 dayskubectl get nodes -o wide, AGE column
Version de Kubernetesv1.35.6+rke2r1kubectl get nodes -o wide, VERSION column

Quel bâtiment il nous a appris

Il aurait été plus facile de louer. Managed Kubernetes existe, c’est une bonne chose, et le choisir aurait éliminé toute une catégorie de problèmes de notre vie. Nous gérons notre propre plateforme parce qu’elle offre des fonctionnalités qu’une offre gérée ne peut pas héberger pour vous à un prix raisonnable – la téléphonie qui nécessite un contrôle réel du réseau, les médias WebRTC qui nécessitent des chemins UDP prévisibles, l’inférence qui nécessite du matériel – et parce qu’une entreprise qui vend des compétences en infrastructure devrait être en mesure de les démontrer plutôt que de les décrire.

Le cluster utilise Longhorn pour le stockage de blocs répliqués, Traefik pour l'entrée, cert-manager pour l'émission de certificats par nom d'hôte, KubeVirt pour les charges de travail qui ont réellement besoin d'une machine virtuelle et un registre privé. Les certificats à eux seuls sont une bonne illustration de la raison pour laquelle l'exploitation enseigne les choses que la lecture ne fait pas : ils sont émis par nom entièrement qualifié et en série, de sorte qu'un client qui ajoute un nom d'hôte et n'attend pas voit un certificat auto-signé sur exactement un hôte et conclut que le système entier est cassé.

Les échecs ont été instructifs dans la mesure où seuls vos propres échecs le sont. Une migration de schéma qui a fait que chaque service a renvoyé des erreurs pendant un quart d'heure parce que les pools de connexion contenaient une version de catalogue plus ancienne. Un nœud dont la deuxième interface réseau corrompt de manière intermittente les gros transferts, ce qui a longtemps semblé être un bogue logiciel. Des limites de mémoire qui étaient correctes jusqu'à ce qu'un collecteur de déchets ne soit pas d'accord. Chacun de ces problèmes est maintenant quelque chose que nous concevons pour le travail client, parce que nous avons déjà payé pour la leçon.

C’est la différence que nous vendons en fait. Une société de développement qui n’a jamais exploité ce qu’elle a construit vous remettra un dépôt et une facture, et le premier incident de production vous appartiendra à vous seul.

Construit avec

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

Ce qui nous qualifie

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

Dites-nous ce que vous essayez de faire

Une courte conversation est généralement suffisante pour savoir si nous sommes les bonnes personnes, si nous ne le sommes pas, nous le dirons et vous indiquerons quelque part mieux.

Commencez une conversationJ'utilise déjà KamoCRMComment nous citons