LabHub

쿠버네티스 운영 실무 · NetworkPolicy 적용 · 퀴즈

퀴즈: NetworkPolicy

LabHub 에서 이어서 보기

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

  1. web 파드에서 api 파드로 가는 트래픽만 허용하려 합니다. 정책의 `podSelector` 는 무엇을 골라야 하는가?

    1. 트래픽을 받는 api 파드
    2. 보내는 web과 받는 api 파드 둘 다
    3. 네임스페이스 전체를 고르는 빈 셀렉터
    4. 트래픽을 보내는 web 파드
  2. 다음 중 '네임스페이스의 모든 파드에 대해 인그레스를 전부 거부'하는 정책은?

    1. 정책을 아예 만들지 않아 네임스페이스에 인그레스 규칙이 하나도 없는 상태로 두는 것
    2. `podSelector: {}` 에 `policyTypes: [Ingress]` 이고 ingress 규칙이 없는 정책
    3. `podSelector: {}` 에 `ingress: [{}]` 하나만 있고 policyTypes 는 생략한 정책
    4. `policyTypes` 를 비워 두고 ingress 규칙만 여러 개 나열한 정책
  3. `from` 항목 하나 안에 `namespaceSelector` 와 `podSelector` 를 함께 쓰면 의미는?

    1. 두 조건을 모두 만족해야 허용(AND)
    2. 문법 오류
    3. 둘 중 하나만 만족하면 허용(OR)
    4. namespaceSelector 가 무시된다
  4. 이그레스 기본 거부를 적용했더니 모든 서비스가 죽었습니다. 가장 먼저 확인할 것은?

    1. DNS(53) 이그레스 허용 정책이 있는지
    2. 노드의 커널 버전이 CNI 요구 사항보다 낮은지
    3. Service 의 타입이 ClusterIP 인지
    4. 파드의 CPU 사용량이 limit 에 닿았는지
  5. DNS 허용 정책에서 UDP 53 만 열면 생길 수 있는 문제는?

    1. CoreDNS 파드가 이그레스 정책에 막혀 기동하지 않는다
    2. TCP 53 이 막혀 파드 IP 할당이 실패한다
    3. 응답이 커서 TCP 로 넘어가는 질의가 실패할 수 있다
    4. 문제가 없다. DNS 질의는 규격상 UDP 53 만 쓴다
  6. NetworkPolicy 를 만들었는데 아무것도 차단되지 않습니다. 가장 가능성 높은 원인은?

    1. CNI 플러그인이 NetworkPolicy 를 지원하지 않는다
    2. 정책의 metadata 에 대상 네임스페이스를 지정하지 않았다
    3. 정책 이름에 대문자가 들어가 라벨 셀렉터 매칭이 실패했다
    4. apiVersion 을 v1 으로 적어 정책이 무시되고 있다
  7. `ipBlock` 을 클러스터 내부 파드 간 통신 제어에 쓰는 것이 권장되지 않는 이유는?

    1. ipBlock 에서는 except 로 예외 대역을 뺄 수 없어서
    2. 파드 IP 는 재생성 때마다 바뀌므로 라벨 기반 선택이 더 안정적이어서
    3. ipBlock 은 인그레스 규칙에만 쓸 수 있고 이그레스에는 못 써서
    4. CIDR 표기가 IPv6 파드 네트워크를 지원하지 않아서