2025/03/05 15

Kubernetes 리소스 시리즈 #18: Helm (패키지 관리 및 배포 자동화)

Kubernetes에서는 다양한 애플리케이션을 배포할 때 Deployment, Service, ConfigMap, Secret 등의 리소스를 개별적으로 생성해야 합니다.이 과정이 복잡해질수록 배포 자동화 및 버전 관리를 위한 도구가 필요하게 됩니다.이를 위해 Kubernetes에서는 Helm을 사용하여 패키지를 관리할 수 있습니다.이번 글에서는 Helm의 개념, 주요 기능, 그리고 실전 활용법을 정리하겠습니다.🔹 Helm이란?Helm은 Kubernetes 애플리케이션을 패키지화하여 쉽게 배포하고 관리할 수 있도록 하는 패키지 매니저입니다.✔️ YAML 파일을 템플릿화하여 쉽게 재사용 가능✔️ 애플리케이션 배포, 업데이트, 롤백을 자동화✔️ Helm Chart를 이용하여 애플리케이션을 일관된 방식으로 관..

Kubernetes 리소스 시리즈 #17: Operator (확장 및 기타 리소스)

Kubernetes는 기본적으로 Pod, Deployment, StatefulSet과 같은 컨트롤러를 제공하지만,애플리케이션 운영을 자동화하려면 CustomResourceDefinition(CRD)과 함께 Operator 패턴을 활용하는 것이 중요합니다.이번 글에서는 Operator의 개념, 주요 역할, 그리고 실전 활용법을 정리하겠습니다.🔹 Operator란?Operator는 **Kubernetes의 확장 기능으로, 특정 애플리케이션을 자동으로 운영하고 관리하는 컨트롤러(Controller)**입니다.✔️ CRD(CustomResourceDefinition)와 함께 사용하여 애플리케이션 라이프사이클을 자동 관리✔️ 데이터베이스, 메시지 큐 등 Stateful 애플리케이션 운영 자동화✔️ 애플리케이션의..

Kubernetes 리소스 시리즈 #16: CustomResourceDefinition(CRD) (확장 및 기타 리소스)

Kubernetes는 기본적으로 Pod, Deployment, Service 등의 리소스를 제공하지만,특정 애플리케이션에 맞게 **새로운 리소스를 정의하고 관리할 수 있도록 CustomResourceDefinition(CRD)**를 지원합니다.이번 글에서는 CRD의 개념, 활용법, 그리고 실전 예제를 정리하겠습니다.🔹 CRD(CustomResourceDefinition)란?**CRD(CustomResourceDefinition)**는 사용자가 Kubernetes에서 새로운 리소스를 정의하고 관리할 수 있도록 하는 확장 기능입니다.✔️ 기본 제공되지 않는 새로운 리소스 유형을 정의 가능✔️ kubectl을 통해 기본 리소스처럼 관리 가능✔️ Operator 패턴과 함께 활용하여 자동화된 애플리케이션 운영..

Kubernetes 리소스 시리즈 #15: Cluster Autoscaler & Metrics Server (오토스케일링 및 모니터링 리소스)

Kubernetes에서 트래픽 증가에 따라 자동으로 노드를 추가하거나 불필요한 노드를 제거하는 기능이 필요할 수 있습니다.이를 위해 Cluster Autoscaler를 사용하며, Pod의 리소스 모니터링을 위해 Metrics Server가 함께 사용됩니다.이번 글에서는 Cluster Autoscaler와 Metrics Server의 개념, 동작 방식, 그리고 실전 활용법을 정리하겠습니다.🔹 Cluster Autoscaler란?Cluster Autoscaler는 클러스터의 노드 개수를 자동으로 조정하는 컴포넌트입니다.✔️ HPA(VPA 포함)가 Pod 개수를 증가시켰을 때, 필요한 노드를 자동으로 추가✔️ 사용되지 않는 노드가 많아지면 불필요한 노드를 자동으로 제거✔️ 클라우드 환경(AWS, GCP, A..

Kubernetes 리소스 시리즈 #14: Horizontal & Vertical Pod Autoscaler (오토스케일링 및 모니터링 리소스)

Kubernetes에서는 애플리케이션의 부하에 따라 자동으로 리소스를 조정할 수 있습니다.이를 위해 **HPA(Horizontal Pod Autoscaler)와 VPA(Vertical Pod Autoscaler)**를 사용합니다.이번 글에서는 HPA와 VPA의 개념, 차이점, 그리고 실전 활용법을 정리하겠습니다.🔹 HPA (Horizontal Pod Autoscaler)란?**HPA(Horizontal Pod Autoscaler)**는 CPU, 메모리 등의 사용량을 기준으로 Pod의 개수를 자동으로 조정하는 Kubernetes 리소스입니다.✔️ 트래픽 증가 시 자동으로 Pod 개수를 증가✔️ 트래픽 감소 시 불필요한 Pod를 줄여 리소스 절약✔️ Deployment, StatefulSet 등의 리소스에..

Kubernetes 리소스 시리즈 #13: ServiceAccount (정책 및 접근 제어 리소스)

Kubernetes에서는 Pod가 클러스터 내부 리소스(Kubernetes API, 다른 서비스 등)에 접근할 필요가 있을 때가 있습니다.이때 사용하는 것이 ServiceAccount입니다.이번 글에서는 ServiceAccount의 개념, 사용 목적, 그리고 실전 활용법을 정리하겠습니다.🔹 ServiceAccount란?ServiceAccount는 Pod가 Kubernetes API 및 다른 리소스에 접근할 때 사용하는 인증 계정입니다.✔️ Pod가 특정 권한을 가지고 Kubernetes API와 상호작용할 수 있도록 설정✔️ 기본적으로 모든 Pod는 default ServiceAccount를 사용✔️ RBAC(Role-Based Access Control)과 함께 사용하여 API 접근을 제한 가능💡 ..

Kubernetes 리소스 시리즈 #12: RBAC (Role-Based Access Control) (정책 및 접근 제어 리소스)

Kubernetes 클러스터를 운영할 때, 보안 강화를 위해 특정 사용자 또는 서비스가 특정 리소스에 접근할 수 있도록 제한해야 합니다.이를 위해 Kubernetes는 **RBAC(Role-Based Access Control)**을 제공합니다.이번 글에서는 RBAC의 개념, 주요 리소스, 그리고 실전 활용법을 정리하겠습니다.🔹 RBAC이란?**RBAC(Role-Based Access Control)**은 역할 기반 접근 제어 시스템으로,✔️ 사용자, 그룹, 서비스 계정 등의 리소스 접근을 제한 가능✔️ Role, ClusterRole을 사용하여 권한을 정의✔️ RoleBinding, ClusterRoleBinding을 사용하여 특정 사용자에게 권한을 부여💡 RBAC을 설정하면, 불필요한 접근을 차단..

Kubernetes 리소스 시리즈 #11: ResourceQuota & LimitRange (클러스터 리소스)

Kubernetes에서 리소스 관리는 중요한 요소입니다.하나의 클러스터를 여러 팀이 공유할 때, 특정 네임스페이스에서 과도한 리소스를 사용하지 못하도록 제한해야 합니다.이를 위해 Kubernetes는 ResourceQuota와 LimitRange를 제공합니다.이번 글에서는 ResourceQuota와 LimitRange의 개념, 차이점, 그리고 실전 활용법을 정리하겠습니다.🔹 ResourceQuota란?ResourceQuota는 네임스페이스 단위로 리소스(CPU, 메모리, 스토리지 등)의 최대 사용량을 제한하는 리소스입니다.✔️ 네임스페이스 내에서 사용 가능한 리소스 총량을 제한✔️ CPU, 메모리, 스토리지, 오브젝트(Pod, Service, PVC 등) 개수 제한 가능✔️ 팀별 리소스 사용량을 조절하..

Kubernetes 리소스 시리즈 #10: Node & Namespace (클러스터 리소스)

Kubernetes 클러스터를 운영할 때, 클러스터의 구성 요소와 리소스를 효율적으로 관리하는 것이 중요합니다.이 중에서도 **Node(노드)와 Namespace(네임스페이스)**는 클러스터의 리소스를 배포하고 격리하는 핵심 개념입니다.이번 글에서는 Node와 Namespace의 개념, 동작 방식, 그리고 실전 활용법을 정리하겠습니다.🔹 Node란?Kubernetes의 **Node(노드)**는 컨테이너화된 애플리케이션(Pod)을 실행하는 물리적 또는 가상 머신입니다.✔️ 하나의 Kubernetes 클러스터는 여러 개의 Node로 구성됨✔️ 각 Node에는 CPU, 메모리, 네트워크 및 스토리지가 포함됨✔️ Node는 Control Plane의 스케줄링을 받아 Pod를 실행함💡 Kubernetes에는 ..

Kubernetes 리소스 시리즈 #9: PersistentVolume & StorageClass (구성 및 스토리지 리소스)

Kubernetes에서 Pod는 기본적으로 **임시 저장소(Ephemeral Storage)**를 사용하므로,Pod가 재시작되거나 삭제되면 컨테이너 내부의 데이터도 함께 사라집니다.이를 해결하기 위해 **PersistentVolume(PV)과 PersistentVolumeClaim(PVC)**을 사용하여 영구적인 스토리지를 제공합니다.이번 글에서는 PersistentVolume(PV), PersistentVolumeClaim(PVC), 그리고 StorageClass의 개념과 실전 활용법을 정리하겠습니다.🔹 PersistentVolume(PV)란?**PersistentVolume(PV)**은 Kubernetes 클러스터에서 관리하는 영구적인 스토리지 리소스입니다.✔️ 클러스터에서 제공하는 스토리지를 추상..

728x90