
21. How to load and generate data required before the Pod startup?
- A. Use an init container with shared file storage.
- B. Use a PVC volume.
- C. Use a sidecar container with shared volume.
- D. Use another pod with a PVC.
[해석]
How to load and generate data: 데이터를 어떻게 불러오고 생성할것인가
required: 필요한 (data를 꾸며주며, "필요한 데이터"라는 뜻이 된다)
before the Pod startup: Pod가 시작되기 전에
"Pod가 시작되기전에 필요한 데이터를 어떻게 불러오고 생성할것인가?"
[풀이]
A. Use an init container with shared file storage.
Use an init container: init container를 사용한다
with shared file storage.: 공유된 파일 저장소와 함께(or저장소를 갖춘)
"공유 파일 저장소를 갖춘 init container를 사용한다."
※ init container는 Pod가 시작되기 전에 수행되는 컨테이너로, 메인 컨테이너 실행 전에 데이터를 준비하는 작업(파일 생성, 로드 등)을 수행한다. 공유된 볼륨(shared volume)을 사용하여 준비된 데이터를 메인 컨테이너와 공유할 수 있다.
※ init 컨테이너가 만든 데이터에 메인 컨테이너가 접근해야 하기 때문에, 공유된 파일 저장소를 사용해야한다.
B. Use a PVC volume.
"PVC 볼륨을 사용한다."
※ PVC(Persistent Volume Claim)는 볼륨을 요청하는 리소스로, 데이터를 영구 저장하기 위한 용도로 사용된다.
※ Pod는 직접 PV(Persistent Volume)과 연결되지 않고, 대신 PVC를 통해 PV와 연결된다. 이를 통해 Pod와 저장소를 느슨하게 연결(loose coupling)하여 관리할 수 있다.
C. Use a sidecar container with shared volume.
"공유 볼륨을 갖춘 사이드카 컨테이너를 사용한다."
※ 사이드카 컨테이너란?: 메인 컨테이너와 함께 병렬로 실행되는 컨테이너다. 쿠버네티스에서 하나의 Pod는 하나 이상의 컨테이너를 실행할 수 있다. 이때 주 컨테이너의 역할과 별도로 특정 보조 역할(로킹, 모니터링, 보안 등)을 수행하기 위해 추가된 보조 컨테이너를 '사이드카'라고 한다.
D. Use another pod with a PVC.
"PVC를 갖춘 다른 Pod를 사용한다."
※ 별도의 Pod를 사용하면 데이터를 준비할 수는 있지만, 준비된 데이터를 이 Pod와 즉각적으로 공유하려면 별도의 추가 작업이나 메커니즘이 필요하다.
※ Pod 시작 전 데이터를 준비하는 직접적인 방법이 아니며 불필요한 복잡성을 가져온다.
================================================================
22. What is the core functionality of GitOps tools like Argo CD and Flux?
- A. They track production changes made by a human in a Git repository and generate a human-readable audit trail.
- B. They replace human operations with an agent that tracks Git commands.
- C. They automatically create pull requests when dependencies are outdated.
- D. They continuously compare the desired state in Git with the actual production state and notify or act upon differences.
[해석]
What is: 무엇인가요
the core functionality: 핵심 기능
of GitOps tools: GitOps 도구들의
like Argo CD and Flux: Argo CD나 Flux와 같은
"Argo CD나 Flux와 같은 GitOps 도구들의 핵심 기능은 무엇인가요"
[풀이]
A. They track production changes made by a human in a Git repository and generate a human-readable audit trail.
They: 그들(GitOps도구들)
track: 추적하다
production changes: 프로덕션 환경의 변경사항
made by a human: 사람에 의해 만들어진
in a Git repository: Git 저장소 내에서
and generate a human-readable audit trail.: 그리고 사람이 읽을 수 있는 감사 기록을 생성한다
"Git 저장소 내에서 사람에 의해 생긴 프로덕션 환경의 변경사항을 추적하고, 사람이 읽을 수 있는 감사 기록을 생성한다."
※ GitOps 툴은 감사 기록을 생성할 수는 있지만, 주요 목적은 아니다. 또한 사람이 프로덕션 환경에서 직접 변경하는 방식과는 거리가 있다.
B. They replace human operations with an agent that tracks Git commands.
They: 그들(GitOps 도구들)
replace(A wtih B): 대체한다
human operations: 사람에 의한 운영을
an agent: 에이전트로
that: 관계대명사(an agent를 수식한다)
tracks Git commands.: Git 명령어를 추적하는
"Git 명령어를 추적하는 에이전트로 사람에 의한 운영을 대체한다."
※ GitOps는 Git 명령 자체를 추적하는 것이 아니라, Git 저장소에 정의된 상태와 프로덕션 상태를 비교하여 일관성을 유지한다.
C. They automatically create pull requests when dependencies are outdated.
They: 그들(GitOps 도구들)
automatically: 자동으로
create pull requests: 풀 리퀘스트를 생성한다
when: ~때
dependencies are outdated.: 의존성이 오래됐을때
"의존성이 오래됐을때 자동으로 풀 리퀘스트를 생성한다."
※ 풀 리퀘스트란?: 코드나 설정 변경 사항을 원본 코드 저장소에 병합해 달라고 요청하는 행위 또는 요청 문서를 말한다. 즉, 개발자가 변경된 내용을 원본 저장소에 통합하기 전에, 다른 팀원이나 관리자에게 코드 리뷰나 검토를 받고 병합을 승인해 달라고 요청하는 방식이다.
D. They continuously compare the desired state in Git with the actual production state and notify or act upon differences.
They: 그들(GitOps 도구들)
continuously: 계속(지속적으로)
compare(A with B): 비교한다
the desired state in Git: Git에 이상적인 상태와
actual production state: 실제 프로덕션 환경의 상태를
and: 그리고
notify or act upon differences: 차이점에 따라 알리거나 조치를 취한다
"Git에 이상적인 상태와 실제 프로덕션 환경의 상태를 지속적으로 비교하고, 차이점에 따라 알리거나 조치를 취한다."
※ GitOps의 핵심 원리는 원하는 상태(desired state)를 Git에 정의하고, 자동화 도구가 실제 상태(actual state)와 지속적으로 비교하여 차이가 있으면 자동으로 감지하고, 알림을 주거나 조치를 취하는 것 입니다.
================================================================
23. Which Kubernetes resource workload ensures that all (or some) nodes run a copy of a Pod?
- A. ReplicaSet
- B. StatefulSet
- C. DaemonSet
- D. Deployment
[해석]
Which: ~는 어떤 것인가?
Kubernetes resource workload: 쿠버네티스 리소스(자원, 객체) 워크로드(수행해야 하는 작업)
ensures: 보장하다
that: 관계대명사(무엇을 보장해야하는지 접속사)
all (or some) nodes run a copy of a Pod: 모든(또는 일부) 노드들이 복제된 Pod를 실행하는것
"모든(또는 일부) 노드가 Pod의 복제본을 실행하도록 보장하는 쿠버네티스 리소스 워크로드는 어떤것인가요?"
[풀이]
A. ReplicaSet
※ Pod의 여러 복제본을 특정 개수만큼 유지하지만, 특정 노드마다 실행되는 것을 보장하지는 않는다.
B. StatefulSet
※ stateful 애플리케이션의 Pod를 관리한다. 각 Pod에 고유한 식별자(identity)를 부여하지만, 모든 노드에 하나씩 실행되도록 보장하지는 않는다.
C. DaemonSet
※ 각 노드에 하나의 Pod를 자동으로 생성하고 유지한다. 시스템 로깅, 모니터링, 네트워크 서비스와 같이 모든 노드에서 실행되어야 하는 Pod에 주로 사용된다.
D. Deployment
※ 선언된 수 만큼 Pod를 생성하고 유지한다. 노드별로 실행 여부를 보장하지는 않는다.
================================================================
24. We can extend the Kubernetes API with Kubernetes API Aggregation Layer and CRDs. What is CRD?
- A. Custom Resource Definition
- B. Custom Restricted Definition
- C. Customized RUST Definition
- D. Custom RUST Definition
[해석]
We can extend: 우리는 확장할 수 있다
the Kubernetes API: 쿠버네티스 API를
with Kubernetes API Aggregation Layer and CRDs: Kubernetes API Aggregation Layer와 CRD로
What is CRD?: CRD는 무엇인가?
"우리는 Kubernetes API를 Kubernetes API Aggregation Layer와 CRD로 확장할 수 있다. CRD는 무엇인가?"
[풀이]
※ Kubernetes API Aggregation Layer란?: 쿠버네티스 API 서버의 기본 기능을 확장하여 추가적인 API 서버를 통해 새로운 API 엔드포인트를 제공하는 방식이다. 기본 API 서버가 아닌, 독립된 API 서버를 만들어 쿠버네티스 API에 추가로 등록한다. 이를 통해 복잡한 API 로직과 커스터마이징이 가능해진다.
※ CRD(Custom Resource Definition)란?: 사용자 정의 리소스를 쿠버네티스 클러스터에 등록하여 마치 쿠버네티스가 기본 제공하는 리소스(Pod, Service 등)처럼 다룰 수 있도록 하는 방식이다. 쿠버네티스가 원래 제공하지 않던 새로운 리소스를 손쉽게 정의하고 관리가 가능하다.
================================================================
25. The Kubernetes project work is carried primarily by SIGs. What does SIG stand for?
- A. Special Interest Group
- B. Software Installation Guide
- C. Support and Information Group
- D. Strategy Implementation Group
[해석]
The Kubernetes project work is: 쿠버네티스 프로젝트 작업은
carried primarily by SIGs: SIG들에 의해 주로 수행된다
What does SIG stand for?: SIG는 무엇을 의미하나요?(나타내나요?)
"쿠버네티스 프로젝트 작업은 주로 SIG에 의해 수행됩니다. SIG는 무엇을 의미하나요?"
[풀이]
※ SIG(Special Interest Group)란?: 쿠버네티스 프로젝트에서 SIG는 특정 분야나 기능에 공통된 관심사를 가진 커뮤니티 그룹이다. 이 그룹들은 쿠버네티스 프로젝트의 개발 및 운영을 관리하고 주도하는 주요 조직이다. 쿠버네티스는 매우 큰 규모의 오픈소스 프로젝트이므로, 모든 작업이 하나의 팀에 의해 관리되지 않고, 분야별, 기능별로 전문성을 갖춘 그룹으로 나누어 관리된다.
※ SIG의 주요 역할
1. 특정 영역의 쿠버네티스 코드 개발, 관리, 유지보수
2. 기능 개선과 버그 수정 작업
3. 관련 문서화 작업 및 표준화
4. 커뮤니티 지원, 미팅 및 회의 진행
5. 해당 분야의 방향성 결정 및 전략 수립
================================================================
26. What is the order of 4C’s in Cloud Native Security, starting with the layer that a user has the most control over?
- A. Cloud -> Container -> Cluster -> Code
- B. Container -> Cluster -> Code -> Cloud
- C. Cluster -> Container -> Code -> Cloud
- D. Code -> Container -> Cluster -> Cloud
[해석]
What is: ~는 무엇인가
the order of 4C's: 4C의 순서
in Cloud Native Securiry: 클라우드 네이티브 보안에서
starting with the layer: ~계층에서 시작하여
that: 관계대명사(the layer를 수식)
a user has the most control over: 사용자가 가장 많은 제어권을 가진
"클라우드 네이티브 보안에서 사용자가 가장 많은 제어권을 가진 계층에서 시작한 4C의 순서가 어떻게되나요?"
[풀이]
※ Cloud Native Security의 4C 모델이란?: 4C 모델은 클라우드 네이티브 애플리케이션의 보안 구조를 표현하는 계층화된 접근 방법으로, 다음 네 가지 계층으로 이루어져 있다. 위에서 아래 순서로 제어권이 많다.
※ Code: 애플리케이션의 실제 소스 코드 및 비즈니스 로직을 포함한다. 사용자는 코드의 모든 부분을 직접 관리할 수 있어 사용자 제어권이 가장 높다
※ Container: Docker, Containerd 등의 컨테이너 런타임 환경에서 관리되는 계층이다. 이미지를 직접 빌드하고 관리하며, 이미지 내부의 설정 및 구성을 통제하기 때문에 제어권이 높다
※ Cluster: Kubernetes 등 컨테이너 오케스트레이션을 담당하는 클러스터 환경이다. 컨테이너가 실행되는 클러스터 리소스와 인프라 구성 및 관리 정책을 포함한다. 클러스터의 일부 설정과 리소스를 관리하지만, 클러스터가 실행되는 물리적 인프라나 클라우드 환경을 완전히 통제하지는 못한다.
※ Cloud: 클러스터가 실행되는 클라우드 환경을 의미한다. 대부분 클라우드 공급자의 보안 정책과 물리적 보안에 의존한다. 사용자는 클라우드 환경 내부에서 제공되는 기능 내에서만 설정을 변경할 수 있다.
================================================================
27. Which group of container runtimes provides additional sandboxed isolation and elevated security?
- A. rune, cgroups
- B. docker, containerd
- C. runsc, kata
- D. crun, cri-o
[해석]
Which group: 어느 그룹인가
of container runtimes: 컨테이너 런타임의
provides: 제공하다
additional sandboxed isolation: 추가적인 샌드박스 형태의 격리를
and: 그리고
elevated security: 강화된 보안을
"추가적인 샌드박스 격리와 강화된 보안을 제공하는 컨테이너 런타임 그룹은 어느것인가요?"
[풀이]
※ runsc란?: runcs는 구글(Google) 에서 개발한 컨테이너 런타임인 gVisor 의 실행 바이너리 이름이다. gVisor는 컨테이너 보안성을 높이기 위해 설계된 런타임으로, 전통적인 컨테이너보다 더욱 강화된 격리를 제공한다. 리눅스 시스템 콜(system call)을 직접 컨테이너가 커널에 접근하지 않도록 중간에서 가로채(intercept) 처리한다. 사용자 공간(User-space)에서 자체적인 커널을 구현해 호스트 OS 커널과 컨테이너 사이를 완전히 격리하여 컨테이너의 보안성을 높인다.
※ Kata Containers란?: Kata Container는 OpenStack Foundation과 Intel을 중심으로 개발된 경량 가상머신(VM) 기반 컨테이너 런타임이다. 기존 컨테이너(Docker, containerd 등)는 리눅스 커널을 호스트와 공유하여 완벽한 격리가 어렵다. 그러나 Kata Containers는 컨테이너마다 독립된 경량 가상 머신(VM)을 실행하여 호스트와 완전히 격리된 환경을 제공한다. 컨테이너 내부에서 탈출(escape)하거나 커널 공격을 하는 것을 사실상 불가능하게 만들어 높은 수준의 보안을 보장한다.
================================================================
28. What is the common standard for Service Meshes?
- A. Service Mesh Specification (SMS)
- B. Service Mesh Technology (SMT)
- C. Service Mesh Interface (SMI)
- D. Service Mesh Function (SMF)
[해석]
What is the common standard: 공통 표준이 무엇인가
for Service Meshes: 서비스 메쉬를 위한
"서비스 메쉬를 위한 공통 표준이 무엇인가요?"
[풀이]
※ Service Mesh란?: 마이크로서비스 아키텍처에서 서비스 간의 네트워크 통신을 제어, 관리 및 관측하기 위해 사용하는 인프라 계층이다. 쉽게 말하면, 많은 서비스 간에 발생하는 네트워크 요청과 응답을 투명하게 관리하고 제어하기 위한 인프라이다.
※ Service Mesh는 주로 아래 두 가지 구성 요소로 이루어져 있다.
1. 데이터 평면(Data Plane): 마이크로서비스 옆에 배치되는 프록시(Sidecar Proxy)로서 실제로 서비스 간의 트래픽을 처리.
2. 제어 평면(Control Plane): Data Plane의 프록시를 설정, 구성, 관리하는 역할을 수행.
※ SMI(Service Mesh Interface)란?: Service Mesh에 대한 표준 인터페이스로서, 여러 다양한 서비스 메시 구현체(Istio, Linkerd, Consul, Open Service Mesh 등)가 공통적으로 지원할 수 있는 일련의 API를 정의하는 CNCF 산하의 오픈 소스 프로젝트이다.
※ SMI를 제외하고는 존재하지 않거나 표준이 아닌 용어이다.
================================================================
29. Which statement about Ingress is correct?
- A. Ingress provides a simple way to track network endpoints within a cluster.
- B. Ingress is a Service type like NodePort and ClusterIP.
- C. Ingress is a construct that allows you to specify how a Pod is allowed to communicate.
- D. Ingress exposes routes from outside the cluster to services in the cluster.
[해석]
Which statement: 어떤 진술
about Ingress: Ingress에 대해
is correct: 옳은것은
"Ingress에 대해 어떤 진술(설명)이 옳은가"
[풀이]
A. Ingress provides a simple way to track network endpoints within a cluster.
Ingress provides a simple way: Ingress는 간단한 방법을 제공한다
to track: 추적하기 위한
network endpoints: 네트워크 엔드포인트를
within a cluster: 클러스터 내부에서
"Ingress는 클러스터 내부에서 네트워크 엔드포인트를 추적하기위한 간단한 방법을 제공한다."
※ 이것은 Endpoint 오브젝트에 대한 설명이다.
B. Ingress is a Service type like NodePort and ClusterIP.
Ingress is a Service type: Ingress는 서비스 타입이다
like: ~와 같은(유사한)
NodePort and ClusterIP: NodePort와 ClusterIP
"Ingress는 NodePort와 ClusterIP와 같은 서비스 타입이다."
※ Ingress는 서비스 타입이 아니다. Service Type은 'Cluster IP, NodePort, LoadBalancer, ExternalName'이 있다.
C. Ingress is a construct that allows you to specify how a Pod is allowed to communicate.
Ingress is a construct: Ingress는 구성요소(구조체)이다.
that: 관계대명사(어떤 구성요소인지를 뒤에서 construct를 수식)
allows: 허용하다, 가능하게하다
you: 당신이
to specify: 지정하는것을(명시하는것을)
how a Pod: Pod가 어떻게
is allowed: 할수있는지
to communicate: 통신을
"Ingress는 어떻게 Pod가 통신할 수 있는지를 지정할수있게 해주는 구성요소이다."
※ 이것은 NetworkPolicy에 대한 설명이다. NetworkPolicy는 Pod 간 통신 허용 및 제한을 정의한다.
D. Ingress exposes routes from outside the cluster to services in the cluster.
Ingress exposes routes: Ingress는 경로(라우트)를 노출한다
from: ~로부터
outside the cluster: 클러스터 외부에서
to services in the cluster: 클러스터 내 서비스로
"Ingress는 클러스터 외부에서 클러스터 내 서비스들로 가는 경로를 노출(공개)한다."
※ Ingress는 외부(외부 트래픽)가 클러스터 내부 서비스로 접근하는 라우팅 규칙을 저으이한다. HTTP/HTTPS 트래픽을 기반으로 서비스 간의 라우팅을 수행한다. 특히 Kubernetes 클러스터 외부에서 내부로 들어오는 트래픽의 진입접(entrypoint)으로, 라우팅 규칙과 SSL종료(TLS Termination)를 처리할 수 있다.
================================================================
30. What best describes cloud native service discovery?
- A. It's a mechanism for applications and microservices to locate each other on a network.
- B. It's a procedure for discovering a MAC address, associated with a given IP address.
- C. It's used for automatically assigning IP addresses to devices connected to the network.
- D. It's a protocol that turns human-readable domain names into IP addresses on the Internet.
[해석]
What: 무엇이
best describes: 가장 잘 설명하는가?
cloud native service discovery: 클라우드 네이티브 서비스 디스커버리를
"클라우드 네이티브 서비스 디스커버리를 가장 잘 설명한 것은 무엇인가?"
[풀이]
A. It's a mechanism for applications and microservices to locate each other on a network.
It's: 그것은 ~이다.
a mechanism: 메커니즘(방식)
for applications and microservices: 애플리케이션과 마이크로서비스가 ~하기 위한
to locate each other: 서로의 위치를 찾도록
on a network: 네트워크상에서
" 네트워크상에서 애플리케이션과 마이크로서비스가 서로의 위치를 찾도록하기 위한 방식이다."
※ 클라우드 환경에서는 애플리케이션이 작은 서비스(마이크로서비스)로 나누어져 여러 대의 서버에서 동시에 실행된다. 이 서비스들이 서로 소통하려면, 서로 어디에 있는지를 알 수 있어야 한다. 이러한 위치 찾기 기능이 바로 "서비스 디스커버리"이다.
※ 클라우드 네티이브 환경, 즉 컨테이너 기반 오케스트레이션(Kubernetes 등), 마이크로서비스 아키텍처에서는 서비스 인스턴스가 동적으로 생성/삭제되고, 네트워크 주소가 자주 바뀌기 때문에 서비스 디스커버리가 필수적이다.
B. It's a procedure for discovering a MAC address, associated with a given IP address.
It's: 그것은 ~이다.
a procedure: 절차, 과정
for discovering a MAC address: MAC 주소를 찾기 위한
associated with: ~와 연결된, 관련된
a given IP address: 주어진 IP주소와
"주어진 IP주소와 관련된 MAC주소를 찾기 위한 절차이다."
※ 이것은 ARP(Address Resolution Protocol)라는 프로토콜의 설명이다.
C. It's used for automatically assigning IP addresses to devices connected to the network.
It's used: 그것은 사용된다.
for automatically assigning IP addresses: 자동으로 IP 주소를 할당하는 데
to devices: 장치들에
connected to the network: 네트워크에 연결된
"네트워크에 연결된 장치들에 자동으로 IP주소를 할당하는데 사용된다."
※ 이것은 DHCP(Dynamic Host Configuration Protocol)에 대한 설명이다.
D. It's a protocol that turns human-readable domain names into IP addresses on the Internet.
It's: 그것은 ~이다
a protocol: 프로토콜이다.
that: 관계대명사(어떤 프로토콜인지를 수식함)
turns: 바꾸는, 변환하는
human-readable domain names: 사람이 읽을 수 있는 도메인 이름을
into IP address: IP 주소로
on the Internet: 인터넷 상에서
"인터넷 상에서 사람이 읽을 수 있는 도메인 이름을 IP 주소로 변환하는 프로토콜이다."
※ 이것은 DNS(Domain Name System)에 대한 설명이다.