0

Kubernetes 매니페스트 린터

Lint Kubernetes YAML은 브라우저에서 완전히 오프라인으로 클러스터 강화 모범 사례에 대해 매니페스트됩니다.

Buy Me a Coffee at ko-fi.com
처리 중... 0%
YAML 구문 분석
걷기 매니페스트
강화 규칙 확인
완료

결과

Kubernetes 매니페스트는 일반적으로 풀 요청에서 눈으로 검토됩니다. 즉, 동일한 소수의 강화 실수가 프로덕션에서 계속 발생한다는 것을 의미합니다. 즉, 메모리 제한이 없어 결국 OOM이 종료되고 노드를 가져오는 배포, runAsNonRoot를 설정한 사람이 아무도 없기 때문에 행복하게 루트로 실행되는 컨테이너 또는 롤아웃 아래에서 자동으로 변경되는 ':latest'와 같은 이미지 태그에 고정된 포드입니다. 이 린터는 실행 중인 클러스터, kubectl 컨텍스트 또는 자격 증명이 전혀 필요 없이 매니페스트를 붙여넣는 순간 해당 문제 클래스를 포착합니다.

내부적으로는 Kubernetes가 실제로 사용하는 YAML의 현실적인 하위 집합을 위해 특별히 작성된 작은 수동 YAML 파서가 포함되어 있습니다. '---'-분리된 문서, 들여쓰기 기반 중첩, '키: 값' 및 중첩된 블록 매핑, 맵 목록, 인용 및 인용되지 않은 스칼라, 주석, 여러 줄의 ConfigMap 값 또는 주석과 같은 항목에 대한 `|`/`>` 블록 스칼라를 포함한 `- ` 시퀀스 항목. 관련된 외부 YAML 라이브러리는 없습니다. 파서와 규칙 엔진은 모두 도구와 함께 번들로 제공되며 브라우저에서 완전히 실행됩니다.

규칙 테이블은 잘 알려진 클러스터 강화 지침(CIS Kubernetes Benchmark, kube-score 및 Pod 보안 표준 "제한된" 프로필)을 모델로 하며 각 컨테이너에서 누락된 리소스 요청/제한, 루트 또는 권한 모드에서 실행할 수 있는 컨테이너, 장기 실행 워크로드(배포, StatefulSet, DaemonSets)에서 누락된 활성 및 준비 상태 프로브, 호스트 파일 시스템을 노출하는 호스트 경로 볼륨 마운트, 호스트 네트워크 사용량 등을 확인합니다. 재현할 수 없는 `:latest` 또는 태그가 지정되지 않은 컨테이너 이미지. 결과는 문서 및 컨테이너별로 그룹화되며 각 항목에 대한 명확한 오류/경고 심각도가 표시되므로 단순한 모범 사례를 통해 실제로 위험한 것이 무엇인지 알 수 있습니다.

Helm 템플릿 렌더링 또는 `kustomize build` 출력에서 직접 붙여넣은 단일 매니페스트 또는 전체 다중 문서 파일에서 작동하여 Pod, 배포, StatefulSet, DaemonSet, Job, ReplicaSet 및 CronJob 리소스를 이해합니다. 모든 것이 로컬에서 실행되기 때문에 내부 서비스 이름, 실제 리소스 크기 또는 타사 API로 보내고 싶지 않은 기타 항목이 포함된 매니페스트를 붙여넣는 것이 안전합니다. 빠른 커밋 전 상태 확인, 코드 검토 지원 또는 실제로 "강화"가 실제로 어떻게 보이는지 학습하는 데 유용합니다.