LabHub

CNPE — 클라우드 네이티브 플랫폼 엔지니어 (전문가) · 플랫폼 API 와 셀프서비스 · 퀴즈

퀴즈: 플랫폼 API 와 셀프서비스

LabHub 에서 이어서 보기

문항 8개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. CRD 의 한 버전에서 served 와 storage 를 각각 어떻게 두어야 합니까?

    1. served 와 storage 를 모든 버전에서 true 로 두어 어느 버전으로든 저장되게 합니다
    2. 저장 버전은 한 버전만 true 이고, 옛 버전은 served 를 true 로 남겨 둡니다
    3. storage 는 최신 버전만 true 이고 served 도 최신 버전만 true 로 좁힙니다
    4. served 는 저장 버전에만 두고 나머지 버전은 정의만 남겨 둡니다
  2. replicas 가 9 이고 maxReplicas 가 4 인 요청을 API 서버가 거절하게 하려면 무엇이 필요합니까?

    1. 두 필드에 각각 minimum 과 maximum 을 지정합니다
    2. 두 필드를 required 목록에 넣어 누락을 막습니다
    3. spec 에 CEL 검증 규칙을 두어 두 필드의 관계를 비교합니다
    4. 두 필드의 타입을 integer 에서 string 으로 바꿔 형식을 좁힙니다
  3. CEL 규칙에 oldSelf 를 쓰면 그 규칙은 언제 평가됩니까?

    1. 생성과 변경 모두에서 평가되고 생성 때는 oldSelf 가 빈 객체가 됩니다
    2. 컨트롤러가 status 를 갱신할 때만 평가됩니다
    3. CRD 를 apply 할 때 한 번 평가되고 그 뒤에는 캐시됩니다
    4. 변경할 때만 평가되고 생성 때는 건너뜁니다
  4. tier 를 불변으로 만들려는데 규칙을 self == oldSelf 로 적으면 무엇이 문제입니까?

    1. tier 뿐 아니라 replicas 까지 묶여서 불변이 아니라 동결이 됩니다
    2. CEL 이 객체 전체 비교를 지원하지 않아 CRD apply 가 거절됩니다
    3. 규칙이 생성 시점에도 평가되어 첫 청구부터 만들 수 없게 됩니다
    4. status 서브리소스까지 비교 대상에 들어가 컨트롤러가 멈춥니다
  5. Role 을 좁게 썼는데도 테넌트가 시크릿을 읽을 수 있었습니다. 무엇을 확인해야 합니까?

    1. Role 의 apiGroups 에 코어 그룹을 뜻하는 빈 문자열이 있는지
    2. 그 주체에 붙은 다른 바인딩까지 합친 최종 판정 결과
    3. CRD 의 스키마에 시크릿 참조 필드가 들어 있는지
    4. 네임스페이스의 PodSecurity 라벨이 restricted 인지
  6. 셀프서비스 롤에서 커스텀 리소스의 delete 를 테넌트에게 주지 않는 주된 이유는 무엇입니까?

    1. delete 동사는 RBAC 에서 create 권한을 함께 부여하기 때문입니다
    2. 삭제된 객체는 etcd 에서 복구할 수 없어 감사 추적이 끊기기 때문입니다
    3. 삭제에는 볼륨이나 외부 계정 정리가 딸려 있어 회수 절차가 필요하기 때문입니다
    4. 쿼터의 사용량이 갱신되지 않아 다음 발급이 막히기 때문입니다
  7. CRD 를 만든 직후 그 리소스를 겨냥한 ResourceQuota 를 걸었더니 해당 리소스를 하나도 만들 수 없게 됐습니다. 어떻게 고칩니까?

    1. 쿼터의 상한 값을 하나 올려서 어드미션이 다시 판정하게 합니다
    2. CRD 의 저장 버전을 올려 스키마를 다시 등록합니다
    3. 네임스페이스를 지웠다가 다시 만들어 쿼터를 새로 생성합니다
    4. 그 쿼터를 지웠다가 다시 만들어 컨트롤러가 리소스를 다시 인식하게 합니다
  8. CRD 에 additionalPrinterColumns 를 두는 실질적인 이유는 무엇입니까?

    1. kubectl get 한 줄로 상태가 보여야 사람들이 실제로 확인하기 때문입니다
    2. 출력 컬럼에 적힌 필드만 API 서버가 인덱싱해 조회가 빨라지기 때문입니다
    3. 컬럼이 없으면 kubectl get 이 객체 목록 자체를 반환하지 않기 때문입니다
    4. 출력 컬럼이 있어야 ResourceQuota 가 그 리소스를 셀 수 있기 때문입니다