본문 바로가기
자격증/KCNA

50~59

by 나르는나른 2025. 7. 17.

50. What is the goal of load balancing?

  • A. Automatically measure request performance across instances of an application.
  • B. Automatically distribute requests across different versions of an application.
  • C. Automatically distribute instances of an application across the cluster.
  • D. Automatically distribute requests across instances of an application.

[해석]

What is: ~는 무엇인가요

the goal: 목적

of load balancing: 로드밸런싱의

"로드밸런싱의 목적은 무엇인가"

 

[풀이]

A. Automatically measure request performance across instances of an application.

Automatically measure: 자동으로 측정한다

request performance: 요청 성능

across instances: 여러 인스턴스를 걸쳐

of an application: 한 애플리케이션의

"한 애플리케이션의 여러 인스턴스를 걸쳐 요청 성능을 자동으로 측정한다."

※ 의역하자면 애플리케이션이 여러 개 실행될 때, 각 인스턴스의 요청 성능을 자동으로 측정한다는 것이다. 요청의 성능을 자동으로 측정하는 것은 모니터링과 관련된 개념이며 로드밸런싱의 본래 목적이 아니다.

 

B. Automatically distribute requests across different versions of an application.

Automatically distribute: 자동으로 분배한다(분산한다)

requests: 요청

across different versions: 다른 버전들

of an application: 한 애플리케이션의

"한 애플리케이션의 다른 버전들 간에 요청을 자동으로 분배(분산)한다."

※ 이것은 애플리케이션에 기능 추가 또는 수정이 이루어졌을 때, 기존 버전과 새 버전을 동시에 운영하며 요청을 분산하여 새 버전이 안정적인지 점검하는 카나리 배포(Canary Deployment)를 의미한다. 로드밸런싱의 핵심 목적은 아니다.

 

C. Automatically distribute instances of an application across the cluster.

Automatically distribute: 자동으로 분배(분산)한다

instances: 인스턴스들

of an application: 한 애플리케이션의

across the cluster: 클러스터 전반에 걸쳐

"클러스터 전반에 걸쳐 한 애플리케이션의 인스턴스들을 자동으로 분배(분산)한다."

※ 애플리케이션의 인스턴스를 클러스터 내 노드에 분산하는 것은 스케줄링(scheduling)을 의미한다. 이것은 Kubernetes의 스케줄러가 담당하는 역할이다.

 

D. Automatically distribute requests across instances of an application.

Automatically distribute requests: 자동으로 요청을 분산한다

across instances: 여러 인스턴스들 간에

of an application: 한 애플리케이션의

"한 애플리케이션의 여러 인스턴스들 간에 요청을 자동으로 분산한다."

※ 로드 밸런싱은 하나의 애플리케이션이 여러 개의 인스턴스를 가지고 있을 때, 요청을 그 인스턴스들 사이에서 균등하게 분산하여 시스템 성능과 가용성을 높이는 기술이다.

====================================================================

 

51. How are ReplicaSets and Deployments related?

  • A. Deployments manage ReplicaSets and provide declarative updates to Pods.
  • B. ReplicaSets manage stateful applications, Deployments manage stateless applications.
  • C. Deployments are runtime instances of ReplicaSets.
  • D. ReplicaSets are subsets of Jobs and CronJobs which use imperative Deployments.

[해석]

How: 어떤, 어떻게(의문사)

are ~ related: 관련된(동사+보어)

ReplicaSets and Deployments: ReplicaSets와 Deployments가

"ReplicaSet와 Deployment는 어떤 관계인가"

 

[풀이]

※ Deployment란?: 쿠버네티스에서 애플리케이션의 배포, 업데이트 및 관리를 선언적으로 처리하는 객체이다. 사용자가 원하는 상태(desired state)를 정의하면, Deployment는 그 상태를 항상 유지하도록 관리한다. Pod를 생성하거나 삭제하여 애플리케이션을 확장/축소하고, 롤링 업데이트를 통해 버전 업데이트를 수행한다.

※ ReplicaSet이란?: 쿠버네티스에서 Pod의 개수를 항상 일정하게 유지하도록 관리하는 객체이다. Pod가 종료되거나 삭제되면 자동으로 다시 생성하여 개수를 맞춘다. 

 

※ 즉, ReplicaSet은 Deployment의 역할 중 일부이며, Deployment에 의해 관리되는 하위 리소스이다. 

 

A. Deployments manage ReplicaSets and provide declarative updates to Pods.

Deployments manage ReplicaSets: Deployment는 ReplicaSet을 관리한다

and: 그리고

provide declarative updates: 선언적 업데이트를 제공한다

to Pods: Pod에

"Deployment는 ReplicaSet을 관리하고 Pod에 선언적 업데이트를 제공한다"

※ 옳은 설명

 

B. ReplicaSets manage stateful applications, Deployments manage stateless applications.

ReplicaSets manage stateful applications: ReplicaSet은 stateful 애플리케이션을 관리하고

Deployments manage stateless applications: Deployment는 stateless 애플리케이션을 관리한다.

※ ReplicaSet과 Deployment 모두 주로 stateless 애플리케이션에 사용된다. stateful 애플리케이션은 StatefulSet을 사용한다.

※ stateful 애플리케이션: 상태(세션 정보, 데이터베이스 데이터, 사용자 환경 설정 등)가 지속적으로 저장되거나 유지되어야 하는 애플리케이션을 말한다. 대표적으로 MySQL, PostgreSQL과 같은 데이터베이스 시스템이 있다.

※ stateless 애플리케이션: 상태를 보관하거나 유지하지 않는 애플리케이션을 말한다. 들어오는 각 요청을 처리할 때, 이전 요청의 상태나 데이터에 의존하지 않고 독립적으로 처리한다. 각 인스턴스는 완전히 동일한 작업을 수행하며 서로 대체 가능하다. 대표적으로 웹서버가 있다.

 

C. Deployments are runtime instances of ReplicaSets.

"Deployment는 ReplicaSet의 런타임 인스턴스이다."

※ 그 반대임. ReplicaSet이 Deployment의 일부(런타임 인스턴스)임

 

D. ReplicaSets are subsets of Jobs and CronJobs which use imperative Deployments.

ReplicaSets are subsets of Jobs and CronJobs: ReplicaSet은 Job과 CronJob의 하위집합이다.

which: 관계대명사로 쓰임(=that). 여러 개의 명사를 동시에 수식할경우에는 which가 조금 더 자연스러운 표현이라고함

use imperative Deployments: imperative(명령형) Deployment를 사용하는

"ReplicaSet은 imperative Deployment를 사용하는 Job과 CronJob의 하위 집합이다."

※ imperative Deployment라는 용어 자체가 적합하지 않은 용어이고, ReplicaSet은 Job이나 CronJob과 직접적인 관계가 없음.

====================================================================

 

52. What factors influence the Kubernetes scheduler when it places Pods on nodes?

  • A. Pod memory requests, node taints, and Pod affinity.
  • B. Pod labels, node labels, and request labels.
  • C. Node taints, node level, and Pod priority.
  • D. Pod priority, container command, and node labels.

[해석]

What factors: 무슨 요소들이

influence: 영향을 미치나요

the Kubernetes scheduler: 쿠버네티스 스케줄러가

when it places Pods on nodes: 노드에 Pod를 배치할 때

"쿠버네티스 스케줄러가 노드에 Pod를 배치할 때 영향을 미치는 요소들은 무엇인가요?"

 

[풀이]

※ Pod Memory Requests: Pod가 실행될 때 요구하는 최소 메모리 자원량을 나타내는 값이다. 스케줄러는 노드의 메모리 용량과 이 요청을 비교하여 배치할 노드를 결정한다.

※ Node Taints: 특정 노드에 설정하여 일부 Pod가 해당 노드에 배치되지 못하도록 제한하는 설정이다. Toleration(용인)을 설정한 Pod만 해당 노드에 배치될 수 있다.

※ Pod Affinity: 특정 Pod가 다른 특정 Pod와 가깝게(동일 노드에) 배치되도록 설정하는 기능이다. 특정 조건을 가진 Pod들과 함께 배치되어 성능 향상 및 네트워크 지연 최소화를 목적으로 한다.

이 세 가지 요소가 Kubernetes 스케줄러가 노드를 선택하는 데 핵심적으로 영향을 미친다.

 

※ Pod labels: Pod에 붙이는 키-값 형태의 메타데이터. 서비스, ReplicaSet, Deployment 등에서 특정 Pod를 선택할 때 주로 사용한다.

※ Node labels: 노드에 붙이는 키-값 형태의 메타데이터. 특정 노드를 선택적으로 스케줄링할 때 사용한다.

※ Request labels: 존재하지 않는 용어

label은 단순 식별자로 사용된다. 이것만으로 스케줄러가 배치를 결정하지는 않는다.

 

※ Pod priority: Pod의 중요도를 나타내는 수치로, 스케줄링과 퇴거(eviction) 시 우선순위를 결정한다.

Pod priority는 스케줄링 우선순위에 영향을 주지만, 선택지에 있는 Node Level이라는것은 없는 개념이기 때문에 정답이 아니다.

 

※ Container command: 컨테이너 실행 시 최초로 실행할 명령어를 말한다. 컨테이너의 동작을 결정하지만 스케줄러가 Pod를 배치하는데 영향을 주지는 않는다.

====================================================================

 

53. What is the core metric type in Prometheus used to represent a single numerical value that can go up and down?

  • A. Summary
  • B. Counter
  • C. Histogram
  • D. Gauge

[해석]

What is the core metric type: 핵심 메트릭 유형은 무엇인가요

in Prometheus: 프로메테우스에서

used to represent: 나타내는데 사용되는

a single numerical value: 하나의 숫자 값(단일 수치)을

that: 관계대명사(숫자 값을 수식)

can go up and down: 증가하거나 감소할 수 있는

"프로메테우스에서 증가하거나 감소할 수 있는 하나의 숫자 값을 나타내는데 사용되는 핵심 메트릭 유형은 무엇인가"

 

[풀이]

A. Summary

※ 일정 기간 동안의 관측값을 요약하여 분포와 분위수를 나타내는 메트릭이다. 주로 시간에 따른 요청 지속시간을 분석할 때 사용된다.

B. Counter

※ 값이 오직 증가만 하는 메트릭이다.

C. Histogram

※ 값의 분포를 표현하는 메트릭으로, 값을 범위로 나누어 표현한다. 요청 시간 분포 등을 측정할 때 사용된다. 값이 하나가 아니라 여러 bucket(범위)로 나뉘므로 단일 값을 나타내기 어렵다.

D. Gauge

※ 프로메테우스에서 하나의 숫자 값(단일 값)을 표현하는 메트릭이다. 값이 증가하거나 감소할 수 있다. 대표적으로 현재 온도, CPU 사용량, 메모리 사용량 등을 표현한다.

====================================================================

 

54. What is the primary mechanism to identify grouped objects in a Kubernetes cluster?

  • A. Custom Resources
  • B. Labels
  • C. Label Selector
  • D. Pod

[해석]

What is the primary mechanism: 무엇이 주된 메커니즘(방법)인가요

to identify grouped objects: 그룹화된 객체들을 식별하기 위한

in a Kubernetes cluster: 쿠버네티스 클러스터 내에서

"쿠버네티스 클러스터 내에서 그룹화된 객체들을 식별하기 위한 주된 방법은 무엇인가요?"

 

[풀이]

A. Custom Resources

※ 사용자 정의 리소스는 쿠버네티스에서 기본 제공되지 않는 새로운 객체 유형을 사용자가 정의할 때 사용된다.

B. Labels

※ 라벨은 쿠버네티스 객체에 키-값 형태로 붙이는 메타데이터이다. 객체를 그룹화하거나 특정 목적의 객체를 선택하고 식별하는 주된 메커니즘으로 널리 사용된다.

C. Label Selector

※ 라벨 셀렉터는 이미 존재하는 라벨을 기반으로 특정 객체를 선택할 때 사용된다.

D. Pod

※ 파드는 쿠버네티스에서 애플리케이션 컨테이너의 기본 실행 단위이다. 객체를 그룹화하거나 식별하기 위한 메커니즘이 아니라, 컨테이너를 실행하는 객체 그 자체이다.

====================================================================

 

55. What is the name of the Kubernetes resource used to expose an application?

  • A. Port
  • B. Service
  • C. DNS
  • D. Deployment

[해석]

What is the name: 이름이 무엇인가요

of the Kubernetes resource: 쿠버네티스 리소스의

used to expose an application: 한 애플리케이션을 노출(공개)하는데 사용되는

"애플리케이션을 외부에 노출하는 데 사용되는 쿠버네티스 리소스의 이름이 무엇인가요"

 

[풀이]

A. Port

※ 포트는 통신시 사용되는 번호이다. 리소스의 종류가 아니다.

B. Service

※ 쿠버네티스에서 애플리케이션을 내부 또는 외부에 노출(공개)할 때 사용하는 공식적인 리소스이다. ClusterIP, NodePort, LoadBalancer와 같은 다양한 유형으로 애플리케이션을 외부에 노출시킨다.

C. DNS

※ 도메인 이름을 IP주소로 변환하는 시스템이다. 쿠버네티스 리소스가 아니다.

D. Deployment

※ 쿠버네티스에서 애플리케이션의 Pod를 관리하고 업데이트하는 리소스이다. Deployment는 애플리케이션을 배치하고 관리하지만, 직접 외부에 노출시키지는 않는다.

====================================================================

 

56. What is a DaemonSet?

  • A. It's a type of workload that ensures a specific set of nodes run a copy of a Pod.
  • B. It's a type of workload responsible for maintaining a stable set of replica Pods running in any node.
  • C. It's a type of workload that needs to be run periodically on a given schedule.
  • D. It's a type of workload that provides guarantees about ordering, uniqueness, and identity of a set of Pods.

[해석]

What is a DaemonSet?

"DaemonSet은 무엇인가요?"

 

[풀이]

A. It's a type of workload that ensures a specific set of nodes run a copy of a Pod.

It's a type of workload: 그것은 워크로드 유형입니다.

that: 관계대명사(어떤 워크로드인지 수식)

ensures: 보장한다

a specific set of nodes: 특정한 노드 집합들이

run a copy of a Pod: 하나의 파드 복제본을 실행하는

"특정한 노드 집합들이 하나의 파드 복제본을 실행하도록 보장하는 워크로드 유형입니다."

※ DaemonSet은 Kubernetes의 특정 워크로드 유형으로, 지정된 노드 집합에 각 노드마다 Pod가 하나씩 반드시 실행되도록 보장하는 역할을 수행한다. 주로 클러스터의 모든 노드에서 실행되어야 하는 시스템 로깅, 모니터링, 네트워크 설정과 같은 작업에 사용된다.

 

B. It's a type of workload responsible for maintaining a stable set of replica Pods running in any node.

It's a type of workload: 그것은 워크로드 유형입니다.

responsible: 책임지는, 담당하는

for maintaining a stable set of replica Pods: 안정적인 복제 Pod들의 집합을 유지관리하는 것을

running in any node: 어느 노드에서든 실행 중인

"어느 노드에서든 실행중인 안정적인 복제 Pod들의 집합을 유지관리하는 것을 책임지는 워크로드 유형입니다."

※ 이것은 ReplicaSet에 대한 설명이다. ReplicaSet은 특정 개수의 Pod를 항상 유지하는 역할을 하는 워크로드이다. Pod가 종료되면 새 Pod를 자동 생성하여 안정적인 개수(stable set)을 유지한다.

 

C. It's a type of workload that needs to be run periodically on a given schedule.

It's a type of workload: 그것은 워크로드 유형입니다.

that: 관계대명사(어떤 워크로드인지 수식)

needs to be run periodically: 주기적으로 실행되어야 하는(need to는 "~해야 한다"라는 뜻으로 널리 쓰이는 표현)

on a given schedule: 주어진 일정에 따라(시간적 개념을 나타내기 때문에 on이 "위에"가 아닌, "따라, 맞추어"로 해석된다)

"주어진 일정에 따라 주기적으로 실행되어야 하는 워크로드 유형입니다."

※ 이것은 CronJob에 대한 설명이다.

 

D. It's a type of workload that provides guarantees about ordering, uniqueness, and identity of a set of Pods.

It's a type of workload: 그것은 워크로드 유형입니다.

that: 관계대명사(어떤 워크로드인지 수식)

provides guarantees: 보증을 제공하는(=보장하는)

about: ~에 대한, ~에 대해서ordering, uniqueness, and identity: 순서, 고유성, 그리고 식별성of a set of Pods: Pod 집합의

"Pod 집합의 순서와 고유성, 그리고 식별성에 대해 보장하는 워크로드 유형입니다."

※ 이것은 StatefulSet에 대한 설명이다. Pod가 항상 순서대로 생성 및 종료되도록 하고, 각 Pod가 고유한 이름과 DNS 식별자를 갖도록 하고, 각 Pod가 고정된 네트워크 ID를 갖고 지속적인 데이터 저장소를 갖도록 하는것이다. 이러한 특징들은 데이터베이스, 캐싱 서비스 등의 Stateful 애플리케이션이 필요로 하는 것이다. ====================================================================

 

57. What is the telemetry component that represents a series of related distributed events that encode the end-to-end request flow through a distributed system?

  • A. Metrics
  • B. Logs
  • C. Spans
  • D. Traces

[해석]

What is the telemetry component: 텔레메트리 구성요소는 무엇인가요?

that: 관계대명사(어떤 텔레메트리 구성요소를 말하는건지 수식함)

represents: 나타내는

a series of related distributed events: 일련의 관련된 분산 이벤트들을

that: 관계대명사(어떤 일련의 관련된 분산 이벤트들을 말하는건지 수식함)

encode the end-to-end request flow: 종단간 요청 흐름을 인코딩하는(표현하는, 나타내는)

through a distributed system: 분산 시스템을 통해

"분산 시스템을 통하는 종단간 요청 흐름을 표현하고, 서로 관련된 일련의 분산 이벤트들을 나타내는 텔레메트리 구성요소는 무엇인가"

 

[풀이]

지문을 한글로 해석하려다보니 다소 난해한데, 풀이해보면 다음과 같다.

 

분산 시스템(Distributed system)은 하나의 요청을 처리할 때 여러 개의 서비스나 구성 요소가 서로 연결되어 작동하는 시스템이다.

이러한 시스템에서는 하나의 요청이 처음부터 끝까지(end-to-end) 여러 서비스를 거쳐서 처리된다.

이 "하나의 요청이 처음부터 끝까지 처리되는 전체 과정"을 기록한 정보(텔레메트리 구성요소)가 무엇인지 묻는 문제이다.

 

A. Metrics

※ 메트릭은 주로 숫자 값을 나타내는 데이터로서 성능, 리소스 사용량 등을 측정하는 데 사용된다.

B. Logs

※ 로그는 시스템이나 애플리케이션이 실행되는 중에 발생하는 개별적인 이벤트를 기록한 텍스트 데이터다.

C. Spans

※ 스팬은 Trace 내의 개별 작업 단위를 나타내며, 하나의 Span은 작업의 시작과 끝을 나타낸다. 즉, Span은 Trace의 구성요소이다.

D. Traces

※ 트레이스는 분산 시스템에서 요청의 시작부터 끝까지를 나타내는 계층적이고 연관된 Span의 집합이다. 트레이스는 전체 요청 흐름을 시각적으로 보여준다. 대표적으로 특정 웹 요청이 API 서버, 데이터베이스, 캐시를 거쳐 클라이언트에 응답될 때 그 전체 흐름을 표현한다.

 

※ Span은 개별 작업, Trace는 Span의 집합체이며 전체 요청 흐름을 표현.

====================================================================

 

58. In the Kubernetes platform, which component is responsible for running containers?

  • A. etcd
  • B. CRI-O
  • C. cloud-controller-manager
  • D. kube-controller-manager

[해석]

In the Kubernetes platform: 쿠버네티스 플랫폼에서

which component: 어떤 컴포넌트(구성요소)인가요

is responsible: 책임이 있는(=담당하는)

for running containers: 컨테이너를 실행하기 위한

"쿠버네티스 플랫폼에서 컨테이너 실행을 담당하는 것은 어떤 컴포넌트(구성요소)인가요"

 

[풀이]

A. etcd

※ etcd는 클러스터의 상태 정보를 저장하는 분산 키-값 저장소로 사용된다. 컨트롤 플레인(Control Plane)의 핵심 구성 요소로서, API 서버가 상태를 관리할 때 etcd를 통해 데이터를 읽고 쓴다. 컨테이너를 직접 실행하지는 않는다.

 

B. CRI-O

※ CRI-O(Container Runtime Interface + Open Container Initiative)는 쿠버네티스가 표준화된 CRI를 통해 컨테이너를 실행할 때 사용되는 구현체이다. 쿠버네티스에 최적화된 경량의 전용 컨테이너 런타임이다. Docker와 같은 추가적인 중간 계층 없이 컨테이너를 직접 실행할 수 있게 해준다.

※ CRI란?: 쿠버네티스가 다양한 '컨테이너 런타임'과 상호작용하기 위한 '표준 인터페이스'이다. 쿠버네티스에서 컨테이너를 생성하고 관리하는 역할을 담당하는 구성요소는 'Kubelet'이다. Kubelet이 컨테이너를 실행할 때, 컨테이너 런타임(Docker, CRI-O, containerd 등)과 소통하기 위한 일종의 표준 API이다.

※ OCI란?: 컨테이너 생태계의 표준화를 위해 만들어진 비영리 단체이며, 컨테이너 런타임과 이미지의 규격을 표준화하는 것을 목표로 한다. 특히, Docker, containerd, CRI-O 등 다양한 컨테이너 런타임과 이미지가 호환성을 유지할 수 있도록 표준화 한다.

 

C. cloud-controller-manager

※ 클라우드 공급자와 관련된 컴포넌트로 클라우드 인프라 리소스(로드밸런서, 스토리지 등)를 관리한다. 컨테이너 실행과는 관련이 없다.

D. kube-controller-manager

※ 쿠버네티스 클러스터 내부에서 ReplicaSet, Deployment 등 리소스를 관리하는 컴포넌트이다. 실제 컨테이너 실행과는 관련이 없다.

====================================================================

 

59. Services and Pods in Kubernetes are ______ objects.

  • A. JSON
  • B. YAML
  • C. Java
  • D. REST

[해석]

Services and Pods: 서비스와 파드는

in Kubernetes: 쿠버네티스에서

are _____ objects: ~객체이다.

"Serivce와 Pod는 쿠버네티스에서 ?? 객체이다."

 

[풀이]

Kubernetes의 모든 객체(Service, Pod 등)는 REST 객체이며, 쿠버네티스 API 서버를 통해 RESTful  API로 관리된다.

※ REST(Representational State Transfer)란?: 네트워크상의 리소스를 다루기 위한 아키텍처 스타일이다.

주로 웹 기반 애플리케이션과 서비스 간 통신을 위해 사용된다. 쉽게 말하면, 웹 서비스가 서로 통신할 때 지켜야 하는 설계 원칙이다. REST의 핵심은 다음과 같은 원칙을 따르는 것이다.

1. 모든 자원은 고유한 URI를 가진다.

2. 클라이언트-서버 간의 통신은 HTTP 프로토콜을 기반으로 한다.

3. 상태 정보는 서버에 저장하지 않고, 클라이언트가 관리한다.(Stateless)

4. 데이터 표현 방식으로 주로 JSON 또는 XML을 사용한다.

'자격증 > KCNA' 카테고리의 다른 글

31~40  (0) 2025.08.02
21~30  (0) 2025.07.16
11~20  (0) 2025.07.15
1~10  (0) 2025.07.13