Kyverno 1.17, CEL politikaları lehine bazı API'leri kaldıracak

kapanış bildirimi

Bu makale İngilizce olarak da mevcuttur. Teknik yardımla tercüme edildi ve yayınlanmadan önce editoryal olarak gözden geçirildi.

Kyverno, doğrulamadan mutasyona ve görüntü doğrulamaya kadar politikaları doğrudan Kubernetes kaynakları olarak tanımlamak ve uygulamak için kullanılabilen Kubernetes için kod olarak politika aracı olarak kendini kanıtlamıştır. Araç, güvenlik ve uyumluluk kurallarını kod olarak eşleyerek Kubernetes kümelerini çalıştırmanın artan karmaşıklığını giderir. Kendi duyurusuna göre, CNCF projesi 1.17 sürümüyle birlikte stratejik bir değişiklik getiriyor: 1.16 sürümünde tanıtılan CEL-first (Ortak İfade Dili) mimarisi beta durumundan çıkıyor ve istikrarlı bir temel haline geliyor.

Duyurudan sonra devamını okuyun

CNCF bloguna göre Kyverno 1.17'nin temel yeniliği, tüm CEL tabanlı politika türlerinin API v1.1 sürümüne yükseltilmesidir. Bu nedenle stabil ve üretime hazır kabul edilirler. Bu özellikle şunlar için geçerlidir: ValidatingPolicy, MutatingPolicy, GeneratingPolicy, ImageValidatingPolicy, DeletingPolicy ve PolicyException; her biri kendi ad alanlı değişkenlerine sahiptir (örneğin, NamespacedValidatingPolicy).

Ortak İfade Dili, Kubernetes API sunucusunun yerel ValidatingAdmissionPolicies ve MutatingAdmissionPolicies için kullandığı ifade dilinin aynısıdır. Kyverno geliştirme ekibine göre CEL'e geçiş, değerlendirme performansını önemli ölçüde artıracak ve yalnızca tek bir dille uğraşmaları gereken platform ekiplerinin eğitim süresini kısaltacak.

Buna paralel olarak proje, mevcut CEL işlevlerini önemli ölçüde genişletti. Yeni eklemeler karma işlevlerini içerir (md5, sha1, sha256), matematiksel yuvarlama (math.round(value, precision)), X.509 sertifikalarının kodunu çözme (x509.decode(pem)), rastgele dize oluşturma, JSON ve YAML ayrıştırma ve zamana dayalı işlevler time.now() VE time.toCron(timestamp)bu aynı zamanda bakım pencerelerine yönelik politikalara da izin vermelidir.

CEL politikalarının GA durumu, mevcut kullanıcılara açık bir duyuruyla birlikte geliyor: Duyuruya göre Kyverno 1.17, eski ClusterPolicy ve CleanupPolicy türlerini resmi olarak kullanımdan kaldırılmış olarak işaretliyor. Bu JMESPath tabanlı API'ler mevcut sürümde işlevsel olmaya devam etse de, muhtemelen bu yıl gelecek bir sürümde tamamen kullanımdan kaldırılacaklar. Geliştiriciler, sonraki geçiş çabalarını daha da artırmamak için yeni politikaların yalnızca CEL tabanlı API'lerle yazılmasını açıkça tavsiye ediyor.

Duyurudan sonra devamını okuyun

Proje, mevcut politika envanterleri büyük olan ekipler için, eski yapılandırmaların yeni eşdeğerlerle alan bazında eşlenmesini sağlamak üzere tasarlanmış bir geçiş kılavuzu sağlar. Örneğin, bir önceki validate.pattern ValidatingPolicy'deki CEL ifadeleriyle eşlendi. Daha önce mutasyon, doğrulama ve oluşturma için ClusterPolicy kurallarını tek bir nesnede grupladıysanız, gelecekte bunları ValidatingPolicy, MutatingPolicy ve GeneratingPolicy özel türlerine ayırmanız gerekecektir.

Kyverno, 1.16 sürümünde görüntü doğrulama, temizleme ve doğrulama için ad alanı değişkenlerini zaten sunmuştu. Yapılan duyuruya göre 1.17 sürümü, NamespacedMutatingPolicy ve NamespacedGeneratingPolicy ile bu açığı kapatıyor. Ad alanı sahipleri bunu, küme düzeyinde izinler gerektirmeden veya diğer kiracıları etkilemeden otomatik olarak sepet kapları eklemek veya standart ConfigMap'ler oluşturmak gibi kendi mutasyon ve oluşturma kurallarını tanımlamak için kullanabilirler. Bu, politik düzeyde gerçek çoklu kiracılığı mümkün kılmalıdır.

Duyuruya göre, tedarik zincirinde daha fazla güvenlik sağlamak amacıyla Kyverno 1.17, görüntü doğrulamayı gelişen Sigstore ekosistemiyle uyumlu tutmak için Cosign v3 desteği sunuyor. CEL'deki yeni YAML ve JSON ayrıştırma işlevlerinin amacı, taleplerdeki karmaşık meta verilerin ve yazılım malzeme listelerinin (SBOM) kontrolünü basitleştirmektir.

Gözlemlenebilirlik konusunda geliştiriciler iki değişiklik yaptı: Yeni bir bayrak --allowedResults Raporlara yalnızca belirli sonuçları (örneğin yalnızca başarısız kontroller) özel olarak kaydetmenize olanak tanır. Bu, büyük kümelerdeki vbd üzerindeki baskıyı önemli ölçüde azaltacaktır. Ayrıca blog gönderisine göre Kyverno 1.17, varsayılan olarak CEL politikaları için daha ayrıntılı gecikme ve yürütme ölçümleri sağlıyor.

Kyverno projesi, teknik yeniliklere ek olarak web sitesinin tamamını Starlight çerçevesine göre yeniden tasarladı. Gözden geçirilmiş belgeler, hızlı başlangıçtan ileri düzey politika yazarları için referansa kadar kullanıcı deneyimine dayalı bir çerçeve içerir. 300'den fazla örnek politika içeren katalog artık kategoriye ve türe (CEL ve JMESPath) göre filtrelenebilir.

Proje, geliştiriciler ve entegratörler için temel bileşenlerini ayırdı: CEL tabanlı API'ler, Kyverno türlerini Go projelerinize aktarmayı kolaylaştırmayı amaçlayan kendi deposuna (kyverno/api) taşındı. Ek olarak, kendi denetleyicilerinizi ve araçlarınızı oluşturmaya yönelik özel bir SDK projesi (kyverno/sdk) bulunmaktadır.

Kyverno bakımcıları daha fazla gelişme için çeşitli odak noktalarının ana hatlarını çiziyor: Çeşitli alt projeler (CLI, Policy Reporter ve Kyverno-Authz) birleşik bir platform oluşturmak için birlikte büyümelidir. Ekip ayrıca platform ekiplerinin yüksek yük senaryolarında Kyverno'nun davranışını daha iyi değerlendirebilmesi için otomatik performans testleri oluşturmak ve ayrıntılı verim ve gecikme verileri sağlamak istiyor. Geliştiricilere göre sürüm 1.16'dan 1.17'ye yükseltme basit olmalı, ancak yeni API sürümü v1'deki bildirimlerin değiştirilmesini öneriyorlar. Önceki v1beta1 bir geçiş dönemi boyunca desteklenmeye devam edecektir.


(harita)


Yayımlandı

kategorisi

yazarı:

Etiketler:

Yorumlar

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir