0

Kubernetes Manifest Linter

Lint Kubernetes YAML thể hiện các phương pháp hay nhất về củng cố cụm, hoàn toàn ngoại tuyến trong trình duyệt của bạn.

Buy Me a Coffee at ko-fi.com
Đang xử lý... 0%
Phân tích cú pháp YAML
Bản kê khai đi bộ
Kiểm tra quy tắc làm cứng
Xong

kết quả

Các bảng kê khai Kubernetes thường được xem xét bằng mắt trong một yêu cầu kéo, điều đó có nghĩa là một số lỗi nghiêm trọng tương tự vẫn tiếp tục xảy ra trong quá trình sản xuất: Triển khai không có giới hạn bộ nhớ cuối cùng bị loại bỏ OOM và mang theo một nút, một vùng chứa chạy vui vẻ với quyền root vì không ai đặt runAsNonRoot hoặc một Pod được ghim vào thẻ hình ảnh như `:latest` sẽ âm thầm thay đổi bên dưới quá trình triển khai. Kẻ nói dối này phát hiện ra loại vấn đề đó ngay khi bạn dán một bảng kê khai vào mà không cần cụm đang chạy, ngữ cảnh kubectl hoặc bất kỳ thông tin xác thực nào.

Bên trong, nó bao gồm một trình phân tích cú pháp YAML cuộn bằng tay nhỏ được viết riêng cho tập hợp con YAML thực tế mà Kubernetes biểu hiện thực sự sử dụng: `---`-tài liệu được phân tách, lồng dựa trên thụt lề, `key: value` và ánh xạ khối lồng nhau, `- ` các mục trình tự bao gồm danh sách bản đồ, vô hướng được trích dẫn và không trích dẫn, nhận xét và `|`/`>` khối vô hướng cho những thứ như giá trị ConfigMap nhiều dòng hoặc chú thích. Không có thư viện YAML bên ngoài nào liên quan — cả trình phân tích cú pháp và công cụ quy tắc đều đi kèm với công cụ này và chạy hoàn toàn trong trình duyệt của bạn.

Bảng quy tắc được mô hình hóa dựa trên hướng dẫn tăng cường cụm phổ biến — Hồ sơ CIS Kubernetes Benchmark, kube-score và hồ sơ "Hạn chế" của Tiêu chuẩn bảo mật Pod — và kiểm tra từng vùng chứa để tìm các yêu cầu/giới hạn tài nguyên bị thiếu, các vùng chứa có thể chạy dưới dạng root hoặc ở chế độ đặc quyền, thiếu các thăm dò về mức độ sẵn sàng và hoạt động trên các khối lượng công việc chạy dài (Triển khai, StatefulSets, DaemonSets), các ổ đĩa gắn trên HostPath làm lộ hệ thống tệp máy chủ, việc sử dụng HostNetwork và hình ảnh vùng chứa `:mới nhất` không thể tái tạo hoặc không được gắn thẻ. Các phát hiện được nhóm theo tài liệu và theo vùng chứa, với mức độ nghiêm trọng của cảnh báo/lỗi rõ ràng trên mỗi loại để bạn có thể biết điều gì thực sự nguy hiểm từ những gì chỉ đơn thuần là một cú huých theo phương pháp tốt nhất.

Nó hoạt động trên các tệp kê khai đơn lẻ hoặc toàn bộ tệp nhiều tài liệu được dán trực tiếp từ kết xuất mẫu Helm hoặc đầu ra `kustomize build`, hiểu các tài nguyên Pod, Deployment, StatefulSet, DaemonSet, Job, ReplicaSet và CronJob. Bởi vì mọi thứ đều chạy cục bộ nên việc dán các bảng kê khai chứa tên dịch vụ nội bộ, kích thước tài nguyên thực hoặc bất kỳ nội dung nào khác mà bạn không muốn gửi tới API của bên thứ ba là an toàn — hữu ích cho việc kiểm tra độ chính xác nhanh chóng trước khi cam kết, hỗ trợ đánh giá mã hoặc chỉ tìm hiểu xem "cứng rắn" thực sự trông như thế nào trong thực tế.