GH GambleHub

Konteneryzacja i orkiestra

1) Dlaczego kontenery i k8s w iGaming

Szybkość zmian: przewidywalne obrazy, pojedynczy rurociąg CI/CD.
Stabilność: automatyczne uruchamianie, pozioma skala, samouzdrawianie.
Izolacja danych/regionów: obszary nazw/gromady podlegające jurysdykcji.
Normy operacyjne: polityka zasobów, pojedynczy dziennik/mierniki/ścieżki.

Jeśli nie jest potrzebny: mały zespół, 2-3 usługi, rzadkie wydania - zacząć od PaaS/modułowy monolit.

2) Obrazy i rejestry (OCI/Docker)

2. 1 Image Assembly - Zasady

Wielostopniowe: budowa → czas trwania (cienkie obrazy bazowe „bezzasadne”, „alpejskie” z ostrożnością).
Powtarzalność: naprawić wersje/sha256, 'KOPIUJ --chown',' --mount = type = cache 'w opcji ΔKit.
SBOM i podpis: „cosign sign/verify”, „slsa origin”, „signed only” policy.
Slim-down: delete dev-tools, include 'USER nonroot', 'ReadKeyRootFilesystem'.

Przykład Dockerfile (Węzeł. js)

dockerfile build
FROM node:22-bookworm AS build
WORKDIR /app
COPY package. json./
RUN npm ci --omit=dev
COPY..
RUN npm run build

runtime (distroless)
FROM gcr. io/distroless/nodejs22
WORKDIR /srv
COPY --from=build /app/dist./dist
COPY --from=build /app/node_modules./node_modules
USER 10001
ENV NODE_ENV=production
CMD ["dist/server. js"]

2. 2 Rejestry i polityki

Prywatny rejestr + repliki geograficzne (EU/NA) w celu zmniejszenia opóźnień i zgodności RODO.
Retencja/odporność - zapobiec nadpisywaniu znaczników, rozgrzać pamięć podręczną w PoP.
Kontrola wstępu: tylko zdjęcia podpisane/skanowane (cosign + Trivy/Grype).

3) Orkiestra: podstawowe wzory kubernetów

3. 1 Prymitywne

Wdrożenie - usługi bezpaństwowe (lobby, API).
Stat Set - portfel/kolejki/przechowywanie (stała nazwa, stabilne woluminy).
DaemonSet - agenci dziennika/komponenty sieciowe.
Praca/CronJob - migracje, raporty, ETL.

3. 2 Zasoby i QoS

Określ 'zapytania/limity' (CPU/Memory) → klasy QoS i przewidywalny harmonogram.
Pęka tylko tam, gdzie jest świadomy; krytyczne - gwarantowane.
Umieść krytyczne strumienie płatności na dedykowanych pulach (tains/tolerancje, powinowactwo węzła).

3. 3 Zrównoważony rozwój i uwolnienia

Sondy: 'startup', 'livity', 'gotowość' (z czasem i okresami).
Rollout: 'maxSurge/maxUnavailable', canary вере, веz Ingress/Gateway/Service Mesh.
PDB (PodDis Budget) + graceful shutdown (PreStop hook, „TermnyGraCeSeconds”).
Węzły drenażu/kordonu do aktualizacji.

4) Sieć: CNI, usługi, ruch wejściowy

4. 1 warstwa CNI

Calico/Cilium/Weave - Polityka, eBPF dla wydajności.
Zasady międzyprzestrzenne: minimalne wymagane wyjście/wejście.

4. 2 Usługi i logowanie

Usługa: „ClusterIP/NodePort/LoadBalancer”.
Ingress lub Gateway API dla L7: ścieżka/nagłówek/trasy hosta, TLS, wagi kanarkowe.
mTLS w ramach klastra: via service-mesh (Istio/Linkerd) - przechwytywanie TLS i polityki.

Przykład HTTPRoute (Gateway API, Waga kanaryjska)

yaml apiVersion: gateway. networking. k8s. io/v1 kind: HTTPRoute spec:
rules:
- backendRefs:
- name: lobby-v1 weight: 90 port: 8080
- name: lobby-v2 weight: 10 port: 8080

5) Przechowywanie: CSI/PV/PVC, klasy objętości

Dostawca sterowników CSI (EBS/PD/Premium SSD) + ' Class' z parametrami wydajności.
RWX do udostępniania (NFS/FSx/Filestore) - ostrożnie z zamkami.
Kopia zapasowa/przywracanie: Velero/Kasten, okresowe migawki, kontrola odzyskiwania.
Szyfrowanie poziomu dysku i bazy danych (KMS).

6) Automatyczne skalowanie: HPA/VPA/KEDA

HPA (według CPU/RAM/niestandardowych mierników - RPS, p95): dla API/lobby.
VPA (zalecenia/auto) - dla stabilnych pracowników.
KEDA - skala według kolejek Kafka/SQS/Redis, Cron-shedula.
Cluster Autoscaler - węzły obciążenia; ciepłe baseny na szczyty (turnieje/strumienie).

7) Siatka serwisowa (w razie potrzeby)

Zasady mTLS/servis, autoryzacja tożsamości (SPIFFE).
Wyłącznik/timeout/retry, wyrzut zewnętrzny, cień.
Telemetria poza pudełkiem: jednolite mierniki i tory.
Użyj tam, gdzie potrzebujesz subtelnego zarządzania ruchem (płatności, dostawcy gier).

8) Bezpieczeństwo: tajemnice, polityka, zgodność

Sekrety: menedżer zewnętrzny (AWS/GCP/Azure KMS, tajemnice zewnętrzne), obrót.
Policy-as-code: OPA/Gatekeeper/Kyverno - odmówić ': najnowsze', root-UŻYTKOWNIK, Path, przywileje.
Eskalacja praw: Obszary nazw + RBAC, Dev/Stage/Prod split, audyt.
Zdjęcie Bezpieczeństwo: skanowanie w CI/CD, podpisanie (cosign), wstęp przez podpis.
mTLS i JWT wewnątrz (siatka), wejście WAF/limit-rate (Ingress/Gateway).

9) Obserwowalność i SLO

Metryki: Prometheus/OpenTelemetry, p50/95/99, 4xx/5xx, nasycenia.
Kłody: strukturalne JSON → Loki/Elastic, Maskowanie PII/PAN/IBAN.
Ślady: OTLP → Tempo/Jaeger; 'trace _ id' pochodzi z bramy.
SLO: np. "Depozyt p95 ≤ 300 ms, sukces ≥ 98. 5% ', szybkość spalania wpisów.
Proaktywność: deski rozdzielcze per-service/per-route, watchdog DLQ i kolejki.

10) CI/CD, Helm, GitOps

CI: lintery, testy (jednostka/umowa/integracja), SAST/DAST, SBOM.
Helm/Jsonnet/Kustomize: wykresy deklaracyjne z „wartościami”. "o środowiskach.
GitOps (ArgoCD/Flux): pojedyncze źródło prawdy, przegląd manifestu PR, przycisk rolki.
Strategie: niebiesko-zielony, kanaryjski, cień; schemat migracji - rozszerzenie i kontrakt.

Fragment wartości. yaml (zasoby/próbki)

yaml resources:
requests: { cpu: "200m", memory: "256Mi" }
limits:  { cpu: "500m", memory: "512Mi" }
livenessProbe: { httpGet: { path: /healthz, port: 8080 }, initialDelaySeconds: 20, periodSeconds: 10 }
readinessProbe: { httpGet: { path: /readyz, port: 8080 }, initialDelaySeconds: 5, periodSeconds: 5 }

11) Planowanie i izolacja

NodePools: Oddzielne płatności/portfel w węzłach „niskiego hałasu” z szybkim dyskiem.
Tains/Tolerancje: chronione baseny dla obciążeń krytycznych.
(Anti-) Powinowactwo: Repliki rozmazu według strefy/węzła (HA).
Limit/Limit Range na obszarach nazw - ochrona przed „hałaśliwymi sąsiadami”.

12) Wielokomórkowy, wielobranżowy, DR

Podział według jurysdykcji: klastry UE/Latam/ROW; dane rezydenta - lokalnie.
Wejście GSLB/Anycast, obserwowalność na klasę i wpisy.

Poziomy DR:
  • Ciepłe czuwanie (zalecane): replika krytycznych baz danych, okresowe kontrole awaryjne.
  • Aktywny dla odczytu/routingu regionalnego.
  • Kopia zapasowa: kopie zapasowe (Velero), odzyskiwanie prób.

13) Specyfika iGaming

Płatności/portfel: p95 ≤ 300-500 ms, pojedyncze puli i ścisły WPB; kanaryjski 1 → 5 → 10%.
Lobby/zawartość: agresywny HPA przez RPS/INP, podgrzewane obrazy/pamięć podręczna wektora.
Gry na żywo/strumienie: LC/minimalne przekaźniki, długie czasowe gniazdo, lepkie na połączeniu.
Zgodność: neimspaces with hard Policy, tajemnice za pośrednictwem KMS, audyt zmian w wersjach Helm.
Odpowiedzialna gra: limit/blokowanie usługi - priority traffic (fail-open/close by policy).

14) Listy kontrolne

Przed wykonaniem usługi

  • Wielostopniowy obraz, USER nonroot, cosign signature, scan passed.
  • Żądania/limity, sondy/tajemnica od menedżera zewnętrznego.
  • PDB, „maxNiedostępne ≤ 1”, graceful shutdown.
  • SLO/alerty, odwzorowanie z bramy do DB.
  • Schemat kanaryjski i plan wsteczny.
  • Zasady OPA/Kyverno przechodzą (bez korzenia, bez Ścieżka, nie: najnowsza).

Klaster/Platforma

  • Obsługa CNI i Polityki w zakresie CNI; mTLS (oczek sieci) w razie potrzeby.
  • Klasa/retencja, sprawdzone kopie zapasowe/przywracanie.
  • Konfiguracja HPA/VPA/KEDA; Gromada Autoscaler - ciepły basen.
  • RBAC jest minimalny, audyt jest włączony, sekrety są z KMS.
  • GitOps: wykresy/manifesty w repozytorium, wymagany przegląd PR.

15) Anty-wzory

'Najnowsze' obrazy, użytkownik korzeniowy, grube warstwy bazowe.
Brak 'zapytań/limitów' → eksmisje/uderzenia.
Gotowość = los.
Mieszanie statefull/bezpaństwowiec na tym samym basenie bez skażeń.
Migracja systemów „head-on” bez rozszerzenia i kontraktu.
Jedyny klaster „na wszystkie rynki” bez izolacji regionalnej.
Dzienniki z PII/PAN, sekrety w ConfigMap.
Brak PDB/drenażu → przerwy w szczytach i podczas aktualizacji.

16) Mierniki peronu (minimum)

Кластей: CPU/mem wnioski vs przydzielalne, pod-churn, ciśnienie węzła.
Sieć: p95 na trasę, 4xx/5xx, reset/timeout, retry-rate, błędy mTLS.
Przechowywanie: IOPS/opóźnienie, głębokość kolejki, błędy CSI.
Autoskale: decyzje HPA, wydarzenia CA, czas rozgrzewki.
Biznes: TTP, TtW, FTD-sukces, odmowa płatności na dostawcę.
Bezpieczeństwo: niespójności OPA, niezarejestrowane obrazy, utracone tajemnice.

17) Przykłady manifestów

Wdrożenie (API, etykieta kanaryjska)

yaml apiVersion: apps/v1 kind: Deployment metadata: { name: wallet-api, labels: { app: wallet, track: stable } }
spec:
replicas: 4 strategy: { type: RollingUpdate, rollingUpdate: { maxSurge: 1, maxUnavailable: 1 } }
selector: { matchLabels: { app: wallet, track: stable } }
template:
metadata: { labels: { app: wallet, track: stable } }
spec:
serviceAccountName: wallet-sa containers:
- name: api image: registry. local/wallet/api@sha256:...
ports: [{ containerPort: 8080 }]
resources:
requests: { cpu: "250m", memory: "256Mi" }
limits:  { cpu: "500m", memory: "512Mi" }
readinessProbe: { httpGet: { path: /readyz, port: 8080 }, periodSeconds: 5 }
livenessProbe: { httpGet: { path: /healthz, port: 8080 }, initialDelaySeconds: 20 }
securityContext:
runAsNonRoot: true readOnlyRootFilesystem: true

PDB (portfel)

yaml apiVersion: policy/v1 kind: PodDisruptionBudget spec:
minAvailable: 3 selector: { matchLabels: { app: wallet } }

HPA (za pośrednictwem RPS za pośrednictwem metryki niestandardowej)

yaml apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler spec:
minReplicas: 4 maxReplicas: 40 metrics:
- type: Pods pods:
metric:
name: http_requests_per_second target:
type: AverageValue averageValue: "50"

18) Proces wdrażania (według sprintów)

1. Montaż i bezpieczeństwo obrazu: wielostopniowe, SBOM, podpisy, polityka przyjmowania.
2. Platforma bazowa k8s: CNI, Ingress/Gateway, monitoring/logs/trails, Class.
3. CI/CD i GitOps: mapy Helm, środy, kanaryjski/rollback, migracje schematów.
4. Skala i odporność: HPA/VPA/KEDA, PDB, puli węzłów, plamy/powinowactwo, plan DR.

Końcowy arkusz oszustwa

Cienkie, podpisane zdjęcia + polityka przyjmowania = fundacja bezpieczeństwa.
Próbki, zasoby, PDB, drenaż = odporność na uwalnianie.
HPA/VPA/KEDA + tuning baseny = skala bez wyciągów.
Gateway/Ingress + mTLS/OPA = bezpieczny obwód i domofon.
Obserwowalność + SLO + GitOps = Zarządzane zmiany.
Izolacja regionalna i DR = zgodność i tolerancja błędów.

Contact

Skontaktuj się z nami

Napisz do nas w każdej sprawie — pytania, wsparcie, konsultacje.Zawsze jesteśmy gotowi pomóc!

Telegram
@Gamble_GC
Rozpocznij integrację

Email jest wymagany. Telegram lub WhatsApp są opcjonalne.

Twoje imię opcjonalne
Email opcjonalne
Temat opcjonalne
Wiadomość opcjonalne
Telegram opcjonalne
@
Jeśli podasz Telegram — odpowiemy także tam, oprócz emaila.
WhatsApp opcjonalne
Format: kod kraju i numer (np. +48XXXXXXXXX).

Klikając przycisk, wyrażasz zgodę na przetwarzanie swoich danych.