반응형

Container Orchestration/Kubernetes 43

K3s & k3sup 이란?

Overview오늘은 경량화된 Kubernetes 배포판인 K3s에 대해 알아보고, Google Compute Engine(GCE) 위에서 K3s 클러스터를 구성하는 실습을 진행해보았다. K3s는 Rancher Labs에서 개발한 프로젝트로, Kubernetes의 모든 핵심 기능을 유지하면서도 리소스 사용을 최소화하여 엣지 환경이나 개발용 클러스터에 매우 적합하다.  특히 단일 바이너리 구조와 간단한 설치 명령어는 학습 용도, 테스트 환경, 혹은 IoT/ARM 디바이스에 큰 강점을 제공한다.  이번 실습에서는 다음을 직접 진행하였다.GCP에서 Control / Worker Node VM 생성 (Terraform)K3s 직접 설치 및 구성 (Control Node → Worker Node Join)간단한 ..

Flux란? / Flux + Kustomize

Overview이번 포스팅에서는 GitOps 도구 중 하나인 Flux에 대해 소개하고, Flux + Kustomize를 통합하여 Kubernetes 리소스를 어떻게 자동으로 관리하고 배포할 수 있는지를 실습과 함께 다뤄보겠다. 기존에는 ArgoCD를 중심으로 GitOps를 구성한 경험이 있다면, Flux는 또 다른 방식의 GitOps 흐름을 경험해볼 수 있는 좋은 선택이다. 특히 CLI 기반의 심플한 설치와 설정, 그리고 Kustomize와의 강력한 통합 덕분에 YAML 중심의 인프라 운영에 매우 적합하다. 이번 실습에서는 Nginx 리소스를 base, overlay 구조로 구성하고, 이를 Flux를 통해 Git에서 감지하여 자동으로 Kubernetes에 반영하는 과정까지 확인한다.  Git 저장소에 커..

2. Kustomize + ArgoCD ApplicationSet

Overview  지난 포스팅에서는 Kustomize를 활용해 Kubernetes 리소스를 효율적으로 관리하는 방법을 정리했었다.2023.10.12 - [Container Orchestration/Kubernetes] - 1. Kustomize란?이번 시간에는 Kustomize를 ArgoCD와 함께 연동해 GitOps 기반의 자동 배포 환경을 구성해보려고 한다.ArgoCD는 Git 저장소에 선언된 매니페스트를 기준으로 쿠버네티스 클러스터 상태를 자동으로 동기화해주는 도구다. 여기에 Kustomize를 결합하면, 환경별 YAML 오버레이를 손쉽게 관리하면서도, GitOps 방식으로 배포를 자동화할 수 있다. 이번 실습에서는 ApplicationSet 리소스를 사용해 dev, qa, prod 환경에 대해 자..

1. Kustomize란?

Overview오늘은 Kubernetes 환경에서 매니페스트를 보다 구조적이고 유연하게 관리할 수 있는 도구인 Kustomize에 대해 알아겠다.기존에는 여러 환경(dev, qa, prod 등)에 맞춰 매니페스트를 복사하거나 수작업으로 관리하는 경우가 많았지만,Kustomize는 중복을 줄이고, 환경별 패치만 분리하여 구성할 수 있게 해주는 강력한 솔루션이다. 특히 base와 overlay 개념을 활용해 공통 설정은 재사용하고, 변경이 필요한 값만 덮어쓸 수 있어팀 단위의 운영환경 관리나 GitOps 환경 구성 시 매우 유용하다.  오늘 실습에서는 nginx 예제를 중심으로 Kustomize의 기본 구조, kustomization.yaml의 역할,환경별 빌드 및 배포 방식 등을 직접 다뤄보며 핵심 흐름을..

CertManager로 Let's Encrypt 인증서 발급

Overview오늘은 Kubernetes 클러스터 환경에서 HTTPS 통신을 위한 TLS 인증서를 자동으로 발급하고 갱신할 수 있는 CertManager와 Let's Encrypt의 연동 방법에 대해 알아본다. CertManager는 Kubernetes에서 인증서 관리 작업을 자동화해주는 컨트롤러로, Let's Encrypt와 함께 사용하면 ACME 프로토콜을 통해 별도의 수작업 없이도 유효한 TLS 인증서를 발급받을 수 있다. 이 글에서는 CertManager 설치부터 시작해, DNS 공급자별로 AWS Route53, Google CloudDNS, Cloudflare를 활용해 인증서를 발급받는 전체 흐름을 단계별로 정리해본다. 또한 ACME challenge 방식에 대한 배경 지식도 함께 소개하며, 인..

Kubernetes Autoscaling & Karpenter

Overview오늘은 Kubernetes에서 클러스터와 워크로드의 리소스를 효율적으로 조절해주는 오토스케일링(Autoscaling) 개념과, AWS 환경에 최적화된 노드 자동 확장 도구인 Karpenter에 대해 알아본다.Kubernetes의 전통적인 오토스케일링 구성 요소인 HPA, VPA, CA 각각의 역할을 이해하고, 이를 대체하거나 보완하는 Karpenter의 장점과 차별점을 비교해본다.이를 통해 동적인 트래픽 변화나 다양한 워크로드 조건에서 클러스터의 유연성과 비용 효율성을 어떻게 확보할 수 있는지 학습해보자.        Kubernetes Autoscaling이란?Kubernetes Auto Scaling은 Kubernetes 클러스터가 워크로드에 따라 용량을 자동으로 조정하는 기능을 말한다..

Helm Chart 작성방법

Overview 지난 시간에는 Helm의 개념과 주요 명령어에 대해 학습했다.이번 글에서는 Helm Chart를 직접 작성하는 방법에 대해 알아보며, Helm을 실무에 적용하기 위한 기초 체력을 다져본다. `helm create` 명령어로 생성된 기본 템플릿 구조를 살펴보고, values.yaml 값을 어떻게 활용해 템플릿과 결합되는지 실습을 통해 확인해본다.또한 `--dry-run` 및 `--debug` 옵션을 활용한 배포 전 사전 점검 방법까지 다룬다.  Helm Chart 구조에 대한 이해는 향후 Helm 기반의 마이크로서비스 배포 및 GitOps 전략 수립 시 필수적인 기초가 된다.      📅 관련 글2022.09.06 - [Container Orchestration/Kubernetes] - ..

Helm 이란? (Kubernetes Package manager)

OverviewKubernetes 환경에서 반복적인 리소스 배포를 효율화하고자 할 때, 단순한 kubectl apply만으로는 한계가 있다. 이럴 때 유용하게 활용되는 것이 바로 Helm이다. Helm은 Kubernetes용 패키지 매니저로, 애플리케이션을 정의하고, 설치하고, 업그레이드하는 작업을 코드로 템플릿화하여 수행할 수 있도록 도와준다. Helm을 사용하면 복잡한 Kubernetes 리소스 정의도 하나의 패키지(Chart)로 관리할 수 있고, 배포, 업데이트, 롤백까지 일관되고 쉽게 처리할 수 있다. 이 글에서는 Helm의 개념과 구조부터 설치 방법, 실무에서 자주 사용하는 명령어, 그리고 helm create를 통한 차트 생성 및 관리 방법까지 실용적인 내용을 정리했다. Helm을 처음 접하거..

Kuberntes Service Account란?

OverviewKubernetes 클러스터를 운영하다 보면 사람(사용자)뿐만 아니라 클러스터 내부에서 실행되는 애플리케이션(Pod)도 API 서버와 안전하게 통신할 수 있도록 인증 메커니즘이 필요하다. 오늘은 바로 이러한 역할을 담당하는 Kubernetes Service Account에 대해 알아보고, 그 동작 원리와 실제 실습 예제를 통해 내부 동작을 살펴보려고 한다. 이 글에서는 User Account와 Service Account의 차이부터, 쿠버네티스 버전별 토큰 생성 방식, 자동 마운트 설정, 토큰 회전과 RBAC 연동까지 실무에서 꼭 알아야 할 내용을 정리해보았다. 서비스 어카운트를 안전하고 효율적으로 관리하기 위한 보안 설정 및 실습 예제까지 포함되어 있으니, 서비스 계정 기반 인증을 제대로..

Kubernetes Secret이란?

OverviewKubernetes에서 민감한 정보를 다룰 때 가장 먼저 고려해야 할 리소스가 바로 Secret이다.이번 글에서는 Kubernetes Secret의 개념부터 다양한 Secret 유형(Opaque, TLS, Docker config, Basic Auth 등), 그리고 실무에서 많이 쓰이는 External Secrets까지 폭넓게 다뤄보려 한다. 또한 다양한 생성 방법(CLI, YAML, base64, stringData 등)과 실제 사용하는 패턴(환경 변수, volume 마운트)까지 함께 정리했다.Kubernetes 클러스터 보안을 강화하고, 민감 데이터를 안전하게 관리하는 데 도움이 되는 실용 가이드가 될 것이다.         Kubernetes Secret이란? Kubernetes 시크..

반응형