전체 글
-
14. Volume과 PV/PVC란? Kubernetes에서 데이터 저장하기DevOps 2026. 8. 10. 13:23
📚 Docker & Kubernetes 시리즈이전 글에서는 Namespace를 이용해 Kubernetes 리소스를 환경이나 프로젝트별로 구분하는 방법을 알아보았다.애플리케이션을 운영하려면 Docker Image뿐 아니라 다음과 같은 설정 정보도 필요하다.이전 글에서는 ConfigMap과 Secret을 이용해 애플리케이션의 설정 정보를 Pod와 분리하여 관리하는 방법을 알아보았다.이번에는 데이터 저장에 대해 알아보자.Kubernetes에서 Pod는 필요에 따라 생성되고 삭제된다.Deployment를 통해 새로운 버전이 배포되거나 장애로 인해 Pod가 다시 생성될 수도 있다.그렇다면 Pod 내부에 저장한 파일이나 데이터는 어떻게 될까?이번 글에서는 Volume이 필요한 이유와 PV(PersistentVol..
-
13. ConfigMap과 Secret이란? Kubernetes 설정 정보 관리하기DevOps 2026. 8. 4. 11:06
📚 Docker & Kubernetes 시리즈이전 글에서는 Namespace를 이용해 Kubernetes 리소스를 환경이나 프로젝트별로 구분하는 방법을 알아보았다.애플리케이션을 운영하려면 Docker Image뿐 아니라 다음과 같은 설정 정보도 필요하다.DB 주소Redis 주소외부 API URLSpring Profile아이디와 비밀번호API Key 이러한 값을 애플리케이션 코드나 Docker Image 안에 직접 작성하면 환경이 바뀔 때마다 코드를 수정하거나이미지를 다시 만들어야 한다.Kubernetes에서는 일반 설정은 ConfigMap, 민감한 정보는 Secret을 이용해 애플리케이션과 분리하여 관리할 수 있다.이번 글에서는 ConfigMap과 Secret의 차이와 사용 방법을 알아보자. 설정 정..
-
12. Namespace란? Kubernetes에서 리소스를 구분하는 방법DevOps 2026. 8. 4. 10:24
📚 Docker & Kubernetes 시리즈이전 글에서는 Kubernetes를 보다 편리하게 관리할 수 있는 터미널 UI 도구인 K9s를 알아보았다.K9s를 사용하다 보면 default, dev, stg, prod처럼 다양한 Namespace를 선택하는 화면을 볼 수 있다.그렇다면 Namespace는 왜 필요한 것일까?이번 글에서는 Namespace의 개념과 역할, 그리고 Kubernetes에서 어떻게 활용되는지 알아보자. Namespace란?Namespace는 Kubernetes 클러스터 내부의 리소스를 논리적으로 구분하는 공간이다.하나의 Kubernetes 클러스터에는 여러 개의 Pod, Service, Deployment 등이 함께 존재할 수 있다.Namespace를 사용하면 이러한 리소스를 ..
-
11. K9s란? kubectl보다 편리한 Kubernetes 관리 도구DevOps 2026. 7. 28. 15:43
📚 Docker & Kubernetes 시리즈이전 글에서는 Kubernetes를 관리하기 위한 공식 CLI 도구인 kubectl을 알아보았다.kubectl은 Kubernetes를 관리하는 데 가장 기본이 되는 도구이지만, 운영 환경에서는 수십 개 이상의 Pod와 다양한 리소스를 반복해서 확인해야 하는 경우가 많다.이때 매번 명령어를 입력하는 것은 번거롭고 원하는 정보를 찾는 데 시간이 걸릴 수 있다.이러한 불편함을 해결하기 위해 많이 사용하는 도구가 K9s이다.이번 글에서는 K9s가 무엇인지, 왜 사용하는지, 그리고 자주 사용하는 기능을 살펴보자. K9s란?K9s는 Kubernetes 클러스터를 터미널 환경에서 편리하게 관리할 수 있도록 도와주는 오픈소스 도구이다.kubectl과 동일한 Kuberne..
-
10. kubectl이란? Kubernetes 리소스 조회하고 관리하기DevOps 2026. 7. 28. 13:52
📚 Docker & Kubernetes 시리즈이전 글에서는 Service와 Ingress를 통해 외부 요청이 Pod까지 전달되는 과정을 알아보았다.하지만 실제로 Kubernetes를 운영하다 보면 이런 상황을 자주 마주하게 된다. 현재 Pod가 정상적으로 실행 중인지 확인하고 싶다.Deployment가 몇 개의 Pod를 생성했는지 알고 싶다.Pod에서 발생한 오류 로그를 확인하고 싶다.새로운 YAML을 적용하거나 삭제하고 싶다. 이러한 작업을 수행하기 위해 사용하는 도구가 kubectl이다.이번 글에서는 Kubernetes를 가장 많이 다루는 CLI(Command Line Interface)인 kubectl의 역할과자주 사용하는 명령어를 알아보자. kubectl이란?kubectl은 Kubernete..
-
9. Kubernetes Service와 Ingress 이해하기DevOps 2026. 7. 24. 11:10
📚 Docker & Kubernetes 시리즈이전 글에서는 Deployment와 ReplicaSet을 이용해 Pod를 자동으로 생성하고 관리하는 방법을 알아봤다.Deployment를 생성하면 여러 개의 Pod가 실행된다.Deployment │ReplicaSet │├── Pod├── Pod└── Pod 그렇다면 또 하나의 궁금증이 생긴다.사용자의 요청은 어떤 Pod로 전달될까? 그리고외부에서는 Kubernetes 안의 애플리케이션에 어떻게 접근할까? 이번 글에서는 Kubernetes의 Service와 Ingress가 어떤 역할을 하는지 알아보자. Pod IP를 직접 사용하면 안 되는 이유Pod가 실행되면 각각 IP를 하나씩 갖는다. 예를 들어Pod A10.244.0.2Pod B10.244...
-
8. Deployment와 ReplicaSet 이해하기DevOps 2026. 7. 24. 09:40
📚 Docker & Kubernetes 시리즈이전 글에서는 Kubernetes의 기본 구성 요소인 Cluster, Node, Pod를 살펴봤다.Pod는 Kubernetes에서 Container를 실행하는 가장 작은 단위라는 것도 알아보았다.그렇다면 새로운 궁금증이 생긴다. Pod는 누가 만들고, 누가 관리할까? Pod를 직접 생성해서 실행할 수도 있지만, 실무에서는 거의 사용하지 않는다.대신 Deployment를 생성하면 Kubernetes가 필요한 Pod를 자동으로 생성하고 관리한다.이번 글에서는 Deployment와 ReplicaSet이 어떤 역할을 하는지 알아보자. Pod를 직접 생성하면 안 될까?예를 들어 Pod 하나를 생성했다고 가정해 보자.apiVersion: v1kind: Podmeta..
-
7. Kubernetes란? Pod와 Node 이해하기DevOps 2026. 7. 24. 09:00
📚 Docker & Kubernetes 시리즈이전 글에서는 Jenkins와 Argo CD를 이용해 Spring Boot 애플리케이션이 Docker Image로 빌드되고 Kubernetes에 배포되는 과정을 살펴봤다.전체 흐름은 다음과 같았다.Git Push │ ▼Jenkins │ ▼Docker Image 생성 │ ▼Docker Registry │ ▼Argo CD │ ▼Kubernetes 여기서 한 가지 궁금증이 생긴다.Kubernetes는 Docker Image를 어떻게 실행하는 걸까? Docker에서는 docker run 명령으로 Container를 실행했다. docker run -d \ --name my-spring-app \ -p 8080..