KamoCRM

हम अपनी कंपनी पर चलाने के लिए क्लस्टर

एक उत्पादन Kubernetes प्लेटफार्म, लोगों द्वारा संचालित जो इसे तैनात करते हैं

KamoCRM किसी अन्य के प्लेटफार्म-जैसे-एक-सेवा पर नहीं चल रहा है. यह एक RKE2 Kubernetes क्लस्टर पर चल रहा है जिसे हम बनाते हैं, संचालित करते हैं और जागते हैं - अपने स्वयं के भंडारण, प्रवेश, प्रमाणपत्र स्वचालन, आभासीकरण और छवि रजिस्टर के साथ. हम जो भी सॉफ्टवेयर भेजने के बारे में जानते हैं जो कि ऊपर रहता है, हमने यहाँ सीखा, अपने स्वयं के खर्च पर.

प्रत्येक संख्या यहाँ नाम है कि यह कहाँ से आया था और जब मापा गया था।
मापमूल्यस्रोतमापा
क्लस्टर में तैनाती106kubectl get deploy --all-namespaces
चल रहे पोड्स267kubectl get pods --all-namespaces
स्टेटफुल वर्कलोड्स22kubectl get statefulsets --all-namespaces
नेमस्पेस19kubectl get namespaces
स्वचालित प्रबंधन के तहत टीएलएस प्रमाणपत्र211kubectl get certificate --all-namespaces (cert-manager)
प्रवेश मार्ग40kubectl get ingressroute --all-namespaces (Traefik)
नियंत्रण-प्लेन नोड अपटाइम266 dayskubectl get nodes -o wide, AGE column
Kubernetes संस्करणv1.35.6+rke2r1kubectl get nodes -o wide, VERSION column

क्या इमारत यह हमें सिखाया

यह किराए पर लेना आसान होता. प्रबंधित Kubernetes मौजूद है, यह अच्छा है, और इसे चुनने से हमारे जीवन से समस्या की पूरी श्रेणी को हटा दिया जाता है. हम अपने स्वयं के चलाते हैं क्योंकि प्लेटफॉर्म चीजों को लेता है जो प्रबंधित पेशकश आपके लिए एक समझदार कीमत पर होस्ट नहीं करेगा - टेलीफोनी जिसे वास्तविक नेटवर्क नियंत्रण की आवश्यकता होती है, WebRTC मीडिया जिसे पूर्वानुमानित UDP पथ की आवश्यकता होती है, निष्कर्षण जिसे हार्डवेयर की आवश्यकता होती है - और क्योंकि एक कंपनी जो बुनियादी ढांचे की क्षमता बेचती है उसे इसे वर्णन करने के बजाय इसे दिखाने में सक्षम होनी चाहिए।

क्लस्टर प्रतिकृति ब्लॉक भंडारण के लिए लॉन्गहोर्न, Traefik के लिए प्रवेश, प्रति होस्टनाम प्रमाणपत्र जारी करने वाला प्रमाणपत्र प्रबंधक, वॉकरलोड के लिए KubeVirt जो कि वास्तव में एक आभासी मशीन की आवश्यकता है, तथा एक निजी रजिस्टर लेता है. प्रमाणपत्र अकेले ही एक अच्छा उदाहरण है कि ऑपरेटिंग पढ़ने की चीजों को क्यों नहीं सिखाता है: वे प्रति पूर्ण- योग्य नाम और क्रमिक रूप से जारी किए जाते हैं, इसलिए एक किराएदार जो होस्टनाम जोड़ता है और इंतजार नहीं करता है वह एक स्वयं हस्ताक्षरित प्रमाणपत्र को एक होस्ट पर देखता है और निष्कर्ष निकालता है कि पूरा तंत्र टूटा है. आप यह दस्तावेज़ीकरण से नहीं सीखते हैं. आप इसे समर्थन टिकट से सीखते हैं.

असफलताएँ इस तरह से शिक्षाप्रद रही हैं जैसे कि सिर्फ आपकी अपनी असफलताएँ हैं. एक स्कीमा माइग्रेशन जिसने हर सेवा को एक घंटे के लिए त्रुटियाँ लौटा दी क्योंकि कनेक्शन पूल पुराने कैटलॉग संस्करण को रख रहे थे. एक नोड जिसका दूसरा नेटवर्क इंटरफेस अनियमित रूप से बड़े स्थानांतरणों को खराब कर रहा था, जो लंबे समय तक सॉफ्टवेयर बग की तरह दिखता था. मेमोरी सीमाएँ जो ठीक थीं जब तक कि एक कचरा इकट्ठा करने वाला सहमत नहीं हुआ. उनमें से प्रत्येक अब ग्राहक कार्य पर कुछ ऐसा है जिसके खिलाफ हम डिजाइन करते हैं, क्योंकि हमने पहले से ही सबक के लिए भुगतान किया है.

यह अंतर है जो हम वास्तव में बेच रहे हैं. एक विकास फर्म जिसने कभी नहीं संचालित किया है जो उसने बनाया है वह आपको एक भंडार और एक बिल देगा, और पहला उत्पादन घटना आप अकेले होंगे. हम रनबुक लिखते हैं क्योंकि हमें सुबह दो बजे उनकी आवश्यकता होती है.

के साथ बनाया गया

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

क्या यह हमारे लिए योग्य है

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

हमें बताएं कि आप क्या करने की कोशिश कर रहे हैं

एक छोटी बातचीत आमतौर पर यह बताने के लिए पर्याप्त है कि क्या हम सही लोग हैं. यदि हम नहीं हैं, तो हम ऐसा कहेंगे और आपको कहीं बेहतर जगह दिखाएंगे.

बातचीत प्रारंभ करेंमैं पहले से प्रयोग कर रहा हूँ KamoCRMहम कैसे उद्धृत करते हैं