0

Kubernetes Manifest Linter

Lint Kubernetes YAML nyata terhadap amalan terbaik pengerasan kelompok, sepenuhnya di luar talian dalam penyemak imbas anda.

Buy Me a Coffee at ko-fi.com
Memproses... 0%
Menghuraikan YAML
Manifes berjalan
Menyemak peraturan pengerasan
Selesai

Hasilnya

Manifes Kubernetes biasanya disemak dengan mata dalam permintaan tarik, yang bermaksud segelintir kesilapan pengerasan yang sama terus membuat pengeluaran: Penyerahan tanpa had memori yang akhirnya menyebabkan OOM dibunuh dan mengambil nod dengannya, bekas yang berjalan dengan senang hati sebagai akar kerana tiada siapa yang menetapkan runAsNonRoot, atau Podtest yang disematkan pada teg imej` yang berubah secara senyap` di bawah: `rollout. Linter ini menangkap kelas masalah itu apabila anda menampal manifes, tanpa memerlukan kluster yang sedang berjalan, konteks kubectl atau sebarang bukti kelayakan sama sekali.

Di bawah tudung ia termasuk penghurai YAML gulung tangan kecil yang ditulis khusus untuk subset realistik YAML yang Kubernetes nyatakan sebenarnya menggunakan: `---`-dokumen yang diasingkan, sarang berasaskan lekukan, `kunci: nilai` dan pemetaan blok bersarang, `- ` item jujukan termasuk senarai peta, `skalar`, `berskala`, petikan dan tidak berskala. untuk perkara seperti nilai atau anotasi ConfigMap berbilang baris. Tiada perpustakaan YAML luaran yang terlibat — penghurai dan enjin peraturan kedua-duanya digabungkan dengan alat dan dijalankan sepenuhnya dalam penyemak imbas anda.

Jadual peraturan dimodelkan pada panduan pengerasan kluster yang terkenal — Penanda Aras CIS Kubernetes, kube-score, dan profil "Terhad" Piawaian Keselamatan Pod — dan menyemak setiap bekas untuk kehilangan permintaan/had sumber, bekas yang boleh dijalankan sebagai akar atau dalam mod istimewa, kekosongan keaktifan dan kesediaan hilang pada kelantangan kerja yang berjalan lama, DamonSplotsyments (SethPathworks) lekapan yang mendedahkan sistem fail hos, penggunaan hostNetwork dan imej kontena `:terkini` yang tidak boleh dibuat semula atau tidak berteg. Penemuan dikumpulkan mengikut dokumen dan mengikut bekas, dengan ralat/keterukan amaran yang jelas pada setiap satu supaya anda boleh mengetahui perkara yang sebenarnya berisiko daripada apa yang hanya dorongan amalan terbaik.

Ia berfungsi pada manifes tunggal atau keseluruhan fail berbilang dokumen yang ditampal terus daripada pemaparan templat Helm atau output `menyesuaikan binaan`, memahami sumber Pod, Deployment, StatefulSet, DaemonSet, Job, ReplicaSet dan CronJob. Oleh kerana segala-galanya berjalan secara setempat, adalah selamat untuk menampal manifes yang mengandungi nama perkhidmatan dalaman, saiz sumber sebenar atau apa-apa lagi yang anda tidak mahu hantar ke API pihak ketiga — berguna untuk semakan kewarasan prakomit yang cepat, bantuan semakan kod atau hanya mempelajari rupa "keras" sebenarnya dalam amalan.