GH GambleHub

Teknoloji ve Altyapı - Kubernetes kümeleri ve Dümen grafikleri

Kubernetes kümeleri ve Dümen grafikleri

1) Kubernetes ve Helm'in Rolü

Kubernetes, uygulama platformunun temelidir: yuvarlanma, ağ oluşturma, yapılandırma, sırlar ve kendi kendini iyileştirme işlemlerini standartlaştırır. Helm, bildirimsel manifestoları sürüm denetimi ve bağımlılıklarla tekrarlanabilir sürümlere dönüştüren bir paket/şablon yöneticisidir. Birlikte öngörülebilir gönderimler, hızlı geri dönüşler ve tek bir altyapı dili sağlarlar.

2) Küme tasarımı

2. 1 Topoloji ve hata toleransı

Multi-AZ: kontrol düzlemi ve işçi havuzu düğümleri imarlı; PDB/TopologySpreadConditions for uniformity. - Tekdüzelik için PDB/TopologySpreadConditions

Çok bölgeli/DR: bölge başına bağımsız kümeler; Bölgeler arası aramalar - sadece "soğuk" yollarda (dizinler/telemetri), "sıcak" (cüzdan) - yerel olarak.
İşçi havuzları profile göre:'genel ',' hesaplama ',' io ',' spot '(arka plan görevleri için). NodeSelector/affinity/tains aracılığıyla atama.

2. 2 Ad alanları ve çok kullanıcılı model

Etki alanlarına/komutlara göre ad alanı yalıtımı: 'ödemeler', 'cüzdan', 'oyunlar', 'raporlama'.
ResourceCota + LimitRange: temel CPU/RAM limitleri ve maksimum kopyalar; "Elektrikli süpürgelere" karşı küme koruması.
RBAC: salt okunur roller varsayılan olarak, write - sadece CI/CD ve on-call.

2. 3 Ağ

NetworkPolicy destekli CNI (Calico/Cilium): Ad alanı/etiketle L3/L4 ilke.
Ingress> Gateway API: kanaryalar ve çoklu kiracılık için 'GatewayClass/Gateway/HTTPRoute' modeline geçin.
Servis Ağı (isteğe bağlı): mTLS, yeniden deneme/kırıcı, yerellik bilincine sahip; Servisler arası güvenilirlik için açma noktası.

3) Güvenilirlik ve ölçeklenebilirlik

3. 1 Ölçekleme

Kullanıcı ölçümlerine göre HPA (RPS/gecikme/kuyruk derinliği), sadece CPU değil.
Arka plan yükleme sınıfında VPA; üründe - "yalnızca öneri" veya farklı metriklerde HPA ile birlikte.
Cluster Autoscaler: hassas hizmetler için ayrı düğüm grupları; Seçmek için sıcak havuz (turnuvalar/maçlar).

3. 2 Kaynaklar ve QoS

Her Pod'un istekleri/sınırları vardır; ': en son've' sınırsız 'kaplardan kaçının.
PriorityClass: kritik hizmetler ('cüzdan', 'ödemeler') kritik olmayanların yerini alır.
PDB: Düğümleri güncellerken kümenin "ayağınızı vurmasına" izin vermeyin.

3. 3 Kesinti olmadan yükseltmeler

Kritik yollarda maxUnavailable = 0 ile RollingUpdate.
PodDisruptionBudget + ReadinessProbes (не 'startupProbe' вместо hazır olma).
Zirveler sırasında hızlı salınımlar için dalgalanma kapasitesi - dikkatle.

4) Platform güvenliği

Pod Güvenliği (Baseline/Restricted) ad alanı düzeyinde; 'ayrıcalıklı' izin vermeme, hostPath, root.
NetworkPolicy: varsayılan reddetme ve port/etikete göre beyaz listeye alma.
Seccomp/AppArmor, root olmayan kullanıcılar, salt okunur rootflar.
Sırlar: KMS/Vault sağlayıcısı (CSI), 'değerlerinde sır saklamayın. Yaml 'açık formda.
RBAC minimum: hizmet hesaplarını yalnızca gerekli hakları veriyoruz; Kısa ömürlü jetonlar.
Kabul kontrolü: OPA/Gatekeeper/Kyverno - etiketleri, sınırları, politika ihlallerini uygulayın.

5) Gözlemlenebilirlik

OpenTelemetry: tracing from Ingress/Gateway - service - database/cache, mandatory label 'service', 'version', 'region', 'partner', 'api _ version'.

Günlükler: yapılandırılmış, PII/PAN yok; Merkezi depolamaya yönlendirme

Metrikler: KIRMIZI/KULLANIM, SLO panoları, yanma oranı uyarıları.
Sentetikler: doğru ülkelerden/ASN'den örnekler; Çevre ve iç sağlık kontrolleri.

6) GitOps и aşamalı teslimat

Argo CD/Flux: Git'te istenen durum depolanır; Her ad alanının kendi deposu/klasörü vardır.
Eserlerin tanıtımı: "Kubectl uygula'değil, PR yoluyla" dev "sahne" prod ".
Kanarya/Mavi-Yeşil: Argo Rollouts/Gateway API; Başarı metrikleri - P95/P99, hata oranı, iş SLI (mevduat CR).
Geri dönüşler: Dümen/Argo'da - düğme ile; Grafiklerde - versiyonlar sabittir.

7) Dümen: en iyi uygulamalar

7. 1 Grafik yapısı


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)
Öneriler:
  • 'sürüm' - grafik sürümü (SemVer), 'appVersion' - uygulama (resim) sürümü.
  • Güçlü kaynak adları '{{include' svc'dir. tam adı. "}} '+ labels' app. kubernetes. io/'.
  • Gerekli manifestolar: Deployment/StatefulSet, Service, ServiceAccount, HPA (varsa), PDB, NetworkPolicy.

7. 2 Değerler-strateji

Temel 'değerler. yaml '- varsayılanlar, sırlar ve çevre özellikleri olmadan.
Geçersiz kılma: 'değerler- {stage' prod} .yaml '+ bölge dosyaları.
Sırlar: SAPS ('değerler-prod. Sops. yaml ') veya CSI aracılığıyla Vault enjeksiyonu.
Kaynak ve örnek parametreleri - "makul" varsayılanlara sahip değerlerde.

7. 3 Bağımlılıklar ve ortak kod

Desenler için ortak grafik kitaplıkları (problar, ek açıklamalar, NetworkPolicy).
Bağımlılıklar ('gereksinimler'/' Grafik. yaml ') versiyona göre düzeltin; Derin "yuvalama bebekleri'nden kaçının.

7. 4 Şablonlar ve kontroller

'Required've' fail 'In' _ helpers 'kullanın. tpl 'kritik değerler için.
Değerlerin doğrulanması - 'değerler şeması. şema. Json '.
Birim grafik testleri - 'helm unittest'; Statik analiz - kubeconform/kubeval.
Yerel hata ayıklama - 'dümen şablonu' + '--values' + 'kubeconform'.

7. 5 Sürümler ve depolama

Grafiği OCI konteyner kayıtlarına itin; Etiketler SemVer.
Helmfile/' helmfile. Çok grafikli demetlerin d 'for orkestrasyonu.
CI artifaktları: oluşturulan manifestolar + lockfile bağımlılıkları.

8) Örnek: Dağıtım (Dümen şablonu parçası)

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) Sırlar ve konfigürasyonlar

Git deposunda CSI (Vault/KMS) veya SOP aracılığıyla sırlar (GPG/KMS anahtarları; 'kubectl edit' is forbidden).
ConfigMap/Yuvarlanan serbest bırakma tetikleyicisi için gizli sağlama toplamı ek açıklamaları.
PAN/PII'yi saklamayın; tokenization kullanın.
Mühürlü Sırlara izin verilir, ancak SOP veya doğrudan CSI tercih edilir.

10) Ağ ve çevre

L7 yönlendirme, kanaryalar ve mavi-yeşil için ağ geçidi API'si; Sadece gerektiğinde yapışkan seanslar.
Mesh/sidecar-less (Cilium) üzerinden hizmetler arasında mTLS - ödeme çekirdeği için nokta.
Çıkış: harici düğümlerin kontrollü listesi (PSP/KYC), sabit NAT-IP, zaman aşımları ve bütçeyi yeniden ödeme.

11) Durumsal hizmetler ve veriler

OLTP veritabanları için, yönetilen bulut hizmetlerini veya operatörlerini (Postgres/MySQL) ayrı kümelerde kullanın.
Anlık görüntüler ve yedekleme politikası ile PVC/CSI; Kopyalar için 'PodAntiAffinity'.
Kuyruklar/akış için - yönetilen çözümler veya özel kümeler; "Ortak'bir uygulama kümesinde, minimum durum tutun.

12) CI/CD konveyör (referans)

1. Yapı ve test 2) SCA/tiftik 3) Görüntü kayıt (SBOM, imza)

2. Dümen grafik üretimi + 'dümen unittest' + kubeconform

3. CD'de SAPS şifre çözme - 6) GitOps deposunda PR çalışma zamanı

4. Argo/Flux uygulanır 8) Argo Rollouts kanarya 9) SLO Auto Verdict 10) Promosyon/Rollback.

13) Platform olgunluk metrikleri

GitOps aracılığıyla sürümlerin paylaşımı (hedef: %100).
Yuvarlanma süresi (P95) hazır olana kadar, MTTR geri alma.
Namespace Pod Security ve NetworkPolicy'nin kapsamı (hedef: %100).
HPA ve doğru istekleri/sınırları olan hizmetlerin yüzdesi.
'values'ile % grafiği. şema. Json've birim testleri.
"Manuel" değişikliklerden kaynaklanan olaylar (hedef: 0).

14) Uygulama kontrol listesi

1. Bölgelere göre kümeler, profillere göre düğüm havuzu; PDB/TopologySpreadRestrictions.
2. Ad alanı modeli, ResourceCota/LimitRange, RBAC minimum.
3. Pod Security (Restricted) и default-deny NetworkPolicy.
4. Ağ Geçidi API/Giriş; Sağlayıcılara çıkış kontrolü ve NAT fiksasyonu.
5. Gözlemlenebilirlik: OTel izleri, KIRMIZI/KULLANIM, coğrafi sentetikler; SLO panoları.
6. GitOps (Argo/Flux), kanarya/mavi-yeşil, metriklere göre otomatik tanıtım.
7. Dümen standartları: yapı, şema. Json, testler, SAPS/Vault, OCI kayıtları.
8. HPA/VPA, Cluster Autoscaler, zirvelere sıcak havuz.
9. Veri işlemleri: CSI anlık görüntüleri, yedeklemeler ,/yönetilen veritabanı operatörleri.
10. Düzenli DR/kaos testleri ve oyun günleri.

15) Anti-desenler

İzolasyon ve kota olmadan her şey için bir "dev" küme.
Kaynak kısıtlaması olmayan konteynerler,'en son "etiketler, sonda yok.
Değerlerdeki sırlar. Açık metinde yaml ', prod'da' kubectl edit '.
Geçmiş GitOps, manuel manifesto düzenlemelerini canlı bir kümede yayınlar.
NetworkPolicy/Pod Security - "düz" ağ eksikliği.
Farklı yük türleri için CPU genelinde tek bir ortak HPA sinyali.
OLTP veritabanlarının bir operatör ve yedekleme olmadan "ortak'bir uygulama kümesi içinde depolanması.

16) iGaming bağlamı/fintech: pratik notlar

Ödeme web kitapları: PSP'ye özel giriş/ağ geçidi ve dar çıkış; Sıkı zaman aşımları/retrays; Bireysel ev sahibi havuzu.
VIP trafiği: önceliklendirme ve bireysel rotalar; Kararlılık için PDB ve topoloji yayılımı.
Turnuvalar/seçimler: sıcak havuz düğümleri + öngörücü HPA; Önbellekleri/bağlantıları ısıtmak.
Raporlama/CDC: ETL'nin Prod'u etkilememesi için ayrı küme/havuz.
Düzenleyici: değişmez günlükler (WORM), PII tokenization, ağ segmentasyonu.

Toplam

Güçlü bir Kubernetes platformu bir "YAML yığını'değil, standartlardır: izolasyon, güvenlik politikası, yönetilen kaynaklar, gözlemlenebilirlik ve GitOps disiplini. Dümen Grafikleri - Tedarik Sözleşmeniz: Öngörülebilir Sürümler, Test Edilebilir Desenler, Güvenli Gizli Kullanım ve Basit Geri Tepmeler. Bu ilkeleri birleştirerek, zirvelerden kurtulan, sürümleri hızlandıran ve iş ve düzenleyici taleplere dayanan kümeler elde edersiniz.

Contact

Bizimle iletişime geçin

Her türlü soru veya destek için bize ulaşın.Size yardımcı olmaya her zaman hazırız!

Telegram
@Gamble_GC
Entegrasyona başla

Email — zorunlu. Telegram veya WhatsApp — isteğe bağlı.

Adınız zorunlu değil
Email zorunlu değil
Konu zorunlu değil
Mesaj zorunlu değil
Telegram zorunlu değil
@
Telegram belirtirseniz, Email’e ek olarak oradan da yanıt veririz.
WhatsApp zorunlu değil
Format: +ülke kodu ve numara (örneğin, +90XXXXXXXXX).

Butona tıklayarak veri işlemenize onay vermiş olursunuz.