رہنمائی
Kubernetes پر تعینات کریں
ساتھ فراہم کردہ Helm chart کے ساتھ پروڈکشن HA تعیناتی۔
ان ٹیموں کے لیے جنہیں HA، ملٹی ریجن کی ضرورت ہے، یا جو کسی واحد ہوسٹ پر بھروسہ کرنے میں راحت محسوس نہیں کرتیں۔ ہم deploy/helm/singlink/ پر ایک مکمل Helm chart فراہم کرتے ہیں۔
فن تعمیر
Ingress (nginx / Cloudflare)
│
┌──────────┼──────────┐
│ │ │
web (×N) ws (×N) worker (×N)
│ │ │
└────┬─────┴────┬─────┘
│ │
Postgres Redis S3
(managed) (managed) (managed)انسٹالیشن
helm install singlink ./deploy/helm/singlink \
--namespace singlink --create-namespace \
--set domain.app=chat.acme.com \
--set secret.authSecret="$(openssl rand -base64 32)" \
--set secret.postgresPassword="$(openssl rand -base64 24)" \
--set secret.redisPassword="$(openssl rand -base64 24)" \
--set s3.endpoint="https://s3.us-east-1.amazonaws.com" \
--set s3.bucket="acme-singlink" \
--set s3.accessKey="AKIA..." \
--set s3.secretKey="..."کیا کیا بنتا ہے
- 3 Deployments:
web،ws،worker - 2 Services (web HTTP، ws sticky-session)
- WS اپ گریڈ رول کے ساتھ 1 Ingress
- اختیاری ایمبیڈڈ postgres + redis StatefulSets
- انسٹالیشن کے بعد ایک Job جو
prisma migrate deployچلاتا ہے - کنفیگریشن اور کریڈینشلز کے لیے ConfigMap + Secret
پروڈکشن چیک لسٹ
- ایمبیڈڈ ڈیٹابیسز کو غیر فعال کریں اور منظم شدہ RDS / ElastiCache کی طرف اشارہ کریں:
--set embedded.postgres.enabled=false --set externalDatabaseUrl=... - آٹو اسکیلنگ فعال کریں:
--set autoscaling.enabled=true --set autoscaling.maxReplicas=20 - ingress پر TLS: cert-manager انسٹال کریں اور سیٹ کریں
ingress.tls.secretName="singlink-tls" - WS کے لیے sticky session پہلے ہی Service کی سطح پر ترتیب دیا جا چکا ہے (
sessionAffinity: ClientIP) —— کسی اضافی ingress تشریح کی ضرورت نہیں - سیکریٹس کا انتظام: CLI کے ذریعے قدریں پاس کرنے کے بجائے Sealed Secrets یا External Secrets استعمال کریں
- S3: AWS S3، R2، GCS، یا ایک منظم شدہ MinIO۔ یہ chart نہیں MinIO فراہم کرتا —— K8s میں اسٹیٹ فل آبجیکٹ اسٹوریج چلانا مزے کا نہیں ہوتا
اسکیلنگ
# Manual scale
kubectl -n singlink scale deploy singlink-web --replicas=5
kubectl -n singlink scale deploy singlink-worker --replicas=10
# With autoscaling.enabled=true, HPAs do this automatically based on CPU.اپ گریڈز
helm upgrade singlink ./deploy/helm/singlink -n singlink \
--set image.tag=v0.2.0 \
--reuse-values
# Helm hook runs the migrate Job post-upgrade automatically.قابل مشاہدہ پن
Next.js کا healthcheck /api/healthz پر ہے (پہلے ہی readiness/liveness probes سے جوڑا جا چکا ہے)۔ میٹرکس کے لیے، Prometheus کو اپنی پسند کے معیاری sidecar کی طرف اشارہ کریں۔ ٹریسنگ کے لیے، ConfigMap میں OTEL_EXPORTER_OTLP_ENDPOINTسیٹ کریں۔
انٹرپرائز
EE فیچرز کو فعال کرنے کے لیے، پبلک کی + گاہک کا لائسنس پاس کریں:
helm upgrade singlink ./deploy/helm/singlink -n singlink \
--reuse-values \
--set secret.licensePublicKey="..." \
--set secret.licenseKey="..."مکمل لائسنسنگ فلو کے لیے CE vs EE دیکھیں۔