KoreaDevKNOWLEDGE SHARING

콘텐츠 유형학습하기

AI SOFTWARE DEVELOPMENT · 07 / 10

컨테이너와 클라우드 인프라

개발환경 차이를 image와 배포 계약으로 줄이고 Compose, Kubernetes, probe, rollout과 rollback을 연결합니다.

난이도
입문·실무
구성
강의 8개 · 실습 2개 · 평가

CORE UNIT 1 / 1

컨테이너와 클라우드 인프라

개발환경 차이를 image와 배포 계약으로 줄이고 Compose, Kubernetes, probe, rollout과 rollback을 연결합니다.

난이도
입문·실무
구성
강의 8개 · 실습 2개 · 평가

도해·표 자료: 각 강의의 공식 1차 출처를 바탕으로 저자 구성. 원문과 검토일은 해당 강의 끝에서 확인합니다.

NEW HIRE ONBOARDING

첫 업무를 받는 순서로 시작합니다

중학교를 졸업하고 처음 IT 업무를 맡은 신입사원도 따라올 수 있도록, 어려운 정의보다 상황·할 일·증거·보고할 경계를 먼저 확인합니다.

  1. 01

    상황을 한 문장으로 읽기

    Deployment는 `latest` tag를 쓰고 readiness와 liveness 모두 외부 AI API를 호출합니다. API가 20초 느려지자 모든 pod가 재시작합니다.

  2. 02

    오늘 맡은 일

    Process·container·image·registry·pod 경계를 구분합니다.

  3. 03

    완료를 보여 주는 증거

    가명 자료의 목록·파일·권한을 함께 복원하고 최근 자료의 읽기와 비인가 접근 거절을 기록하십시오.

  4. 04

    멈추고 선임에게 확인할 경계

    Host kernel 공유, image vulnerability, secret 주입과 stateful data가 별도 과제가 됩니다.

낯선 용어 먼저 풀기

개발환경에서 운영환경까지
Container의 첫 가치는 어디서나 같다는 구호보다 runtime dependency와 시작 명령을 versioned artifact로 묶는 데 있습니다.
Docker image·layer·registry
Layer cache는 build를 빠르게 하지만 최종 digest와 공급망 증거가 배포 identity를 결정합니다.
Compose로 여러 service 연결
Compose는 local multi-service topology를 재현하지만 production orchestration의 모든 정책을 대신하지 않습니다.

이 과정의 질문

왜 바뀌었고, 무엇을 검증해야 하는가?

기술의 장점만 외우지 않고 그 장점이 성립하는 조건과 새 실패 경계를 함께 확인합니다.

OBSERVABLE OUTCOMES

학습을 마치면 할 수 있는 일

  1. Process·container·image·registry·pod 경계를 구분합니다.
  2. Layer·digest·configuration으로 재현 가능한 artifact를 판정합니다.
  3. Startup·readiness·liveness probe와 rolling update 실패를 진단합니다.

PREREQUISITE CHECK

본문을 읽기 전에 확인할 세 가지

정답을 외우는 시험이 아닙니다. 질문을 먼저 생각한 뒤 해설을 열어 이번 과목에서 사용할 바탕 개념을 확인하십시오.

1Container는 작은 VM인가요?

격리된 process 환경이지만 보통 host kernel을 공유합니다. VM과 isolation·startup·image 구조가 다릅니다.

2Image와 container는 같은가요?

Image는 immutable 실행 template이고 container는 그 image와 configuration으로 시작한 process instance입니다.

3Health check 하나면 충분한가요?

시작 중인지, traffic을 받을 준비가 됐는지, 복구가 필요한 deadlock인지 질문이 달라 probe를 나눕니다.

TEXTBOOK GUIDE

개념의 배경부터 판단 기준까지 읽는 본문

IT를 처음 접하는 독자도 용어를 암기하지 않고 원인과 결과를 연결할 수 있도록 한 절씩 이어서 설명합니다.

CONCEPT FLOW

각 장은 이렇게 연결됩니다

각 장은 따로 외우는 단답이 아닙니다. 왼쪽에서 오른쪽으로 따라가며 앞 장의 개념이 다음 판단에 어떻게 쓰이는지 먼저 살펴보세요.

  1. 1장개발환경에서 운영환경까지
  2. 2장Docker image·layer·registry
  3. 3장Compose로 여러 service 연결
  4. 4장Kubernetes와 K3s의 조정
  5. 5장Probe·확장·rolling update·rollback
  6. 6장교체되는 컨테이너의 진행 중 작업을 끝까지 추적합니다
  7. 7장이전 코드가 읽을 수 있는 동안 데이터 형식을 전환합니다
  8. 8장백업 파일의 존재보다 복원한 업무 결과를 확인합니다
컨테이너와 클라우드 인프라의 전체 지도입니다. 아래 장문 해설과 각 장을 읽다가 길을 잃으면 이 순서로 돌아오세요.
그림 7-1. 컨테이너와 클라우드 인프라의 개념 전개앞 장의 선택과 한계가 다음 장의 문제로 어떻게 이어지는지 보여 줍니다.
  1. 1
    개발환경에서 운영환경까지

    Container의 첫 가치는 어디서나 같다는 구호보다 runtime dependency와 시작 명령을 versioned artifact로 묶는 데 있습니다.

  2. 2
    Docker image·layer·registry

    Layer cache는 build를 빠르게 하지만 최종 digest와 공급망 증거가 배포 identity를 결정합니다.

  3. 3
    Compose로 여러 service 연결

    Compose는 local multi-service topology를 재현하지만 production orchestration의 모든 정책을 대신하지 않습니다.

  4. 4
    Kubernetes와 K3s의 조정

    Orchestrator는 container를 실행하는 것보다 desired state와 실제 state를 계속 맞추는 control loop입니다.

  5. 5
    Probe·확장·rolling update·rollback

    Probe는 서로 다른 질문에 답하고 잘못 설계하면 정상 process를 장애로 만들 수 있습니다.

  6. 6
    교체되는 컨테이너의 진행 중 작업을 끝까지 추적합니다

    새 트래픽 차단과 진행 중 작업 완료는 다른 조건이며 종료 기록으로 둘을 구분합니다.

  7. 7
    이전 코드가 읽을 수 있는 동안 데이터 형식을 전환합니다

    배포 되돌리기는 데이터가 이전 코드의 계약을 보존할 때만 의미가 있습니다.

  8. 8
    백업 파일의 존재보다 복원한 업무 결과를 확인합니다

    복원은 파일을 꺼내는 작업이 아니라 필요한 시점의 데이터를 앱이 다시 해석하는 과정입니다.

CONTROLLED EXPLANATION

보고서 교체 배포의 미완료 복구

현재 상태: 작업 접수

보고서 교체 배포의 미완료 복구

자료: Kubernetes probe·Deployment 문서를 바탕으로 저자 구성. 인스턴스 준비 상태와 파일 확정 상태를 별도로 표시합니다.

작업 시작종료 주입복구 대상 발견재처리 후 검증1작업 접수2임시 파일 쓰기3교체 중 종료4동일 작업 재전달5결과 확정
  1. 작업 접수

    장부에 작업 식별자를 기록합니다.

  2. 임시 파일 쓰기

    최종 다운로드에는 노출하지 않습니다.

  3. 교체 중 종료

    장부는 미확정으로 남습니다.

  4. 동일 작업 재전달

    새 작업자가 미확정 여부를 조회합니다.

  5. 결과 확정

    완전한 파일 하나와 완료 기록을 대조합니다.

1 → 2
작업 시작
2 → 3
종료 주입
3 → 4
복구 대상 발견
4 → 5
재처리 후 검증

화살표는 업무 상태 전이입니다. 새 Pod의 준비만으로 마지막 상태로 이동할 수 없습니다.

CONCRETE CASES

과정 전체 선택 기준표

TABLE 7-1

과정 전체 선택 기준표

각 장의 기술을 이름이 아니라 작동 원리, 새 비용과 확인할 증거로 비교합니다.

7-1. 컨테이너와 클라우드 인프라의 설계 판단 기준
중심 메커니즘주의할 비용확인할 증거
1. 개발환경에서 운영환경까지Build가 filesystem layer와 metadata를 content-addressed image로 만듭니다.Host kernel 공유, image vulnerability, secret 주입과 stateful data가 별도 과제가 됩니다.같은 digest를 staging에서 production configuration으로 실행하고 dependency·health contract를 비교합니다.
2. Docker image·layer·registryContent-addressed layer를 공유하고 manifest가 platform별 image를 가리킵니다.큰 layer, cache 오염, mutable tag와 dependency 공급망 위험이 있습니다.같은 tag가 다른 digest를 가리키는 상황에서 deployment가 어떤 artifact를 실행했는지 확인합니다.
3. Compose로 여러 service 연결Declarative service graph가 image, network, volume과 configuration을 하나의 local 계약으로 실행합니다.단일 host failure, secret·volume 운영과 production policy 차이가 남습니다.Database 시작을 늦추고 API가 bounded retry 후 정상 복구하는지 확인합니다.
4. Kubernetes와 K3s의 조정Controller reconciliation이 선언된 desired state와 관찰된 state의 차이를 반복해서 줄입니다.분산 control plane, policy, network, storage와 version upgrade 복잡성이 생깁니다.Pod 삭제, node drain과 config 변경에서 desired state와 data continuity를 관찰합니다.
5. Probe·확장·rolling update·rollbackProbe와 rollout controller가 traffic eligibility와 replica replacement를 관찰 가능한 state로 다룹니다.잘못된 threshold와 dependency coupling이 restart storm과 부분 version 오류를 만듭니다.느린 startup, dependency outage와 잘못된 revision을 각각 주입해 restart·traffic·rollback 동작을 확인합니다.
6. 교체되는 컨테이너의 진행 중 작업을 끝까지 추적합니다트래픽 수신 경계와 결과 확정 경계를 분리하면 종료 시점에도 완료 여부를 재구성할 수 있습니다.작업 장부와 재전달 처리는 추가 비용이지만 긴 작업의 조용한 유실을 줄입니다.보고서 생성의 세 지점에서 종료를 주입하고 미확정 파일의 노출과 최종 결과 중복 여부를 확인하십시오.
7. 이전 코드가 읽을 수 있는 동안 데이터 형식을 전환합니다계약을 먼저 확장하고 독자를 전환한 뒤 제거하면 코드와 데이터의 되돌림 경계를 분리할 수 있습니다.공존 기간에는 두 표현의 불일치와 변환 작업 부하를 관찰해야 합니다.이전 코드로 새 예약을 읽는 검사와 미변환 행 조회를 작성하고 열 제거의 선행 조건을 설명하십시오.
8. 백업 파일의 존재보다 복원한 업무 결과를 확인합니다이미지·데이터·권한을 같은 복구 시점에 연결하고 사용자 읽기로 검증해야 완전성을 판단할 수 있습니다.별도 복원 공간과 시간이 들지만 백업 성공 로그만으로는 발견할 수 없는 결손을 드러냅니다.가명 자료의 목록·파일·권한을 함께 복원하고 최근 자료의 읽기와 비인가 접근 거절을 기록하십시오.

CHAPTER 1 / 8

개발환경에서 운영환경까지

Container의 첫 가치는 어디서나 같다는 구호보다 runtime dependency와 시작 명령을 versioned artifact로 묶는 데 있습니다.

이 개념이 필요해진 배경

Local에는 있지만 server에는 없는 library, 다른 OS package와 environment 값은 배포 실패를 만듭니다. Build recipe와 lockfile로 dependency를 고정하고 configuration과 secret은 image 밖에서 주입합니다.

Image만 같아도 CPU architecture, kernel capability, volume과 external service는 다를 수 있습니다. Reproducibility는 artifact digest와 실행 configuration, migration·data 조건까지 기록해야 합니다.

그림 7-2. 개발환경에서 운영환경까지의 판단 흐름문제 조건에서 작동 원리와 검증 증거까지 이어지는 관계입니다.
문제와 선택 조건

Container의 첫 가치는 어디서나 같다는 구호보다 runtime dependency와 시작 명령을 versioned artifact로 묶는 데 있습니다.

작동 원리

Build가 filesystem layer와 metadata를 content-addressed image로 만듭니다.

검증 증거

같은 digest를 staging에서 production configuration으로 실행하고 dependency·health contract를 비교합니다.

구체적인 시스템에서 따라가기

개발자 laptop에서는 한 process가 local database와 같은 network에 있고 test data도 작기 때문에 timeout, DNS, certificate와 resource limit 문제가 잘 드러나지 않습니다. 운영에서는 여러 instance, load balancer, secret store와 외부 service가 연결되고 부분 장애가 일상적으로 발생합니다. “내 컴퓨터에서 동작함”은 기능 가설의 시작이지 배포 가능성의 증거가 아닙니다.

환경 차이를 줄이려면 source뿐 아니라 dependency lock, runtime version, configuration schema와 build 절차를 version으로 묶어야 합니다. Secret과 환경별 endpoint는 image에 넣지 않고 배포 시 주입하되 누락되면 조용히 기본값으로 production을 향하지 않도록 시작 단계에서 실패시킵니다. 동일 artifact를 staging과 production에 승격하고 차이는 명시된 configuration으로만 남기는 편이 재현과 rollback에 유리합니다.

선택 기준과 실패 경계

Host kernel 공유, image vulnerability, secret 주입과 stateful data가 별도 과제가 됩니다.

피해야 할 오해: Local에서 image가 실행되면 production 동작도 동일하다는 생각은 틀립니다.

직접 검증하기

같은 digest를 staging에서 production configuration으로 실행하고 dependency·health contract를 비교합니다.

판정할 핵심Build가 filesystem layer와 metadata를 content-addressed image로 만듭니다.

이 장을 정리하면

Container의 첫 가치는 어디서나 같다는 구호보다 runtime dependency와 시작 명령을 versioned artifact로 묶는 데 있습니다.

이 장의 공식 출처

본문의 기술 사실은 다음 1차 자료를 기준으로 검토했습니다. 도해와 비교는 이 자료를 바탕으로 저자가 재구성했습니다.

  1. Docker, 「Use Compose in Production검토일 2026-08-28 · 적용 범위 Docker Compose 공식 문서

CHAPTER 2 / 8

Docker image·layer·registry

Layer cache는 build를 빠르게 하지만 최종 digest와 공급망 증거가 배포 identity를 결정합니다.

이 개념이 필요해진 배경

Dockerfile instruction은 재사용 가능한 layer를 만들며 앞 layer가 바뀌면 뒤 cache도 무효화됩니다. 자주 바뀌는 source보다 dependency manifest를 먼저 copy하면 install layer를 재사용할 수 있습니다.

Tag는 이동할 수 있는 이름이고 digest는 content identity입니다. Registry에는 image뿐 아니라 manifest와 platform 정보가 있으며 production은 검증된 digest, SBOM과 signature 정책을 사용할 수 있습니다.

그림 7-3. Docker image·layer·registry의 판단 흐름문제 조건에서 작동 원리와 검증 증거까지 이어지는 관계입니다.
문제와 선택 조건

Layer cache는 build를 빠르게 하지만 최종 digest와 공급망 증거가 배포 identity를 결정합니다.

작동 원리

Content-addressed layer를 공유하고 manifest가 platform별 image를 가리킵니다.

검증 증거

같은 tag가 다른 digest를 가리키는 상황에서 deployment가 어떤 artifact를 실행했는지 확인합니다.

구체적인 시스템에서 따라가기

Container image는 압축된 application 폴더 하나가 아니라 content digest로 연결된 read-only layer와 실행 설정의 묶음입니다. Base image, package 설치와 source 복사를 어떤 순서로 배치하는지에 따라 cache 재사용과 취약점 범위가 달라집니다. Container는 이 image 위에 writable layer와 namespace, resource limit을 더한 실행 instance입니다.

Tag는 사람이 읽기 쉬운 별칭이라 같은 이름이 다른 digest를 가리킬 수 있습니다. 운영 release와 SBOM, signature, scan 결과는 tag가 아니라 immutable digest에 연결해야 합니다. Build stage에는 compiler와 credential이 필요해도 final image에는 실행 binary와 최소 runtime만 복사하고, build secret이 layer history에 남지 않는지 확인해야 공급망 경계를 설명할 수 있습니다.

선택 기준과 실패 경계

큰 layer, cache 오염, mutable tag와 dependency 공급망 위험이 있습니다.

피해야 할 오해: `latest` tag가 항상 가장 새롭고 검증된 build를 뜻한다는 생각은 틀립니다.

직접 검증하기

같은 tag가 다른 digest를 가리키는 상황에서 deployment가 어떤 artifact를 실행했는지 확인합니다.

판정할 핵심Content-addressed layer를 공유하고 manifest가 platform별 image를 가리킵니다.

이 장을 정리하면

Layer cache는 build를 빠르게 하지만 최종 digest와 공급망 증거가 배포 identity를 결정합니다.

이 장의 공식 출처

본문의 기술 사실은 다음 1차 자료를 기준으로 검토했습니다. 도해와 비교는 이 자료를 바탕으로 저자가 재구성했습니다.

  1. Docker, 「Understanding Image Layers검토일 2026-08-28 · 적용 범위 공식 문서 최신판

CHAPTER 3 / 8

Compose로 여러 service 연결

Compose는 local multi-service topology를 재현하지만 production orchestration의 모든 정책을 대신하지 않습니다.

이 개념이 필요해진 배경

Frontend, API, database와 queue는 network와 volume, environment, dependency를 명시해 함께 시작할 수 있습니다. Service name DNS는 연결을 단순화하지만 startup 순서가 readiness를 보장하지 않으므로 client retry와 health condition이 필요합니다.

Database data는 container writable layer가 아니라 named volume에 두고 backup·migration을 별도로 다룹니다. Secret을 compose file에 commit하지 않고 local development용 값과 production credential 경계를 나눕니다.

그림 7-4. Compose로 여러 service 연결의 판단 흐름문제 조건에서 작동 원리와 검증 증거까지 이어지는 관계입니다.
문제와 선택 조건

Compose는 local multi-service topology를 재현하지만 production orchestration의 모든 정책을 대신하지 않습니다.

작동 원리

Declarative service graph가 image, network, volume과 configuration을 하나의 local 계약으로 실행합니다.

검증 증거

Database 시작을 늦추고 API가 bounded retry 후 정상 복구하는지 확인합니다.

구체적인 시스템에서 따라가기

웹 application이 API와 PostgreSQL을 필요로 할 때 Compose는 service별 image, network, volume과 환경 변수를 한 파일에서 정의해 개발자가 같은 topology를 반복해서 띄우게 합니다. Service name을 DNS로 사용할 수 있지만 `depends_on` 순서만으로 database가 query 가능한 상태까지 기다려 주는 것은 아니므로 health condition과 application retry가 필요합니다.

Volume을 붙였다는 사실도 data 보호를 의미하지 않습니다. Schema migration, backup과 restore는 별도 절차이며 container를 지울 때 named volume이 남는지 명확히 알아야 합니다. Compose는 한 host의 개발과 작은 운영에 유용하지만 여러 node의 scheduling, 자동 복구와 rolling update가 필요하면 orchestrator가 제공하는 더 큰 상태 관리 계약을 검토해야 합니다.

선택 기준과 실패 경계

단일 host failure, secret·volume 운영과 production policy 차이가 남습니다.

피해야 할 오해: `depends_on`이 database query 준비 완료를 보장한다는 생각은 틀립니다.

직접 검증하기

Database 시작을 늦추고 API가 bounded retry 후 정상 복구하는지 확인합니다.

판정할 핵심Declarative service graph가 image, network, volume과 configuration을 하나의 local 계약으로 실행합니다.

이 장을 정리하면

Compose는 local multi-service topology를 재현하지만 production orchestration의 모든 정책을 대신하지 않습니다.

이 장의 공식 출처

본문의 기술 사실은 다음 1차 자료를 기준으로 검토했습니다. 도해와 비교는 이 자료를 바탕으로 저자가 재구성했습니다.

  1. Docker, 「Control Startup and Shutdown Order in Compose검토일 2026-08-28 · 적용 범위 Docker Compose 공식 문서
  2. Docker, 「Use Compose in Production검토일 2026-08-28 · 적용 범위 Docker Compose 공식 문서

CHAPTER 4 / 8

Kubernetes와 K3s의 조정

Orchestrator는 container를 실행하는 것보다 desired state와 실제 state를 계속 맞추는 control loop입니다.

이 개념이 필요해진 배경

Deployment가 replica와 pod template을 선언하면 controller가 부족한 pod를 만들고 node scheduler가 배치합니다. Service는 변하는 pod 집합에 안정된 network endpoint를 제공하며 config와 secret, storage는 별도 resource lifecycle을 가집니다.

K3s는 일부 component와 기본값을 묶어 가벼운 distribution을 제공하지만 Kubernetes API와 운영 책임이 사라지지 않습니다. Cluster 규모보다 upgrade, backup, network·storage support와 팀 역량으로 선택합니다.

그림 7-5. Kubernetes와 K3s의 조정의 판단 흐름문제 조건에서 작동 원리와 검증 증거까지 이어지는 관계입니다.
문제와 선택 조건

Orchestrator는 container를 실행하는 것보다 desired state와 실제 state를 계속 맞추는 control loop입니다.

작동 원리

Controller reconciliation이 선언된 desired state와 관찰된 state의 차이를 반복해서 줄입니다.

검증 증거

Pod 삭제, node drain과 config 변경에서 desired state와 data continuity를 관찰합니다.

구체적인 시스템에서 따라가기

Kubernetes에서 사용자는 특정 container process를 직접 유지하라고 명령하기보다 Deployment의 replica 수와 image 같은 desired state를 API에 저장합니다. Controller는 현재 Pod와 기대 상태의 차이를 반복해서 관찰하고 생성하거나 교체합니다. Node가 사라졌을 때 새 Pod가 다른 곳에서 생기는 것은 이 reconciliation loop의 결과이지 기존 process가 순간 이동한 것이 아닙니다.

K3s는 packaging과 기본 component를 단순화해 설치와 작은 footprint에 유리하지만 Kubernetes의 핵심 API와 운영 책임을 없애지는 않습니다. Resource request, persistent data, network policy, upgrade와 backup은 여전히 설계해야 합니다. 단일 node 실습에서 Pod가 다시 뜨는 것과 node 자체가 사라져도 서비스가 지속되는 고가용성은 구분해야 합니다.

선택 기준과 실패 경계

분산 control plane, policy, network, storage와 version upgrade 복잡성이 생깁니다.

피해야 할 오해: Kubernetes가 application bug와 database consistency를 자동으로 고친다는 생각은 틀립니다.

직접 검증하기

Pod 삭제, node drain과 config 변경에서 desired state와 data continuity를 관찰합니다.

판정할 핵심Controller reconciliation이 선언된 desired state와 관찰된 state의 차이를 반복해서 줄입니다.

이 장을 정리하면

Orchestrator는 container를 실행하는 것보다 desired state와 실제 state를 계속 맞추는 control loop입니다.

이 장의 공식 출처

본문의 기술 사실은 다음 1차 자료를 기준으로 검토했습니다. 도해와 비교는 이 자료를 바탕으로 저자가 재구성했습니다.

  1. Kubernetes, 「Controllers검토일 2026-08-28 · 적용 범위 Kubernetes 공식 문서
  2. Kubernetes, 「Deployments검토일 2026-08-28 · 적용 범위 Kubernetes 공식 문서

CHAPTER 5 / 8

Probe·확장·rolling update·rollback

Probe는 서로 다른 질문에 답하고 잘못 설계하면 정상 process를 장애로 만들 수 있습니다.

이 개념이 필요해진 배경

Startup probe는 느린 초기화 동안 다른 probe를 미루고, readiness는 traffic 대상 여부, liveness는 restart가 recovery인 상태를 판단합니다. Dependency가 잠시 느리다고 liveness를 실패시키면 모든 replica가 동시에 재시작할 수 있습니다.

Rolling update는 새 pod가 ready일 때 이전 pod를 줄이고 surge·unavailable budget으로 capacity를 통제합니다. Schema compatibility, session drain, SLO와 자동 rollback 조건이 없으면 container 교체 성공이 사용자 성공을 뜻하지 않습니다.

그림 7-6. Probe·확장·rolling update·rollback의 판단 흐름문제 조건에서 작동 원리와 검증 증거까지 이어지는 관계입니다.
문제와 선택 조건

Probe는 서로 다른 질문에 답하고 잘못 설계하면 정상 process를 장애로 만들 수 있습니다.

작동 원리

Probe와 rollout controller가 traffic eligibility와 replica replacement를 관찰 가능한 state로 다룹니다.

검증 증거

느린 startup, dependency outage와 잘못된 revision을 각각 주입해 restart·traffic·rollback 동작을 확인합니다.

구체적인 시스템에서 따라가기

Liveness probe는 process를 다시 시작해야 할 막힘을 찾고 readiness probe는 새 요청을 받을 준비가 됐는지 판단합니다. 시작이 느린 application에는 startup probe가 초기화를 보호할 수 있습니다. Database가 잠시 느리다는 이유로 liveness가 모든 Pod를 재시작하면 오히려 장애를 확대하므로 probe마다 어떤 조치를 유발하는지 기준을 다르게 정해야 합니다.

Rolling update는 새 replica를 조금씩 늘리고 old replica를 줄이지만 새 version의 응답이 업무적으로 옳은지는 자동으로 알지 못합니다. Readiness, error rate와 latency뿐 아니라 migration 호환성과 대표 사용자 결과를 canary에서 확인해야 합니다. Rollback도 image만 되돌리면 끝나는지, 이미 변경한 schema와 message가 구 version에서 읽히는지 사전에 검증해야 합니다.

선택 기준과 실패 경계

잘못된 threshold와 dependency coupling이 restart storm과 부분 version 오류를 만듭니다.

피해야 할 오해: Liveness endpoint에서 모든 downstream dependency를 검사해야 안전하다는 생각은 틀립니다.

직접 검증하기

느린 startup, dependency outage와 잘못된 revision을 각각 주입해 restart·traffic·rollback 동작을 확인합니다.

판정할 핵심Probe와 rollout controller가 traffic eligibility와 replica replacement를 관찰 가능한 state로 다룹니다.

이 장을 정리하면

Probe는 서로 다른 질문에 답하고 잘못 설계하면 정상 process를 장애로 만들 수 있습니다.

이 장의 공식 출처

본문의 기술 사실은 다음 1차 자료를 기준으로 검토했습니다. 도해와 비교는 이 자료를 바탕으로 저자가 재구성했습니다.

  1. Kubernetes, 「Liveness, Readiness and Startup Probes검토일 2026-08-28 · 적용 범위 Kubernetes 공식 문서
  2. Kubernetes, 「Deployments검토일 2026-08-28 · 적용 범위 Kubernetes 공식 문서

CHAPTER 6 / 8

교체되는 컨테이너의 진행 중 작업을 끝까지 추적합니다

새 트래픽 차단과 진행 중 작업 완료는 다른 조건이며 종료 기록으로 둘을 구분합니다.

이 개념이 필요해진 배경

컨테이너 교체가 시작됐다고 이미 받은 요청이 사라지는 것은 아닙니다. 파일 변환이나 보고서 생성은 연결이 끊긴 뒤에도 외부 저장소를 변경할 수 있습니다. 배포 안전성은 새 인스턴스가 준비됐는지와 이전 인스턴스의 작업이 어떻게 끝났는지를 함께 묻습니다.

Readiness는 트래픽을 받을 준비 여부를 표현하고 liveness는 재시작이 필요한 상태를 판별하는 데 사용됩니다. 어느 probe도 애플리케이션의 작업 완료 장부를 대신하지 않습니다. 작업 수신 중단, 실행 중 작업 수와 종료 사유는 애플리케이션이 관찰 가능하게 만들어야 합니다.

종료 유예 시간 안에 끝나지 않는 작업은 회복 가능한 상태로 남겨야 합니다. 임시 결과와 최종 결과를 구분하고 결과가 확정된 뒤에만 완료로 표시합니다. 재전달된 작업은 동일한 작업 식별자를 사용해 이미 확정된 결과를 다시 만들지 않도록 설계합니다.

종료를 무조건 늦추는 것도 답은 아닙니다. 오래된 프로세스가 새 설정과 동시에 쓰기를 계속하면 배포가 끝나지 않거나 상태가 충돌합니다. 허용 대기 시간, 중단 가능한 단계와 운영자가 개입할 기준을 작업 특성에 맞게 정합니다.

그림 7-7. 교체되는 컨테이너의 진행 중 작업을 끝까지 추적합니다의 판단 흐름문제 조건에서 작동 원리와 검증 증거까지 이어지는 관계입니다.
문제와 선택 조건

새 트래픽 차단과 진행 중 작업 완료는 다른 조건이며 종료 기록으로 둘을 구분합니다.

작동 원리

트래픽 수신 경계와 결과 확정 경계를 분리하면 종료 시점에도 완료 여부를 재구성할 수 있습니다.

검증 증거

보고서 생성의 세 지점에서 종료를 주입하고 미확정 파일의 노출과 최종 결과 중복 여부를 확인하십시오.

구체적인 시스템에서 따라가기

교육용 보고서 작업은 원본 읽기, 임시 파일 쓰기, 최종 이름 확정의 세 단계라고 가정합니다. 임시 파일을 쓰는 중 컨테이너가 종료되면 다운로드 목록에는 아직 나타나지 않아야 합니다. 재시작한 작업자는 장부를 읽고 미확정 결과만 다시 처리합니다. 임시 파일 이름과 작업 식별자를 연결해야 재시작 후 어느 잔여 파일을 회수할지 판단할 수 있습니다.

반례는 응답을 먼저 성공으로 보내고 나중에 파일을 확정하는 구현입니다. 종료 직전 성공을 받은 사용자는 없는 파일 링크를 갖게 됩니다. 응답 시점과 저장소 확정 시점을 따로 기록하면 probe가 모두 정상이었던 배포에서도 이 오류를 찾을 수 있습니다. 사용자에게 보낸 완료 시각이 결과 확정보다 앞섰는지가 이 사례에서 직접 확인할 불일치입니다.

검증에서는 대기 중, 임시 저장 중, 확정 후라는 서로 다른 지점에서 종료를 주입합니다. 최종 파일의 개수뿐 아니라 내용의 완전성과 장부 상태를 비교합니다. 중복 전달이 발생해도 결과 하나와 일관된 완료 상태가 남아야 합니다. 강제 종료를 피한 정상 경로도 남겨 복구 로직 때문에 원래 작업이 중복되는지 비교합니다.

Kubernetes 배포 상태는 인스턴스 교체의 관찰 자료로 사용하고 작업 장부는 사용자 결과의 자료로 사용합니다. 두 자료의 시각과 작업 식별자를 연결합니다. 인스턴스 수가 목표와 같다는 사실만으로 미완료 보고서가 복구됐다고 결론 내리지 않습니다. 교체 완료 시각 뒤에도 미확정 작업이 남았다면 별도 복구 대상을 기록하고 배포 성공과 구분합니다.

선택 기준과 실패 경계

작업 장부와 재전달 처리는 추가 비용이지만 긴 작업의 조용한 유실을 줄입니다.

피해야 할 오해: Pod가 정상 교체됐으므로 모든 작업도 성공했다는 생각은 틀립니다. 업무 결과는 별도로 확인합니다.

직접 검증하기

보고서 생성의 세 지점에서 종료를 주입하고 미확정 파일의 노출과 최종 결과 중복 여부를 확인하십시오.

판정할 핵심트래픽 수신 경계와 결과 확정 경계를 분리하면 종료 시점에도 완료 여부를 재구성할 수 있습니다.

이 장을 정리하면

새 트래픽 차단과 진행 중 작업 완료는 다른 조건이며 종료 기록으로 둘을 구분합니다.

이 장의 공식 출처

본문의 기술 사실은 다음 1차 자료를 기준으로 검토했습니다. 도해와 비교는 이 자료를 바탕으로 저자가 재구성했습니다.

  1. Kubernetes, 「Liveness, Readiness and Startup Probes검토일 2026-08-28 · 적용 범위 Kubernetes 공식 문서
  2. Kubernetes, 「Deployments검토일 2026-08-28 · 적용 범위 Kubernetes 공식 문서

CHAPTER 7 / 8

이전 코드가 읽을 수 있는 동안 데이터 형식을 전환합니다

배포 되돌리기는 데이터가 이전 코드의 계약을 보존할 때만 의미가 있습니다.

이 개념이 필요해진 배경

Rolling update 동안 이전 코드와 새 코드가 같은 데이터베이스를 사용할 수 있습니다. 새 코드가 필요한 열을 추가하는 일과 이전 코드가 쓰던 열을 삭제하는 일은 위험이 다릅니다. 변경 순서를 정할 때 현재 한 버전의 성공보다 공존 기간의 읽기와 쓰기를 확인합니다.

확장 단계에서는 이전 계약을 유지한 채 새 표현을 받아들일 공간을 만듭니다. 다음 단계에서 기존 데이터의 변환과 새 쓰기 경로를 검증합니다. 이전 독자가 더 이상 없고 되돌림 경계가 정리된 뒤에만 낡은 표현을 제거하는 방식을 고려합니다.

기본값이 있다는 사실만으로 데이터 의미가 보존되지는 않습니다. 알 수 없는 값을 임의의 상태로 채우면 조회는 성공해도 업무 판정이 바뀝니다. 변환 불가능한 행은 별도 목록으로 남기고 소유자가 기준을 정할 때까지 완료 집계에서 구분합니다.

제약 조건은 형식 전환의 마지막 방어선이 될 수 있지만 잘못된 변환 정책을 고쳐 주지는 않습니다. PostgreSQL의 고유 제약은 지정한 값의 조합에 적용됩니다. 업무상 중복의 범위가 계정별인지 전체인지 먼저 정한 뒤 제약과 테스트를 맞춥니다.

그림 7-8. 이전 코드가 읽을 수 있는 동안 데이터 형식을 전환합니다의 판단 흐름문제 조건에서 작동 원리와 검증 증거까지 이어지는 관계입니다.
문제와 선택 조건

배포 되돌리기는 데이터가 이전 코드의 계약을 보존할 때만 의미가 있습니다.

작동 원리

계약을 먼저 확장하고 독자를 전환한 뒤 제거하면 코드와 데이터의 되돌림 경계를 분리할 수 있습니다.

검증 증거

이전 코드로 새 예약을 읽는 검사와 미변환 행 조회를 작성하고 열 제거의 선행 조건을 설명하십시오.

구체적인 시스템에서 따라가기

교육용 예약 시스템이 하나의 연락처 문자열을 종류와 값으로 나누려 합니다. 이전 코드는 기존 열만 읽으므로 새 열을 추가한 직후 기존 열을 없애면 되돌리기가 깨집니다. 기존 읽기와 새 읽기를 비교하는 기간을 두고 변환 실패 행을 따로 처리합니다. 연락처 구분을 추측할 수 없는 값은 임의로 이메일로 채우지 않고 검토 대상이라는 상태를 남깁니다.

변환 도중 새 예약이 추가되면 일괄 변환의 시작 시점 이후 행이 빠질 수 있습니다. 처리한 행의 경계와 새 쓰기 경로를 함께 기록합니다. 모든 행을 처리했다는 주장에는 시작 때 센 개수만이 아니라 미변환 행을 다시 조회한 결과가 필요합니다. 변환 진행 중 들어온 예약을 별도 표본으로 넣으면 배치 밖 쓰기 경로의 누락을 발견할 수 있습니다.

반례는 새 버전에서만 테스트하고 배포 도구의 되돌리기 버튼을 복구 계획으로 적는 것입니다. 데이터가 새 의미로만 저장되면 이전 이미지로 돌아가도 해석하지 못합니다. 이전 코드가 새로 쓴 행을 읽는 시나리오를 실제 호환성 검사에 포함합니다. 복구 후보가 구동되는지뿐 아니라 새 행을 수정한 뒤 다시 읽을 수 있는지도 확인해야 합니다.

검증 표는 이전 읽기, 새 읽기, 이전 쓰기, 새 쓰기를 나누고 공존 구간별 허용 조합을 적습니다. 변환 전후의 가명 예약을 같은 업무 질문으로 조회합니다. 값이 같아 보이더라도 검색 누락과 중복 예약 여부까지 확인한 뒤 이전 열 제거를 판단합니다. 각 조합의 실패가 구문 오류인지 값의 의미 손실인지 구분해 필요한 수정 계층을 좁힙니다.

선택 기준과 실패 경계

공존 기간에는 두 표현의 불일치와 변환 작업 부하를 관찰해야 합니다.

피해야 할 오해: 이미지를 되돌리면 데이터도 이전 상태가 된다는 생각은 틀립니다. 배포와 데이터 수명은 다릅니다.

직접 검증하기

이전 코드로 새 예약을 읽는 검사와 미변환 행 조회를 작성하고 열 제거의 선행 조건을 설명하십시오.

판정할 핵심계약을 먼저 확장하고 독자를 전환한 뒤 제거하면 코드와 데이터의 되돌림 경계를 분리할 수 있습니다.

이 장을 정리하면

배포 되돌리기는 데이터가 이전 코드의 계약을 보존할 때만 의미가 있습니다.

이 장의 공식 출처

본문의 기술 사실은 다음 1차 자료를 기준으로 검토했습니다. 도해와 비교는 이 자료를 바탕으로 저자가 재구성했습니다.

  1. Kubernetes, 「Deployments검토일 2026-08-28 · 적용 범위 Kubernetes 공식 문서
  2. PostgreSQL Global Development Group, 「Constraints검토일 2026-08-28 · 적용 범위 PostgreSQL 18 / current
  3. PostgreSQL Global Development Group, 「Concurrency Control: Introduction검토일 2026-08-28 · 적용 범위 PostgreSQL 18 / current

CHAPTER 8 / 8

백업 파일의 존재보다 복원한 업무 결과를 확인합니다

복원은 파일을 꺼내는 작업이 아니라 필요한 시점의 데이터를 앱이 다시 해석하는 과정입니다.

이 개념이 필요해진 배경

컨테이너를 다시 만들 수 있어도 사용자가 올린 데이터가 돌아오는 것은 아닙니다. 실행 이미지, 데이터 저장소와 접근 설정은 다른 수명을 가집니다. 복구 계획에는 어떤 데이터가 어디에 남고 어떤 자격으로 읽을 수 있는지 명시합니다.

백업 성공 로그는 복원 가능성의 한 부분만 보여 줍니다. 백업 형식과 앱 버전이 맞지 않거나 필요한 암호 해제 수단이 없으면 파일이 있어도 사용할 수 없습니다. 검증은 운영 데이터를 덮지 않는 별도 환경에서 수행합니다.

복구 시점은 마지막 파일 생성 시간이 아니라 복원된 업무 기록의 범위로 확인합니다. 허용할 데이터 손실과 서비스 중단 시간을 먼저 정해야 결과를 판정할 수 있습니다. 확인하지 않은 시간은 0으로 적지 않고 미확인으로 남깁니다.

복원된 앱은 외부 알림이나 결제를 다시 실행하지 않도록 경계를 막아야 합니다. 읽기 검증에 필요한 데이터와 쓰기 권한은 다릅니다. 과거 작업을 확인하는 과정에서 현재 고객에게 새 부수 효과를 보내면 복구 훈련이 새로운 사고가 됩니다.

그림 7-9. 백업 파일의 존재보다 복원한 업무 결과를 확인합니다의 판단 흐름문제 조건에서 작동 원리와 검증 증거까지 이어지는 관계입니다.
문제와 선택 조건

복원은 파일을 꺼내는 작업이 아니라 필요한 시점의 데이터를 앱이 다시 해석하는 과정입니다.

작동 원리

이미지·데이터·권한을 같은 복구 시점에 연결하고 사용자 읽기로 검증해야 완전성을 판단할 수 있습니다.

검증 증거

가명 자료의 목록·파일·권한을 함께 복원하고 최근 자료의 읽기와 비인가 접근 거절을 기록하십시오.

구체적인 시스템에서 따라가기

교육용 자료 보관 서비스는 파일과 파일 설명 행을 서로 다른 저장소에 둔다고 가정합니다. 데이터베이스만 복원하면 목록은 보이지만 다운로드가 실패할 수 있습니다. 파일만 복원하면 소유자와 공개 범위를 잃어 권한을 판정할 수 없습니다. 따라서 두 저장소를 독립적으로 성공 처리하지 말고 같은 자료 식별자에 대한 연결을 검사합니다.

훈련에서는 같은 복구 기준 시점의 목록과 파일을 연결해 가명 사용자별 읽기를 확인합니다. 공개 자료와 비공개 자료를 각각 선택하고 내용의 해시와 접근 거절을 검사합니다. 단순한 행 개수 비교는 잘못된 파일 연결이나 권한 누락을 놓칩니다. 거절 사례가 통과하면 복구 중 비공개 자료를 공개로 바꾼 결함도 목록 정상 표시와 별도로 잡습니다.

반례는 복원된 서버가 켜지고 로그인 화면이 보였다는 사실로 복구를 완료하는 것입니다. 이 관찰은 프로세스 시작을 보여 줄 뿐 자료의 완전성을 증명하지 않습니다. 오래된 자료와 가장 최근 허용 시점 자료를 모두 열어 실제 복구 범위를 좁힙니다. 사용자가 기대하는 최신 자료가 없다면 서버 시작 시간이 짧아도 복구 목표를 충족하지 못합니다.

최종 기록에는 사용한 이미지, 백업 식별자, 복원 시작과 종료 시각, 읽기 실패 목록을 남깁니다. 실패한 파일이 있으면 범위를 숨기지 않고 부분 복구로 보고합니다. 다음 훈련에서는 수정한 연결과 권한 조건을 같은 데이터로 다시 확인합니다. 다음 담당자가 같은 백업을 찾아 비교할 수 있도록 기록 위치와 읽기 절차도 함께 제공합니다.

선택 기준과 실패 경계

별도 복원 공간과 시간이 들지만 백업 성공 로그만으로는 발견할 수 없는 결손을 드러냅니다.

피해야 할 오해: 백업 파일이 있으므로 복구가 된다는 생각은 틀립니다. 실제 복원과 업무 조회가 필요합니다.

직접 검증하기

가명 자료의 목록·파일·권한을 함께 복원하고 최근 자료의 읽기와 비인가 접근 거절을 기록하십시오.

판정할 핵심이미지·데이터·권한을 같은 복구 시점에 연결하고 사용자 읽기로 검증해야 완전성을 판단할 수 있습니다.

이 장을 정리하면

복원은 파일을 꺼내는 작업이 아니라 필요한 시점의 데이터를 앱이 다시 해석하는 과정입니다.

이 장의 공식 출처

본문의 기술 사실은 다음 1차 자료를 기준으로 검토했습니다. 도해와 비교는 이 자료를 바탕으로 저자가 재구성했습니다.

  1. PostgreSQL Global Development Group, 「Backup and Restore검토일 2026-09-14 · 적용 범위 PostgreSQL 18 / current
  2. Docker, 「Use Compose in Production검토일 2026-08-28 · 적용 범위 Docker Compose 공식 문서
  3. Docker, 「Understanding Image Layers검토일 2026-08-28 · 적용 범위 공식 문서 최신판
  4. PostgreSQL Global Development Group, 「Constraints검토일 2026-08-28 · 적용 범위 PostgreSQL 18 / current

INTERACTIVE LAB 1 / 2

실습 1 · 잘못된 배포 manifest 고치기

Deployment는 `latest` tag를 쓰고 readiness와 liveness 모두 외부 AI API를 호출합니다. API가 20초 느려지자 모든 pod가 재시작합니다.

원인과 복구를 함께 해결하는 선택을 고르세요.

답 선택

정답 A

A. 검증된 digest를 사용하고 readiness는 traffic 가능 상태, liveness는 process 복구 가능 상태로 분리하며 외부 API 장애는 timeout·degraded mode로 처리합니다.조건과 작동 원리, 실패 경계까지 함께 반영한 판단입니다.

B. Probe 주기를 1초로 줄여 더 자주 재시작합니다.일부 장점만 보고 전제 조건이나 새로 생기는 실패 경계를 빠뜨렸습니다.

C. 모든 probe를 지우고 장애를 관찰하지 않습니다.서로 다른 계층의 책임을 하나로 간주해 실제 검증 지점을 놓칩니다.

D. Container 이름을 cloud-native로 바꿉니다.기술 이름이나 유행을 근거로 삼았지만 현재 요구의 관찰 가능한 증거가 없습니다.

INTERACTIVE LAB 2 / 2

실습 2 · 종료된 보고서 작업의 재처리 범위를 결정합니다

가상 배포에서 이전 작업자가 보고서 임시 파일을 쓰다가 종료됐습니다. 새 Pod는 준비 상태이지만 장부는 처리 중이며 최종 파일은 없습니다. 대기열은 같은 작업을 다시 전달했습니다.

사용자 결과를 복구하면서 중복과 미완성 파일 노출을 막는 판단을 고르십시오.

답 선택

정답 C

A. 새 Pod가 준비됐으므로 보고서도 완료로 표시합니다.준비 상태는 트래픽 수신 조건이며 파일 확정 증거가 아니므로 존재하지 않는 결과를 사용자에게 약속합니다.

B. 임시 파일을 최종 이름으로 바꾸어 즉시 공개합니다.임시 쓰기 중 종료되어 내용의 완전성을 알 수 없으므로 이름 변경만으로 결과를 확정할 수 없습니다.

C. 동일 작업 식별자로 미확정 상태를 확인하고 재처리한 뒤 완전한 파일과 완료 장부를 함께 검증합니다.재전달을 새 업무로 만들지 않고 결과 확정을 관찰하므로 진행 중 작업의 복구와 중복 방지를 연결합니다.

D. 모든 과거 작업을 새 식별자로 다시 생성합니다.이미 완료한 결과까지 재생성할 수 있고 원래 사건과의 연결도 끊어져 재처리 범위를 통제하지 못합니다.

KEY TERMS

이번 단원 핵심 용어

개발환경에서 운영환경까지
Build가 filesystem layer와 metadata를 content-addressed image로 만듭니다.
Docker image·layer·registry
Content-addressed layer를 공유하고 manifest가 platform별 image를 가리킵니다.
Compose로 여러 service 연결
Declarative service graph가 image, network, volume과 configuration을 하나의 local 계약으로 실행합니다.
Kubernetes와 K3s의 조정
Controller reconciliation이 선언된 desired state와 관찰된 state의 차이를 반복해서 줄입니다.
Probe·확장·rolling update·rollback
Probe와 rollout controller가 traffic eligibility와 replica replacement를 관찰 가능한 state로 다룹니다.
교체되는 컨테이너의 진행 중 작업을 끝까지 추적합니다
트래픽 수신 경계와 결과 확정 경계를 분리하면 종료 시점에도 완료 여부를 재구성할 수 있습니다.
이전 코드가 읽을 수 있는 동안 데이터 형식을 전환합니다
계약을 먼저 확장하고 독자를 전환한 뒤 제거하면 코드와 데이터의 되돌림 경계를 분리할 수 있습니다.
백업 파일의 존재보다 복원한 업무 결과를 확인합니다
이미지·데이터·권한을 같은 복구 시점에 연결하고 사용자 읽기로 검증해야 완전성을 판단할 수 있습니다.

UNIT WORKBOOK

개념을 새로운 상황에 적용하는 문제와 기록지

기본 원리 확인에서 시작해 실제 업무 판단으로 확장합니다. 답을 제출하면 정답만이 아니라 모든 선택지가 맞거나 틀린 이유를 확인할 수 있습니다.

THREE-LEVEL ASSESSMENT

기본 원리에서 운영 판단까지

답을 제출하면 정답만이 아니라 모든 선택지가 맞거나 틀린 이유를 확인할 수 있습니다.

기본 문제 1

Image digest가 tag보다 제공하는 것은 무엇인가요?

답 선택

정답 C

A. Host kernel을 image 안에 넣습니다.서로 다른 계층의 책임을 하나로 간주해 실제 검증 지점을 놓칩니다.

B. 항상 최신 version을 선택합니다.기술 이름이나 유행을 근거로 삼았지만 현재 요구의 관찰 가능한 증거가 없습니다.

C. 실행 artifact content의 변경되지 않는 identity입니다.조건과 작동 원리, 실패 경계까지 함께 반영한 판단입니다.

D. 자동 보안 승인을 제공합니다.일부 장점만 보고 전제 조건이나 새로 생기는 실패 경계를 빠뜨렸습니다.

적용 문제 2

Readiness가 실패했을 때 기대 동작은 무엇인가요?

답 선택

정답 D

A. Cluster 전체를 삭제합니다.일부 장점만 보고 전제 조건이나 새로 생기는 실패 경계를 빠뜨렸습니다.

B. Image tag를 변경합니다.서로 다른 계층의 책임을 하나로 간주해 실제 검증 지점을 놓칩니다.

C. Database를 항상 rollback합니다.기술 이름이나 유행을 근거로 삼았지만 현재 요구의 관찰 가능한 증거가 없습니다.

D. Pod를 traffic endpoint에서 제외하되 liveness가 정상이라면 무조건 restart하지 않습니다.조건과 작동 원리, 실패 경계까지 함께 반영한 판단입니다.

종합 문제 3

재현 가능한 배포 evidence는 무엇인가요?

답 선택

정답 A

A. Image digest·configuration revision·migration·test와 rollout 결과를 함께 기록합니다.조건과 작동 원리, 실패 경계까지 함께 반영한 판단입니다.

B. Developer laptop에서 한 번 실행된 사실입니다.일부 장점만 보고 전제 조건이나 새로 생기는 실패 경계를 빠뜨렸습니다.

C. Container 개수만 기록합니다.서로 다른 계층의 책임을 하나로 간주해 실제 검증 지점을 놓칩니다.

D. Kubernetes logo를 사용합니다.기술 이름이나 유행을 근거로 삼았지만 현재 요구의 관찰 가능한 증거가 없습니다.

PRIMARY SOURCES

과정 참고문헌

장별 출처를 다시 모은 목록입니다. 본문의 설명과 저자 도해는 아래 원문을 직접 검토해 작성했습니다.

PERSONAL WORKSHEET

내 환경에 옮겨 적는 학습 기록지

입력 내용은 현재 브라우저 화면에만 머물며 저장하거나 외부로 전송하지 않습니다. 민감한 실제 정보 대신 범주와 가명을 사용하십시오.

OFFICIAL SOURCES

공식 자료에서 다시 확인하기

기술·호환성·모델 정보 검토 연월: 2026년 8월

LEARNING RECORD

본문·판단 활동·모든 해설을 확인했나요?

완료 기록은 이 브라우저에만 저장됩니다.