728x90
반응형

전체 글 119

Deployment와 rollout 이해하기

1단계: Deployment의 기본 구조 (뼈대)Deployment가 ReplicaSet을 자동으로 만들고, ReplicaSet이 Pod들을 관리Deployment만 정의하면 끝. 2단계: 이미지 버전을 바꿀 때 뭐가 일어나는가? (Rollout)이미지 버전을 바꾸면 Deployment가 이렇게 점진적으로 Pod을 교체하는 과정을 "Rollout"이라고 부름 3단계: 상태 필드들이 어떻게 변하는가? 정리Deployment가 하는 일:Pod 개수 유지 (replicas: 3 → 항상 3개 유지)Pod 재생성 (Pod이 죽으면 자동으로 새로 만듦)이미지 업데이트 (1.20 → 1.25로 바꾸면 점진적으로 Pod 교체) ← 이게 Rollout배포 상태 추적 (desired, current, up-to-d..

k8s 이론 공부 2026.04.10

부록: 핵심 용어 사전 (가나다순)

용어설명cgroups프로세스 그룹의 자원(CPU, 메모리 등) 사용량을 제한하는 Linux 커널 기능ClusterIPService의 기본 타입. 클러스터 내부에서만 접근 가능CNIContainer Network Interface. K8s 네트워크를 구현하는 플러그인 표준ConfigMap설정 데이터를 키-값 쌍으로 저장하는 K8s 리소스Container Runtime컨테이너를 실제로 생성·실행하는 소프트웨어 (containerd, CRI-O)CronJob스케줄에 따라 Job을 주기적으로 실행하는 리소스DaemonSet모든 노드에 Pod을 하나씩 실행하는 리소스DeploymentReplicaSet을 관리하며 롤링 업데이트를 지원하는 워크로드 리소스DNSDomain Name System. 이름을 IP로 변환...

k8s 이론 공부 2026.04.02

Part 5 — 운영과 확장

Chapter 24. RBAC — 누가 무엇을 할 수 있는가용어: RBAC(Role-Based Access Control) — 역할 기반 접근 제어. 사용자나 서비스 계정에게 역할(Role)을 부여하고, 역할에 권한을 정의하는 방식이다.* RBAC의 핵심 4가지 리소스1) Role: 특정 네임스페이스 안에서의 권한 정의.apiVersion: rbac.authorization.k8s.io/v1kind: Rolemetadata: name: pod-reader namespace: productionrules: - apiGroups: [""] # 코어 API 그룹 (Pod, Service 등) resources: ["pods"] # 대상 리소스 verbs: ["get..

k8s 이론 공부 2026.04.02

Part 4 — 네트워킹과 스토리지

Chapter 19. K8s 네트워크 모델* 세 가지 네트워크 통신K8s의 네트워크 모델에는 세 가지 수준의 통신이 있다:1) 같은 Pod 안의 컨테이너 간 통신: localhost로 통신. 포트만 다르면 된다.2) Pod 간 통신: 모든 Pod은 고유한 IP를 가지며, 클러스터 내의 모든 Pod은 NAT 없이 서로 직접 통신할 수 있다.용어: NAT(Network Address Translation) — IP 주소를 다른 IP 주소로 변환하는 기술이다. 가정에서 공유기를 쓸 때, 내부 IP(192.168.x.x)가 공유기를 통해 공인 IP로 변환되는 것이 NAT다. K8s는 Pod 간 통신에서 NAT를 쓰지 않는다. Pod A가 Pod B의 IP로 직접 통신한다.3) 외부 → 클러스터 내부 통신: Se..

k8s 이론 공부 2026.04.02

Part 3 — 핵심 리소스

Chapter 10. YAML 기본 문법K8s의 모든 리소스는 YAML 파일로 정의한다. YAML을 읽고 쓸 줄 알아야 K8s를 할 수 있다.용어: YAML — “YAML Ain’t Markup Language”의 약자. 사람이 읽기 쉬운 데이터 직렬화 형식이다. JSON과 비슷한 역할이지만 들여쓰기로 구조를 표현해서 더 읽기 편하다.* YAML 핵심 규칙# 주석은 # 으로 시작# 키-값 쌍name: nginxreplicas: 3enabled: true# 리스트 (- 로 시작)ports: - 80 - 443# 중첩 구조 (들여쓰기 2칸)metadata: name: my-app labels: app: web tier: frontend# 여러 줄 문자열description: | 이것은 여..

k8s 이론 공부 2026.04.02

Part 2 — K8s 아키텍처

Chapter 5. 클러스터란 무엇인가서버 여러 대를 하나처럼 쓰기용어: 클러스터(Cluster) — 여러 대의 서버(머신)를 묶어서 하나의 시스템처럼 사용하는 것이다. K8s에서는 이 서버 한 대 한 대를 노드(Node)라고 부른다.K8s 클러스터는 크게 두 종류의 노드로 구성된다:컨트롤 플레인 노드(Control Plane Node): 클러스터의 “두뇌” 역할. 명령을 받고, 상태를 관리하고, 스케줄링을 결정한다. 예전에는 “마스터 노드”라고 불렀는데 최근에는 “컨트롤 플레인”이라는 용어를 선호한다.워커 노드(Worker Node): 실제로 컨테이너(Pod)가 돌아가는 노드. 일꾼이다.비유하자면 이렇다. 건설 현장에서 감독관(컨트롤 플레인)이 도면을 보고 “이 건물은 여기에, 저 건물은 저기에 지어”..

k8s 이론 공부 2026.04.02

Part 1 - 왜 k8s 인가?

Chapter 1. 컨테이너 이전의 세계* 서버 한 대에 다 올리던 시절2000년대 초반을 상상해보자. 회사에서 웹 서비스를 하나 만들었다. Apache 웹서버, Java 애플리케이션, MySQL DB — 이 세 가지를 물리 서버 한 대에 다 설치했다.잘 돌아간다. 그런데 문제가 하나둘 생긴다.문제 1: 서로 발목을 잡는다. Java 앱이 메모리를 많이 먹으면 MySQL이 느려진다. 하나가 죽으면 같은 서버의 다른 것도 영향을 받는다.문제 2: 환경이 꼬인다. Java 앱 A는 Java 8이 필요하고, 앱 B는 Java 11이 필요하다. 같은 서버에 두 버전을 공존시키는 건 악몽이다. 라이브러리 버전 충돌도 마찬가지다.문제 3: 확장이 어렵다. 트래픽이 늘어서 웹서버만 늘리고 싶은데, 서버 한 대에 다 ..

k8s 이론 공부 2026.04.02

Terraform 기본 코드 작성

※ 본격적으로 Terraform 코드 작성하여 사용 전 아래와 같이 디렉토리를 구성프로젝트 디렉토리 구성# 파일 이름은 원하는 대로 생성mkdir nhn-iac && cd nhn-iacnhn-iac/├── provider.tf # Provider 선언├── variables.tf # 변수 선언├── terraform.tfvars # 실제 값 입력 (Git 제외!)├── outputs.tf # 결과값 출력└── .gitignore💡 파일을 나누는 이유한 파일에 다 써도 동작하지만, 역할별로 분리하면 유지보수가 훨씬 편해짐.특히 terraform.tfvars를 분리해야 민감 정보를 Git에서 제외하기 쉬움. 코드 작성□ provider.tfterraform { ..

Terraform 개념 및 설치

Terraform 기본 개념 & NHN Cloud 네트워크 아키텍처 설계Terraform이란?인프라를 코드로 관리(IaC, Infrastructure as Code)하는 도구이다.기존에는 클라우드 콘솔에서 클릭클릭으로 서버를 만들었다면, Terraform은 이걸 코드로 선언한다."서울 리전에 CPU 2코어, RAM 4GB 서버 1대 만들어줘"→ 이걸 코드로 작성 → terraform apply 한 번으로 실행 왜 써야 할까?콘솔(GUI) 방식Terraform(IaC) 방식클릭 순서 기억해야 함코드가 곧 문서재현 어려움언제든 동일하게 재현 가능실수 발생 시 추적 어려움Git으로 변경 이력 관리팀원과 공유 불편코드 공유로 협업 Terraform 핵심 개념 4가지 ① ProviderTerraform이 어떤 ..

IaC & k8s 스터디 로드맵

IaC와 k8s를 공부하기 위해 전체 계획을 수립하였고, 해당 계획을 기반으로 클로드를 통해 로드맵을 정리하였다.cloud 환경은 nhn cloud로 진행할 예정이다. 🏗️ IaC & K8s 완전 정복 로드맵NHN Cloud 기반 · Terraform → Ansible → Kubernetes → CI/CD 로드맵 전체 개요Phase내용핵심 스택Phase 1 (1~2주)Terraform 기반 NHN Cloud 인프라 자동화Terraform · OpenStack ProviderPhase 2 (3주)Ansible 기반 인스턴스 자동 설정Ansible · LVM · 모니터링 에이전트Phase 3 (4~5주)K8s 클러스터 구축 (NKS / kubeadm / k3s)NKS · kubeadm · k3s · co..

728x90
반응형
LIST