
1. 컨테이너 런타임 (Container Runtime) 일반적인 가상화가 하드웨어 수준에서 이루어지는 것과 달리, 컨테이너는 운영체제(OS) 수준에서 가상화를 수행한다. 컨테이너는 호스트 시스템의 OS 커널을 공유하므로 가상 머신(VM)에 비해 훨씬 가볍고 유연하게

클러스터 (Cluster): Kubernetes의 여러 리소스를 관리하기 위한 전체 집합체로, 최소 하나 이상의 마스터 노드와 여러 개의 워커 노드로 구성된다.노드 (Node): Kubernetes 클러스터에 등록된 작업 단위로, 컨테이너가 배치되는 대상 서버(물리적

가상적인 쿠버네티스 클러스터 분리 기능완전한 분리의 개념은 아니기 때문에 용도는 제한되지만 하나의 쿠버네티스 클러스터를 여러 팀에서 사용하거나 서비스 환경/스테이징 환경/ 개발 환경으로 구분하는 경우 사용기본 설정에서 제공하는 namespacekube-system :

kubectl 명령어를 연속적으로 실행하여 리소스를 조작할 때는 다음 명령어를 실행하기전에 그때까지 작업한 리소스가 의도한 상태가 된 후 다음 명령어를 실행해야 하는 경우가 있는데 사용할 수 있는 것이 kubectl wait 명령어인데 실행하면 --for 옵션에 지정한

1. Kubernetes Cluster 1) 구성방법 💠 종류 Local Kubernetes : 물리머신 1대에 구축해서 사용 한계가 있음 Kubernetes 구축 도구 이용 : On-Premese 나 Cloud 환경에 클러스터를 구축해서 사용 충분한 자원

How to Install Kubernetes : https://hostnextra.com/learn/tutorials/how-to-install-kubernetes-k8s-on-ubuntu모든 머신에 ubuntu 24.04 LTS 설치머신당 최소 2GB 의

Master Node : Ubuntu GUIWorker Node : Ubuntu Serverhttps://ubuntu.com/download/server1\. 기본 설정이름: 원하는 이름 (예: Master , Worker1 )폴더: 가상머신 저장 경로ISO

클러스터에 컨테이너를 기동시키기 위해 사용되는 리소스종류 Pod ReplicaController ReplicaSet Deployment DaemonSet StatefulSet Job CronJobPod(파드)는 쿠버네티스에서 배포의 기본이 되는 가장 작은

[Kubernetes] 워크로드(Workload) API 2 - ReplicaSet 1. ReplicaSet / ReplicationController 🚀 개요 [cite_start]ReplicaSet은 일정한 개수의 동일한 Pod가 항상 실행되도록 관리하는 리

Deployment Deployment는 ReplicaSet을 관리하여 파드의 배포, 롤링 업데이트(Rolling Update), 롤백(Rollback) 등을 정교하게 처리하는 리소스이다. Deployment → ReplicaSet → Pod 의 계층적 관리 구조를

Deployment가 기존 버전의 애플리케이션을 새로운 버전으로 교체할 때 사용하는 방식을 업데이트 전략이라고 한다. Deployment는 spec.strategy.type 필드를 통해 크게 두 가지 전략을 제공한다.Recreate: 기존 버전을 모두 종료시킨 후, 새

DaemonSet(데몬셋)은 클러스터의 모든 노드(또는 지정된 일부 노드)가 특정 파드의 복사본을 하나씩 실행하도록 보장하는 리소스이다.ReplicaSet처럼 복제본의 수를 지정하는 replicas 필드가 없으며, 하나의 노드에 두 개 이상의 파드를 배치할 수도 없다.

StatefulSet(스테이트풀셋)은 데이터베이스처럼 안정적인 네트워크 식별자와 영구적인 스토리지가 필요한 상태 저장 애플리케이션을 관리하기 위한 워크로드 리소스이다. Deployment/ReplicaSet과의 가장 큰 차이점은 다음과 같다.고유하고 안정적인 네트워크

Job(잡) 은 하나 이상의 파드를 생성하여, 지정된 수의 파드가 성공적으로 완료될 때까지 실행을 보장하는 리소스이다. Deployment와 가장 큰 차이점은, Job에게 파드의 '종료'는 실패가 아닌 '성공적인 완료'를 의미한다는 것이다. 이러한 특성 때문에 Job은

서비스 API 카테고리로 분류된 리소스는 클러스터상의 컨테이너에 대한 EndPoint를 제공하거나 레이블과 일치하는 컨테이너의 디스커버리에 사용되는 리소스이다. 사용자가 직접 사용하는 것은 L4 로드 밸런싱을 제공하는 서비스(Service) 리소스와 L7 로드 밸런싱을

1. ClusterIP 서비스 ClusterIP 는 쿠버네티스의 가장 기본적인 서비스 타입이다. 이 서비스를 생성하면 클러스터 내부에서만 접근 가능한 가상 IP(ClusterIP)가 할당된다. 클러스터 외부에서 트래픽을 받을 필요가 없는 내부 컴포넌트 간의 통신이나

1. 인그레스(Ingress) Ingress를 제외한 모든 서비스는 L4 로드밸런싱을 제공하는 리소스인데 Ingress 는 L7 로드밸런싱을 제공하는 리소스 Ingress 는 서비스들을 묶는 서비스들의 상위 객체로 서비스 종류의 하나로서가 아닌 독립된 리소스로 구현 인

ClusterIP 는 쿠버네티스 서비스의 가장 기본이 되는 타입이다. type: ClusterIP 로 서비스를 생성하면, 쿠버네티스 클러스터 내부에서만 접근 가능한 가상 IP(Virtual IP)가 할당된다. 클러스터 외부에서 트래픽을 수신할 필요가 없는 환경, 예를

일반적인 서비스는 ClusterIP , NodePort 등 고유한 가상 IP를 할당받아 로드밸런싱을 수행한다. 반면 Headless Service는 이름 그대로 서비스를 대표하는 가상 IP(Head)가 없는 서비스를 말한다.Headless Service는 로드밸런싱을

Session Affinity는 특정 클라이언트의 모든 요청을 항상 동일한 파드(Pod)로 보내도록 설정하는 기능이다. '스티키 세션(Sticky Session)'이라고도 하며, 클라이언트의 IP 주소를 기반으로 동작한다.일반적으로 서비스는 라운드 로빈(Round R

설치kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.6.4/deploy/static/provider/cloud/deploy.yaml설치확인kubec

컨테이너에 대한 설정 파일, 패스워드 같은 기밀정보를 추가하거나 영구 볼륨을 제공하기 위한 리소스내부에서 사용되는 것을 제외하면 사용자가 직접 사용하는 것은 3가지secretConfigMap영구 볼륨 클레임환경변수를 전달할 때는 파드 템플릿에 env 또는 envForm

MySQL 같은 데이터베이스에 접속하려면 사용자 이름이나 패스워드 같은 기밀정보가 필요쿠버네티스에서 애플리케이션을 실행할 경우 이와 기밀정보를 컨테이너 전달하는 방법도커 빌드시 컨테이너 이미지에 추가이미지를 빌드할 때 애플리케이션 측이나 컨테이너 환경 변수 및 실행 인

설정 정보 등을 key-Value 값으로 저장할 수 있는 데이터 저장 리소스nginx.conf 나 httpd.conf 같은 설정 파일도 사용 가능ConfigMap을 Generic 타입의 시크릿과 거의 동일한 방법으로 생성kubectl로 파일에서 값을 참조하여 생성(--

파드(Pod)는 기본적으로 일시적인(ephemeral) 존재이기 때문에 파드가 재시작되면 내부의 데이터는 사라진다. 이를 방지하고 데이터를 영구적으로 저장하기 위해 볼륨을 사용한다. 특히, 영구 볼륨(Persistent Volume, PV)과 영구 볼륨 클레임(Pers

쿠버네티스 API는 클러스터의 동작을 제어하는 클러스터 API와 컨테이너 기동에 관여하는 메타데이터 API로 나눌 수 있다.클러스터 전체의 동작, 보안, 자원 할당 등을 제어하는 리소스들이다. 사용자가 직접 생성하고 관리하는 경우가 많다.주요 리소스: Node, Nam

쿠버네티스 커뮤니티 sig-cli가 제공하는 매니페스트 템플레이팅 툴환경마다 매니페스트를 생성하거나 특정 필드를 덮어쓰는 기능이 있어 효율적으로 매니페스트를 생성할 수 있음헬름은 설정을 채워나가는 방식인데 반해 kustomize는 기본값을 덮어쓰는 형태로 설정할 수 있

쿠버네티스의 패키지 관리자레드햇 계열의 YUM 이나 데비안 계열의 APT 에 해당하는 개념오픈 소스 소프트웨어레디스클러스터 구성이나 워드프레스 환경 등의 소프트웨어를 하나의 명령어로 쿠버네티스 클러스터에 배포할 수 있음롤링 업데이트 등에서 지원하는 것이 많아서 쿠버네티

helm install sample-wordpress bitnami/wordpress --version 25.0.8 --set wordpressUsername=유저이름 --set wordpressPassword=비밀번호 --set wordpressBlogName="블로

블루-그린 배포는 동일한 환경을 2개(Blue, Green) 구성하여, 하나는 기존 버전(Blue)을 운영하고 다른 하나에 신규 버전(Green)을 배포한 뒤, 트래픽을 일제히 전환하는 방식의 무중단 배포 전략이다.Blue: 현재 운영 환경에서 사용 중인 기존 버전의

개요: 쿠버네티스의 리소스와 유사한 쿠버네티스 컨트롤러지만 Argo Project 팀에서 생성한 CRD확장된 기능블루-그린 배포카나리 배포가중 트래픽 전달자동 롤백과 승격메트릭 분석쿠버네티스의 디플로이먼트 리소스는 rolling update 전략을 사용Rolling U

애플리케이션을 배포할 때 데이터베이스 접속 정보, API 키, 인증서와 같은 민감한 정보, 즉 시크릿(Secret) 을 안전하게 관리하는 것은 매우 중요하다. 단순히 Git 저장소에 평문으로 저장하거나 Base64로 인코딩하여 쿠버네티스 Secret 오브젝트로 관리하는