मुख्य सामग्री पर जाएं
यह लेख AWS EKS पर EKB प्लेटफ़ॉर्म प्रबंधन के लिए Terraform और Terragrunt infrastructure-as-code (IaC) शामिल करता है, जिसमें GKE, AKS और bare-metal Kubernetes के लिए समर्थन stubs शामिल हैं। इसमें सभी Helm chart deployments और वातावरण कॉन्फ़िगरेशन टेम्पलेट्स शामिल हैं।

दस्तावेज़ीकरण


रिपॉज़िटरी संरचना


क्विक स्टार्ट

1. आवश्यक उपकरण स्थापित करें

Terraform
Terragrunt
kubectl और Helm
इंस्टॉलेशन सत्यापित करें

2. एक नया वातावरण बनाएँ

नए वातावरण env-template-folder को कॉपी करके और placeholders भरकर बनाए जाते हैं। पूर्ण चरण-दर-चरण प्रक्रिया के लिए Terragrunt तैनाती गाइड देखें। उच्च-स्तरीय प्रवाह है:

सेवा सक्षम/अक्षम फ़्लैग्स

सभी वैकल्पिक सेवाएँ वातावरण चरों के माध्यम से टॉगल की जाती हैं। terragrunt apply चलाने से पहले इन्हें सेट करें।
Supabase सेल्फ़-होस्टेड तैनाती क्रमSupabase घटकों को क्रम में तैनात किया जाना चाहिए:

Helm Charts संदर्भ


मॉड्यूल्स संदर्भ

modules/eks

प्राथमिक मॉड्यूल। प्रोविज़न करता है:
  • 3 AZs में पब्लिक/प्राइवेट सबनेट्स के साथ VPC
  • EKS क्लस्टर (Kubernetes 1.33) और Karpenter के लिए managed node group
  • Karpenter controller + NodePool + EC2NodeClass
  • IAM भूमिकाएँ (क्लस्टर, node group, Karpenter, ALB controller, EBS CSI driver)
  • helm_releases इनपुट map के माध्यम से सभी Helm releases

modules/aws-services

ElastiCache Redis और Amazon MQ RabbitMQ प्रोविज़न करता है। केवल ENABLE_AWS_SERVICES=true होने पर सक्रिय।

modules/state

नए वातावरण के लिए S3 स्टेट bucket बूटस्ट्रैप करता है (वर्शनिंग, एन्क्रिप्शन, पब्लिक एक्सेस ब्लॉक)।

modules/helm

पुन: प्रयोग योग्य Helm release मॉड्यूल जो upstream chart repositories और स्थानीय chart_path charts दोनों का समर्थन करता है।

वातावरण कॉन्फ़िगरेशन

Placeholders

env-template-folder में हर वातावरण-विशिष्ट मान <YOUR_*> placeholder का उपयोग करता है। तैनाती से पहले कुछ भी शेष न रहने की जाँच के लिए निम्नलिखित चलाएँ:

रिमोट स्टेट

स्टेट प्रति वातावरण S3 में संग्रहीत है। bucket को state/terragrunt.hcl द्वारा बूटस्ट्रैप किया जाता है और root.hcl द्वारा संदर्भित किया जाता है। नामकरण पैटर्न ekb-terraform-state-<env-name> है।

Secrets

संवेदनशील मान (पासवर्ड, API keys, प्रमाणपत्र ARNs) कभी कमिट नहीं किए जाते। इन्हें वातावरण चरों के रूप में पास किया जाता है जिन्हें terragrunt.hcl में get_env() कॉल्स द्वारा उपभोग किया जाता है, या values फ़ाइलों में <YOUR_*> placeholders के रूप में जिन्हें तैनाती से पहले भरा जाना चाहिए।

समस्या निवारण

AWS credentials सत्यापित करें
क्लस्टर पहुँच जाँचें
ALB Controller जाँचें
Karpenter जाँचें
स्टेट लॉक जाँचें
शेष placeholders की जाँच करें
Helm release स्थिति जाँचें

Multi-Cloud समर्थन (योजनाबद्ध)