GH GambleHub

Texnologiyalar va infratuzilma → Kubernetes-klasterlar va Helm-chartlar

Kubernetes-klasterlar va Helm-chartlar

1) Kubernetes va Helm roli

Kubernetes - ilovalar platformasining asosi: yoyish, tarmoq, konfig, sirlar va o’z-o’zini tiklashni standartlashtiradi. Helm - deklarativ manifestlarni versiyalar va qaramliklarni boshqarish bilan takrorlanadigan relizlarga aylantiradigan paket/shablon boshqaruvchisi. Ular birgalikda oldindan aytib bo’ladigan deploi, tezkor qaytish va yagona infratuzilma tilini beradi.

2) Klaster dizayni

2. 1 Topologiya va nosozlikka chidamlilik

Multi-AZ: control plane va ish pullari uzellari zonalar bo’yicha taqsimlangan; Bir tekislik uchun PDB/TopologySpreadConstraints.
Multiregion/DR: mustaqil per-region klasterlari; mintaqalararo qo’ng’iroqlar - faqat «sovuq» yo’llar bo’yicha (kataloglar/telemetriya), «issiq» (hamyon) - mahalliy yo’llar bo’yicha.
Worker-pullar’general’,’compute’,’io’,’spot’(orqa fon vazifalari uchun). nodeSelector/affinity/taints.

2. 2 Nomlar maydoni va ko’p foydalanuvchi modeli

Namespace - domen/buyruqlar boʻyicha izolyatsiya:’payments’,’wallet’,’games’,’reporting’.
ResourceQuota + LimitRange: CPU/RAMning bazaviy limitlari va maksimal nusxalari; klasterni «changyutgichlardan» himoya qilish.
RBAC: faqatgina CI/CD va on-call.

2. 3 Tarmoq

NetworkPolicy (Calico/Cilium) qoʻllab-quvvatlaydigan CNI: namespace/label siyosatini L3/L4.
Ingress → Gateway API:’GatewayClass/Gateway/HTTPRoute’ga o’tish.
Service Mesh (ixtiyoriy): mTLS, retry/breaker, locality-aware; xizmatlararo ishonchlilik uchun nuqtalarni yoqish.

3) Ishonchlilik va masshtablash

3. 1 Skeyling

Faqat CPU emas, balki foydalanuvchi metrikasi (RPS/latency/queue depth) boʻyicha HPA.
yuklamalarning fon sinfida VPA; prodda - «recommendation only» yoki HPA bilan birgalikda turli metriklar bo’yicha.
Cluster Autoscaler: sezgir xizmatlar uchun alohida node groups; eng yuqori cho’qqilarga warm-pool (turnirlar/o’yinlar).

3. 2 Resurslar va QoS

Har bir Pod requests/limits; ’latest’ va’cheksiz’konteynerlardan qochish.
PriorityClass: tanqidiy xizmatlar (’wallet’,’payments’) tanqidiy bo’lmaganlarni almashtiradi.
PDB: Nod yangilanganda «oyog’ingizga o’q uzish» klasteriga yo’l qo’ymaymiz.

3. 3 To’xtovsiz yangilanishlar

RollingUpdate c maxUnavailable = 0.
PodDisruptionBudget + ReadinessProbes (не `startupProbe` вместо readiness).
Cho’qqilar paytida tezkor relizlar uchun Surge-sig’imi - ehtiyotkorlik bilan.

4) Platforma xavfsizligi

namespace darajasida Pod Security (Baseline/Restricted); taqiqlangan’privileged’, hostPath, root.
NetworkPolicy: default-deny va/label portlari boʻyicha oq roʻyxatlar.
Seccomp/AppArmor, non-root users, read-only rootfs.
Secrets: KMS/Vault provayderi (CSI), sirlarni’values’da saqlamaymiz. yaml’ochiq koʻrinishda.
RBAC-minimum: servis hisoblariga faqat zarur huquqlarni beramiz; qisqa umr ko’ruvchi tokenlar.
Admission-nazorat: OPA/Gatekeeper/Kyverno - enforce leybllar, limitlar, policy-qoidabuzarliklar.

5) Observability

OpenTelemetry: Ingress/Gateway → service → DB/kesh, majburiy’service’,’version’,’region’,’partner’,’api _ version’yorliqlari.
Logi: strukturalangan, PII/PANsiz; markazlashtirilgan omborga yo’naltirish.
Metriklar: RED/USE, SLO-dashbordlar, burn-rate alertalar.
Sintetika: zarur mamlakatlardan namunalar/ASN; perimetri va ichki health-checks.

6) GitOps и progressive delivery

Argo CD/Flux: istalgan holat Git’da saqlanadi; har bir namespace - o’z repozitoriyasi/jildidir.
«kubectl apply» emas, balki’dev → stage → prod’artefaktlarini PR orqali reklama qilish.
Canary/Blue-Green: Argo Rollouts/Gateway API; muvaffaqiyat metrikasi - P95/P99, error-rate, biznes-SLI (CR depozitlar).
Orqaga qaytish: Helm/Argo - tugmasi boʻyicha; chartlarda - versiyalar qayd etilgan.

7) Helm: eng yaxshi amaliyotlar

7. 1. Chart tuzilmasi


my-service/
Chart. yaml     # name, version (SemVer), appVersion values. yaml # base values (no secrets)
values-prod. yaml # prod overrides (no secrets)
templates/
_helpers. tpl # naming, common deployment templates. yaml service. yaml hpa. yaml pdb. yaml networkpolicy. yaml serviceaccount. yaml ingress_or_gateway. yaml charts/# dependencies (opcional)
Tavsiyalar:
  • ’version’ - chart versiyasi (SemVer),’appVersion’- ilova versiyasi (imij).
  • ’{{include’ svc. fullname".}}’+ yorliqlar’app. kubernetes. io/`.
  • Majburiy manifestlar: Deployment/StatefulSet, Service, ServiceAccount, HPA (iloji boʻlsa), PDB, NetworkPolicy.

7. 2 Values strategiyasi

Asosiy’values. yaml’- defoltlar, sirlar va atrof-muhit o’ziga xos xususiyatlarsiz.
Overraydlar:’values- {stage’prod} .yaml’+ per-region fayllari.
Sirlar: SOPS (’values-prod. sops. yaml’) yoki CSI orqali Vault-inyeksiya.
Resurslar va namunalar parametrlari - values’da «oqilona» defoltlar bilan.

7. 3 Qaramliklar va umumiy kod

Patternlar uchun umumiy chartlar (probes, annotations, NetworkPolicy).
Bogʻliqlik (’requirements ’/’ Chart. yaml’) versiyasini qayd qiling; chin koʻngildan qoching.

7. 4 Shablonlar va tekshirishlar

’required’ va’fail’dan’_ helpers’ga foydalaning. kritik qiymatlar uchun tpl’.
Values sxemasini validatsiya qilish. schema. json`.
Chartning birlik-testlari -’helm unittest’; statik tahlil - kubeconform/kubeval.
Lokal tuzatish -’helm template’+’-values’+’kubeconform’.

7. 5 Relizlar va saqlash

Konteynerlarning OCI-registrlariga push-chartlar; SemVer.
Helmfile/`helmfile. d’ko’p qatorli rulonlarni orkestrlash uchun.
CI artefaktlari: ishlab chiqarilgan manifestlar + lockfile qaramliklari.

8) Misol: Deployment (Helm shablon parchasi)

yaml apiVersion: apps/v1 kind: Deployment metadata:
name: {{ include "svc. fullname". }}
labels: {{ include "svc. labels". nindent 4 }}
spec:
replicas: {{.Values. replicas      default 3 }}
strategy:
type: RollingUpdate rollingUpdate:
maxSurge: 1 maxUnavailable: 0 selector:
matchLabels: {{ include "svc. selectorLabels". nindent 6 }}
template:
metadata:
labels: {{ include "svc. selectorLabels". nindent 8 }}
annotations:
checksum/config: {{ include (print $.Template. BasePath "/configmap. yaml"). sha256sum }}
spec:
serviceAccountName: {{ include "svc. serviceAccountName". }}
securityContext:
runAsNonRoot: true containers:
- name: app image: "{{.Values. image. repository }}:{{.Values. image. tag }}"
imagePullPolicy: IfNotPresent ports:
- name: http containerPort: {{.Values. ports. http }}
resources:
requests:
cpu: {{.Values. resources. requests. cpu }}
memory: {{.Values. resources. requests. memory }}
limits:
cpu: {{.Values. resources. limits. cpu }}
memory: {{.Values. resources. limits. memory }}
readinessProbe:
httpGet:
path: /healthz port: http periodSeconds: 5 envFrom:
- secretRef:
name: {{ include "svc. secretsName". }}

9) Sirlar va konfiguratsiyalar

Secrets CSI (Vault/KMS) yoki SOPS orqali Git-repozitoriyada (GPG/KMS kalitlari; taqiq’kubectl edit’).
ConfigMap/Secret checksum rolling-reliz triggeri uchun izohlar.
PAN/PII saqlanmasligi; tokenizatsiyadan foydalanish.
Sealed Secrets ruxsat etilgan, ammo SOPS yoki to’g’ridan-to’g’ri CSI afzalroqdir.

10) Tarmoq va perimetr

L7-routing, kanareykalar va blue-green uchun Gateway API; sticky-sessiyalar faqat zarur bo’lganda.
mTLS to’lov yadrosi uchun mesh/sidecar-less (Cilium) orqali xizmatlar o’rtasida.
Egress: tashqi uzellarning nazorat qilinadigan ro’yxati (PSP/KYC), qat’iy belgilangan NAT-IP, taymautlar va retraylar byudjeti.

11) Stateful-servislar va ma’lumotlar

OLTP-DB uchun boshqariladigan bulutlar xizmatlaridan yoki alohida klasterlardagi operatorlardan (Postgres/MySQL) foydalaning.
Snapshotlar va backaplar siyosati bilan PVC/CSI; replikalar uchun’PodAntiAffinity’.
Navbatlar/striming uchun - boshqariladigan yechimlar yoki ajratilgan klaster; «umumiy» ilova klasterida minimal holatni saqlab turish.

12) CI/CD konveyer (referens)

1. Build & test → 2) SCA/lint → 3) Registrdagi tasvir (SBOM, imzo) →

2. Helm-chartni yaratish +’helm unittest’+ kubeconform →

3. CD rantaymidagi SOPS-dekript → 6) GitOps-repozitoriyadagi PR →

4. Argo/Flux qo’llaydi → 8) Argo Rollouts canary → 9) SLO bo’yicha avtomatik hukm → 10) Promosyon/orqaga qaytish.

13) Platformaning etuklik metrikasi

GitOps orqali relizlar ulushi (maqsad: 100%).
To’plash vaqti (P95) tayyor bo’lgunga qadar, MTTR orqaga qaytish.
Namespace’larni qoplash Pod Security va NetworkPolicy (maqsad: 100%).
HPA va toʻgʻri requests/limits bilan% services.
% s’values. schema. json’i yunit-testlar.
«Qoʻlda» oʻzgarishlar natijasida yuzaga kelgan hodisalar (maqsad: 0).

14) Joriy etish chek-varaqasi

1. Zonalar bo’yicha klaster, profillar bo’yicha uzellar puli; PDB/TopologySpreadConstraints.
2. Namespace modeli, ResourceQuota/LimitRange, RBAC minimal.
3. Pod Security (Restricted) и default-deny NetworkPolicy.
4. Gateway API/Ingress; egress-nazorat va NAT-provayderlarga qayd etish.
5. Observability: OTel treyslari, RED/USE, geo bo’yicha sintetika; SLO-dashbordlar.
6. GitOps (Argo/Flux), canary/blue-green, metrik avtosanoat.
7. Helm-standartlar: tuzilma, sxema. json, testlar, SOPS/Vault, OCI registrlari.
8. HPA/VPA, Cluster Autoscaler, choʻqqilarga warm-pool.
9. Ma’lumotlar bilan operatsiyalar: CSI snapshotlar, bekaplar, operatorlar/managed DB.
10. Muntazam DR/chaos testlari va game-days.

15) Anti-patternlar

Izolyatsiyasiz va kvotasiz hamma uchun bitta «ulkan» klaster.
Resurslar cheklanmagan konteynerlar,’latest’teglar, probes mavjud emas.
Sirlar v’values. yaml’ochiq ko’rinishda,’kubectl edit’prodda.
GitOps orqali relizlar, manifestlarni jonli klasterda qoʻlda tahrirlash.
NetworkPolicy/Pod Security yo’qligi - «tekis» tarmoq.
Turli xil yuklamalar uchun CPU bo’yicha yagona umumiy HPA-signal.
OLTP-DBni ilovaning «umumiy» klasteri ichida operator va bekaplarsiz saqlash.

16) iGaming/fintech konteksti: amaliy notalar

To’lov vebxuklari: ajratilgan ingress/gateway va tor egress to PSP; qat’iy taymautlar/retralar; alohida uzellar puli.
VIP-trafik: ustuvorlik va alohida yo’nalishlar; Barqarorlik uchun PDB va topologiya spread.
Turnirlar/cho’qqilar: warm-pool uzellari + bashorat qilingan HPA; kesh/ulanishlarni isitish.
Hisobot/CDC: ETL prodga ta’sir qilmasligi uchun alohida klaster/hovuz.
Tartibga solish: o’zgarmas loglar (WORM), PII tokenizatsiya, tarmoqlarni segmentlash.

Jami

Kuchli Kubernetes platformasi «YAML to’plami» emas, balki standartlar: izolyatsiya, xavfsizlik siyosati, boshqariladigan resurslar, kuzatuv va GitOps intizomi. Helm-chartlar - sizning etkazib berish shartnomangiz: oldindan aytib bo’ladigan relizlar, sinovdan o’tkaziladigan shablonlar, sirlar bilan xavfsiz ishlash va oddiy qaytishlar. Ushbu printsiplarni mustahkamlab, siz eng yuqori cho’qqilarni boshdan kechirayotgan, relizlarni tezlashtiradigan va biznes va regulyatorlarning talablariga javob beradigan klasterlarga ega bo’lasiz.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Telegram
@Gamble_GC
Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.