OPA nedir?
- Docker & Kubernetes kursu
- Uzman
- Ders 31/47
- 4 dk
Open Policy Agent'ın politika motoru olduğunu öğrenirsin.
OPA nedir?
Open Policy Agent (OPA), politikaları koddan ayıran genel amaçlı bir politika motorudur. Bir istek (JSON) ve kurallar alır, "izin ver / reddet" ya da ihlal listesi döndürür. Kubernetes'te admission aşamasında çalışarak kurum kurallarını zorunlu kılar:
- Her deployment'ta
takimveortametiketi olmalı. - Image'lar yalnızca şirket registry'sinden çekilmeli.
latestetiketi ve root container yasak.- Her container kaynak sınırı yazmalı.
istek (AdmissionReview) ─► OPA/Gatekeeper ─► ihlal yok -> kabul
└─► ihlal var -> "eksik etiket: takim" ile retGatekeeper ve Kyverno
Kubernetes için OPA, Gatekeeper projesiyle gelir: politikalar CRD olarak yazılır ve bir validating admission webhook ile uygulanır. Alternatif Kyverno politikaları doğrudan YAML ile yazar. Kubernetes'in yerleşik ValidatingAdmissionPolicy özelliği de basit kurallar için CEL kullanır.
helm repo add gatekeeper https://open-policy-agent.github.io/gatekeeper/charts
helm install gatekeeper gatekeeper/gatekeeper -n gatekeeper-system --create-namespace
kubectl get pods -n gatekeeper-systemUygulama Gatekeeper'ı kur
Üç komut yaz: gatekeeper deposunu https://open-policy-agent.github.io/gatekeeper/charts adresiyle ekle; gatekeeper/gatekeeper chart'ını gatekeeper adıyla gatekeeper-system namespace'ine (yoksa oluşturarak) kur; gatekeeper-system'deki pod'ları listele.
Başlangıç kodu
# buraya yazÖrnek çözüm
helm repo add gatekeeper https://open-policy-agent.github.io/gatekeeper/charts
helm install gatekeeper gatekeeper/gatekeeper -n gatekeeper-system --create-namespace
kubectl get pods -n gatekeeper-systemBeklenen çıktı
"gatekeeper" has been added to your repositories NAME: gatekeeper STATUS: deployed NAME READY STATUS RESTARTS AGE gatekeeper-audit-6c5d4b3a2-x2k9p 1/1 Running 0 40s gatekeeper-controller-manager-7d6e5f4a3-abcde 1/1 Running 0 40s
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 RBAC ile OPA politikaları arasındaki fark nedir?
- RBAC image'ları denetler
- RBAC kimin ne yapabileceğine, OPA nesnenin içeriğine bakar Doğru cevap
- İkisi aynıdır
- OPA kullanıcı oluşturur
Açıklama: RBAC "deployment oluşturabilir mi?", OPA "bu deployment kurallara uyuyor mu?" sorusunu yanıtlar.
2 Gatekeeper chart'ını kur.
helm ____ gatekeeper gatekeeper/gatekeeper -n gatekeeper-system --create-namespace
helm install gatekeeper gatekeeper/gatekeeper -n gatekeeper-system --create-namespace
Açıklama: helm install release ve chart adını alır.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
OPA |
Politika motoru |
Gatekeeper |
Kubernetes için OPA |
Kyverno |
YAML tabanlı politika |
admission webhook |
Uygulama noktası |