LabHub

CNPA — 클라우드 네이티브 플랫폼 엔지니어링 어소시에이트 · 플랫폼 API 와 추상화 · 퀴즈

퀴즈: 플랫폼 API 와 추상화

LabHub 에서 이어서 보기

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

  1. 플랫폼 API 를 사내 웹 앱 대신 CRD 로 만들 때 '공짜로' 따라오지 않는 것은?

    1. RBAC 을 통한 인가와 감사 로그
    2. `resourceVersion` 기반 낙관적 동시성 제어와 watch
    3. CR 을 보고 실제 워크로드를 만들어 주는 조정 로직
    4. OpenAPI 스키마에 의한 요청 검증
  2. CRD 스키마의 `default: 2` 가 하는 일은?

    1. kubectl 이 로컬에서 값을 채워 서버로 보낸다
    2. 컨트롤러가 조정 루프에서 값을 채운다
    3. 값이 없을 때 요청을 거절한다
    4. API 서버가 저장 시점에 값을 채워 넣으므로, 필드를 생략해도 조회하면 값이 들어 있다
  3. 테넌트 팀이 직접 만드는 커스텀 리소스의 스코프를 Cluster 로 정했을 때 생기는 문제는?

    1. kubectl 로 조회할 수 없다
    2. 이름이 클러스터 전역이라 테넌트 간 이름이 충돌하고, 권한을 ClusterRole 로만 줄 수 있어 경계를 긋기 어렵다
    3. Cluster 스코프에서는 OpenAPI 스키마 검증이 동작하지 않는다
    4. GitOps 도구가 관리할 수 없다
  4. ResourceQuota 에 `requests.cpu` 가 설정된 네임스페이스에서 리소스 요청을 명시하지 않은 파드를 만들면?

    1. 항상 성공하며 요청은 0 으로 계산된다
    2. 쿼터가 자동으로 늘어난다
    3. LimitRange 가 기본값을 제공하지 않으면 파드 생성이 거절된다
    4. 파드는 만들어지지만 스케줄되지 않는다
  5. 플랫폼 추상화에 탈출구(escape hatch)를 남겨야 하는 이유로 가장 적절한 것은?

    1. 탈출구가 없으면 CRD 스키마 검증이 동작하지 않기 때문에
    2. 지원되지 않는 요구를 만난 팀이 플랫폼을 완전히 버리고 생 YAML 로 돌아가면 다시 돌아오지 않기 때문에
    3. 쿠버네티스가 탈출구 필드를 필수로 요구하기 때문에
    4. 탈출구를 쓰면 플랫폼 비용이 줄어들기 때문에
  6. GPU 노드에 `gpu.homelab/tier=xlarge` 같은 의미 기반 라벨을 사람이 정의해 붙이는 이유는?

    1. 자동 라벨링 도구가 라벨을 붙이지 못하기 때문에
    2. 쿠버네티스가 GPU 를 스케줄링 가능한 자원으로 아예 인식하지 못하기 때문에
    3. 라벨이 많을수록 스케줄링이 빨라지기 때문에
    4. 자동 라벨은 메모리 크기가 문자열이라 '이상/이하' 비교 셀렉터를 만들 수 없고, 워크로드는 카드 모델명이 아니라 필요한 체급으로 선택하고 싶기 때문에