LabHub

CAPA — Argo 프로젝트 인증 어소시에이트 · AppProject·ApplicationSet·멀티테넌시 · 퀴즈

퀴즈: AppProject 와 ApplicationSet

LabHub 에서 이어서 보기

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

  1. AppProject 의 clusterResourceWhitelist 와 namespaceResourceBlacklist 에 대한 설명으로 옳은 것은?

    1. 클러스터 스코프는 적힌 것만 허용, 네임스페이스 스코프는 적힌 것만 금지로 방향이 반대다
    2. 둘 다 허용 목록이라 적힌 종류만 만들 수 있다
    3. 둘 다 금지 목록이라 적힌 종류만 못 만든다
    4. 네임스페이스 스코프는 적힌 것만 허용, 클러스터 스코프는 적힌 것만 금지로 방향이 반대다
  2. AppProject 에 평일 09시부터 9시간 allow 창과 토·일 종일 deny 창이 함께 있다. 토요일 오전에 자동 동기화는 어떻게 되는가?

    1. 허용된다. 나중에 정의된 창이 이긴다
    2. 허용된다. allow 가 명시적으로 지정됐기 때문
    3. 금지된다. deny 가 allow 를 이긴다
    4. 판단할 수 없어 컨트롤러가 에러를 낸다
  3. ApplicationSet 에서 `{{ if eq .env "production" }}` 같은 조건 표현을 쓰려면 무엇이 필요한가?

    1. spec.goTemplate 를 true 로 설정한다
    2. goTemplateOptions 에 missingkey=error 를 넣는다
    3. 제너레이터를 matrix 로 바꾼다
    4. 아무 설정 없이 기본 엔진에서 동작한다
  4. matrix 제너레이터와 merge 제너레이터의 차이로 옳은 것은?

    1. matrix 는 두 제너레이터 결과의 곱집합을 만들고, merge 는 mergeKeys 로 조인해 값을 덮어쓴다
    2. matrix 는 클러스터 전용이고 merge 는 Git 전용이다
    3. matrix 는 조인이고 merge 는 곱집합이다
    4. 둘은 같은 동작이고 이름만 다르다
  5. app-of-apps 패턴에서 특히 조심해야 할 설정은?

    1. 부모 Application 의 prune 설정. 부모를 지우거나 Git 에서 자식이 사라지면 자식 Application 이 전부 prune 대상이 된다
    2. 부모 Application 의 targetRevision
    3. 자식 Application 이 가리키는 destination.server 주소
    4. 자식 Application 의 project 이름
  6. AppProject 의 destinations 로 네임스페이스를 제한했는데도 그 테넌트가 노드 자원을 독점할 수 있다. 이 간극을 메우는 것은?

    1. sourceRepos 를 더 좁게 지정한다
    2. 네임스페이스에 ResourceQuota 와 LimitRange 를 두고, 테넌트가 그것을 만들지 못하도록 namespaceResourceBlacklist 에 넣는다
    3. syncWindows 를 추가한다
    4. AppProject 의 roles 정의에서 sync 권한을 빼고 읽기 권한만 남겨 두면 된다