GH GambleHub

Tehnologiýalar we infrastruktura → Kubernetes-klasterler we Helm-diagrammalar

Kubernetes-klasterler we Helm-diagrammalar

1) Kubernetes we Helm roly

Kubernetes programma platformasynyň esasyny düzýär: aýlawy, tory, konfigi, syrlary we öz-özüni dikeltmegi standartlaşdyrýar. Helm - deklaratiw manifestleri wersiýalary we garaşlylygy dolandyrýan gaýtalanýan neşirlere öwürýän paket/şablon dolandyryjysy. Olar bilelikde öňünden aýdyp boljak deploidleri, çalt yza gaýdyp gelişleri we bitewi infrastruktura dilini berýär.

2) Klaster dizaýny

2. 1 Topologiýa we şowsuzlyga çydamlylyk

Multi-AZ: control plane we iş howuzlarynyň düwünleri zolaklar boýunça paýlanýar; Düzgünlilik üçin PDB/TopologySpreadConstraints.
Multiregion/DR: per-region garaşsyz toparlar; sebitara jaňlar - diňe "sowuk" ýollar boýunça (kataloglar/telemetriýa), "gyzgyn" (gapjyk) - ýerli.
Worker howuzlary: 'general', 'compute', 'io', 'spot' (fon meseleleri üçin). nodeSelector/affinity/taints arkaly bellenýär.

2. 2 At giňişligi we köp ulanyjy modeli

Namespace-domen/komut boýunça izolýasiýa: 'payments', 'wallet', 'games', 'reporting'.
ResourceQuota + LimitRange: CPU/RAM-yň esasy çäkleri we iň köp sözleri; klasteri "tozan sorujylardan" goramak.
RBAC: rollary read-only, write - diňe CI/CD we on-call.

2. 3 Tor

NetworkPolicy (Calico/Cilium) tarapyndan goldanýan CNI: namespace/label syýasaty L3/L4.
Ingress → Gateway API: kanareýalar we köp tenantlyk üçin 'GatewayClass/Gateway/HTTPRoute' modeline geçmek.
Service Mesh (goşmaça): mTLS, retry/breaker, locality-aware; hyzmatara ygtybarlylyk üçin nokady goşmak.

3) Ygtybarlylyk we masştab

3. 1 Skeyling

HPA diňe bir CPU däl, ulanyjy metrikleri boýunça (RPS/latency/queue depth).
fon ýükler synpynda VPA; önümde - "recommendation only" ýa-da HPA bilen dürli metrler boýunça bilelikde.
Cluster Autoscaler: duýgur hyzmatlar üçin aýratyn node groups; warm-pool (ýaryşlar/oýunlar).

3. 2 Çeşmeler we QoS

Her Pod-da requests/limits bar; ': latest' we "çäksiz" konteýnerlerden gaça duruň.
PriorityClass: kritiki hyzmatlar ('wallet', 'payments') kritiki däl hyzmatlary çalyşýar.
PDB: nod täzelenende "özümizi aýagymyzdan atmaga" klaster bermeýäris.

3. 3 Duralgasyz täzelenmeler

RollingUpdate c maxUnavailable = 0 kritiki ýollarda.
PodDisruptionBudget + ReadinessProbes (не `startupProbe` вместо readiness).
Iň ýokary derejelerde çalt çykmak üçin Surge-kuwwaty - seresaplylyk bilen.

4) Platformanyň howpsuzlygy

Pod Security (Baseline/Restricted) namespace derejesinde; gadaganlyk 'privileged', hostPath, root.
NetworkPolicy: default-deny we/label portlary boýunça ak sanawlar.
Seccomp/AppArmor, non-root users, read-only rootfs.
Secrets: KMS/Vault üpjün ediji (CSI), syr saklamaýarys 'values. yaml 'açyk.
RBAC-minimum: hyzmat hasaplaryna diňe zerur hukuklary berýäris; gysga ömürli bellikler.
Admission-control: OPA/Gatekeeper/Kyverno - bellikleriň, çäkleriň, syýasatlaryň bozulmagy.

5) Observability

OpenTelemetry: Ingress/Gateway → service → DB/kesh, hökmany 'service', 'version', 'region', 'partner', 'api _ version' bellikleri.
Loglar: gurluşly, PII/PAN-syz; merkezleşdirilen ammara ugrukdyrmak.
Metrikler: RED/USE, SLO-daşbordlar, burn-rate alertleri.
Sintetika: zerur ýurtlardan nusgalar/ASN; perimetri we içerki saglyk barlaglary.

6) GitOps и progressive delivery

Argo CD/Flux: islenýän ýagdaý Git-de saklanýar; her namespace - öz repozitory/bukjasy.
Artefaktlary mahabatlandyrmak: 'dev → stage → prod' PR arkaly, "kubectl apply" däl.
Canary/Blue-Green: Argo Rollouts/Gateway API; üstünlik metrikleri - P95/P99, error-rate, biznes-SLI (CR depozitleri).
Gaýdyşlar: Helm/Argo - düwme; diagrammalarda - wersiýalary ýazga alyndy.

7) Helm: iň gowy amallar

7. 1 Tertipnamanyň gurluşy


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)
Teklipler:
  • 'version' - çartyň wersiýasy (SemVer), 'appVersion' - programmanyň wersiýasy (keşbi).
  • Gaty çeşme atlary: '{{include' svc. fullname".}}' + label' app. kubernetes. io/`.
  • Hökmany manifestler: Deployment/StatefulSet, Service, ServiceAccount, HPA (mümkin bolsa), PDB, NetworkPolicy.

7. 2 Values strategiýasy

Esasy 'values. yaml '- defoltlar, syrsyz we daşky gurşawsyz.
'values- {stage' prod} .yaml '+ per-region faýllary.
Syrlar: SOPS ('values-prod. sops. yaml ') ýa-da CSI arkaly Vault-sanjym.
Resurslaryň we nusgalaryň parametrleri - "akylly" defoltly values.

7. 3 Garaşlylyk we umumy kody

Patternler üçin umumy kitaphanalar (probes, annotations, NetworkPolicy).
Garaşlylyk ('requirements '/' Chart. yaml ') wersiýasyna görä düzediň; çuňňur "matryoşkalardan" gaça duruň.

7. 4 Şablonlar we barlaglar

'required' we 'fail' -den '_ helpers. tpl 'kritiki gymmatlyklar üçin.
Values - 'values. schema. json`.
Çartyň unit synaglary - 'helm unittest'; statiki derňew - kubeconform/kubeval.
Lokal düzediş - 'helm template' + '-values' + 'kubeconform'.

7. 5 Neşirler we saklamak

Konteýnerleriň OCI-registrlerinde çartalary düzmek; bellikler SemVer.
Helmfile/`helmfile. d'Köp partiýaly depeleri orkestrlemek üçin.
CI artefaktlary: döredilen manifestler + lockfile endikleri.

8) Mysal: Deployment (Helm şablonynyň bölegi)

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) Syrlar we konfigurasiýalar

Gizretler CSI (Vault/KMS) ýa-da Git-repozitordaky SOPS (GPG/KMS açarlary; gadaganlyk 'kubectl edit').
ConfigMap/Secret checksum rolling-reliz triggeri üçin düşündirişler.
PAN/PII saklamaň; tokenizasiýany ulanmak.
Sealed Secrets rugsat berilýär, ýöne SOPS ýa-da göni CSI has gowudyr.

10) Tor we perimetri

L7-routing, kanarlar we gök ýaşyl üçin Gateway API; sticky-sessiýalary diňe zerur bolanda.
mTLS hyzmatlarynyň arasynda mesh/sidecar-less (Cilium) arkaly - töleg özeni üçin nokat.
Egress: daşarky düwünleriň gözegçilik edilýän sanawy (PSP/KYC), kesgitlenen NAT-IP, wagtlar we retraýlaryň býudjeti.

11) Stateful-hyzmatlar we maglumatlar

OLTP-DB üçin aýratyn toparlarda dolandyrylýan bulut hyzmatlaryny ýa-da operatorlary (Postgres/MySQL) ulanyň.
Snapshot we backup syýasaty bilen PVC/CSI; replikalar üçin 'PodAntiAffinity'.
Nobatlar/akym üçin - dolandyrylýan çözgütler ýa-da bölünip berlen klaster; "umumy" goşundy toparynda iň az baýlygy saklamak.

12) CI/CD konweýer (salgylanma)

1. Build & test → 2) SCA/lint → 3) Registrdäki surat (SBOM, gol) →

2. Helm-çart döretmek + 'helm unittest' + kubeconform →

3. SOPS-dekript kireýine CD → 6) PR in GitOps-repozitory →

4. Argo/Flux ulanýar → 8) Argo Rollouts canary → 9) SLO boýunça awto-höküm → 10) Mahabat/yza gaýdyp gelmek.

13) Platformanyň kämillik ölçegleri

GitOps arkaly goýberilişleriň paýy (maksat: 100%).
Gaýdyş wagty (P95) taýýar bolýança, MTTR gaýdýar.
Namespace's Pod Security we NetworkPolicy (Maksat: 100%).
HPA we dogry requests/limits bilen% hyzmatlar.
% s 'values. schema. json 'we birlik synaglary.
"El bilen" üýtgeşmeler sebäpli ýüze çykan hadysalar (maksat: 0).

14) Girizmegiň çek-sanawy

1. Zolaklar boýunça klaster, profiller boýunça düwünleriň howzy; PDB/TopologySpreadConstraints.
2. Namespace-model, ResourceQuota/LimitRange, RBAC iň az.
3. Pod Security (Restricted) и default-deny NetworkPolicy.
4. Gateway API/Ingress; egress-gözegçilik we üpjün edijilere NAT-düzediş.
5. Observability: OTel söwda, RED/USE, geo boýunça sintetika; SLO-daşbordlar.
6. GitOps (Argo/Flux), canary/blue-green, metrik awtoulag mahabaty.
7. Helm-standartlar: gurluş, shema. json, synaglar, SOPS/Vault, OCI registrleri.
8. HPA/VPA, Cluster Autoscaler, iň ýokary derejelere warm-pool.
9. Maglumatlar bilen amallar: CSI snapshotlar, bekaplar, operatorlar/dolandyrylan DB.
10. Yzygiderli DR/chaos synaglary we game-days.

15) Anti-patternler

Izolýasiýa we kwotalar bolmazdan hemme zat üçin bir "ullakan" klaster.
Resurslar çäksiz konteýnerler, 'latest' bellikleri, probes ýoklugy.
Syrlar v 'values. yaml 'açyk,' kubectl edit 'prodda.
GitOps-dan geçen neşirler, janly klasterde manifestleriň el bilen düzedişleri.
NetworkPolicy/Pod Security ýok - "tekiz" tor.
Dürli görnüşli ýükler üçin CPU boýunça ýeke-täk umumy HPA-signal.
OLTP-DB-ni programmanyň "umumy" klasterinde operatorsyz we belliksiz saklamak.

16) iGaming/fintech mazmuny: amaly bellikler

Töleg webhuklary: bölünen ingress/gateway we PSP-e dar egress; berk wagtlar/retralar; aýratyn düwün howzy.
VIP-traffigi: ileri tutulýan we aýry-aýry ugurlar; Durnuklylyk üçin PDB we topologiýa spread.
Ýaryşlar/pikler: warm-pool düwünleri + çaklama HPA; keş/birikmeleri gyzdyrmak.
Hasabat/CDC: ETL-iň önüme täsir etmezligi üçin aýratyn klaster/howuz.
Düzgünleşdiriji: üýtgemeýän loglar (WORM), PII tokenizasiýasy, torlaryň segmentasiýasy.

Jemi

Güýçli Kubernetes platformasy "YAML üýşmesi" däl-de, standartlar: izolýasiýa, howpsuzlyk syýasaty, dolandyrylýan çeşmeler, gözegçilik we GitOps-düzgün. Helm-charts - üpjünçilik şertnamaňyz: öňünden aýdyp boljak neşirler, synagdan geçirilýän şablonlar, syrlar bilen howpsuz işlemek we ýönekeý yza gaýdyp gelmek. Bu ýörelgeleri berkitmek bilen, iň ýokary derejäni başdan geçirýän, goýberilişleri çaltlaşdyrýan we işewürligiň we düzgünleşdirijileriň talaplaryna laýyk gelýän toparlar alarsyňyz.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Telegram
@Gamble_GC
Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.