KCA — Kyverno 인증 어소시에이트 · 정책 작성 심화 — 조건·외부 데이터·자동 생성·정리 · 퀴즈
퀴즈: 정책 작성 심화
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
Kyverno 규칙에서 preconditions 는 언제 평가됩니까?
- match 보다 먼저 평가되어 어떤 리소스를 볼지 결정한다
- match 에 걸리고 exclude 에 빠지지 않은 뒤에 평가된다
- validate 본문이 실행된 뒤 결과를 보고 다시 평가된다
- 백그라운드 스캔에서만 평가되고 어드미션에서는 건너뛴다
match 에는 걸렸지만 preconditions 에서 떨어진 리소스는 정책 보고서에서 어떻게 기록됩니까?
- exclude 와 같이 아예 보고서에 나타나지 않는다
- 규칙을 위반한 것으로 보아 fail 로 기록된다
- 규칙이 통과한 것으로 보아 pass 로 기록된다
- exclude 와 달리 skip 이라는 결과로 채점된다
context 에서 ConfigMap 을 매번 API 서버에서 읽지 않고 캐시하게 하려면 무엇을 합니까?
- ConfigMap 에 cache.kyverno.io/enabled: "true" 라벨을 붙인다
- 정책의 background 필드를 true 로 두어 스캔 때 읽게 한다
- context 항목을 configMap 대신 variable 종류로 바꾼다
- apiCall 의 default 값에 ConfigMap 내용을 복사해 둔다
파드만 대상으로 쓴 validate 규칙에 대해 Kyverno 가 자동 생성하는 규칙에 대한 설명으로 맞는 것은?
- 규칙은 정책 spec 에 직접 덧붙여지고 이름은 원래 규칙과 같다
- CronJob 규칙은 생성되지 않으므로 CronJob 정책은 따로 써야 한다
- status.autogen 아래에 autogen- 과 autogen-cronjob- 접두 규칙이 생긴다
- Deployment 규칙만 생성되고 StatefulSet 과 Job 은 포함되지 않는다
match 블록에 selector 를 적은 파드 규칙에서 autogen 은 어떻게 됩니까?
- selector 가 컨트롤러의 파드 템플릿 라벨로 번역되어 그대로 생성된다
- 애너테이션에 컨트롤러를 나열했을 때만 생성되고 기본은 그대로다
- selector 는 무시되고 파드 컨트롤러용 규칙이 평소처럼 생성된다
- names·selector·annotations 가 있으면 자동 생성을 건너뛴다
cleanup.kyverno.io/ttl 라벨과 정리 주기에 대한 설명으로 맞는 것은?
- 값은 초 단위 정수만 허용되고 정리는 라벨을 붙인 즉시 일어난다
- 값은 5m·4h·1d 같은 기간이나 ISO 8601 시각이고 주기는 기본 1m 이다
- 값은 cron 식이어야 하고 CleanupPolicy 의 schedule 과 같이 써야 한다
- 값은 네임스페이스 이름이고 그 네임스페이스 전체가 지워진다