devops 11

kubernetes argocd with helm chart

k8s 기반의 애플리케이션 배포 환경을 구성하려면 argoCD를 활용하는 것이 효율적이다. argoCD 구성 후 application을 생성하게 되면리소스를 GitOps기반으로 관리할 수 있게 된다. GitOps란?Git을 단일 진실 소스로 사용하여 인프라와 애플리케이션 배포를 자동화하고 운영하는 방식을 의미한다. 사용자의 수동 개입 없이 Git 내의 형상관리된 소스에 의해 선언적으로 리소스를 관리하는 기법이다. kubernetes와 argoCD를 활용하면 k8s 기반의 GitOps 구현이 가능해진다. 먼저, argoCD가 무엇인지 정리해보자.ArgoCD란?선언적으로 정의된 git 리소스를 활용하여 k8s cluster에 리소스를 동기화해주는 역할을 수행하는 Continuous Deployment 툴이다..

devops/kubernetes 2025.10.08

Ingress와 Ingress Controller

성능테스트를 진행하던 중 정확히 개념을 알지 못해 막혔던 부분을 기록에 남긴다. 초기에 설정은 다음과 같았다.성능 테스트 툴: k6 (influxdb와 grafana를 사용하여 시각화를 진행하였으나, 리소스 이슈로 인해 k6 단독으로 사용)애플리케이션: docker 기반의 nginx, python3 활용 부하량이 30,000 RPS 정도에 도달하자 Hello world만 출력하는 단순한 로직을 가졌음에도, 백엔드에서 IO Exception / Network Timeout이 다량 발생하였다. 유실률이 지나치게 높아지다보니 보다 많은 리소스 내에서 라운드 로빈 방식의 부하 분산이 필요하다는 생각이 들었고, 백엔드의 안정성을 높이고자 k8s cluster를 사용해서 백엔드를 구성하기로 하였다. 환경은 다음과 ..

devops/kubernetes 2025.09.09

kubernetes argocd (with Kind)

bare metal 환경에 k8s를 설치하는 방법은 다양하다.k3s, rancher (rke2), kube-admin 등 상황에 맞는 것을 선택해서 k8s를 설치하면 된다. 테스트는 보통 삭제/재설치의 용이함을 위해 vm을 많이 사용하는 편인데, macOS에서 vm을 쓰기가 조금 번거로울 것 같아 방법을 찾아보다, 컨테이너 기반의 k8s 환경을 구성할 수 있도록 지원하는 kind를 사용해보기로 했다.이 글에서는 kind 설치부터 시작하여 kind로 k8s 클러스터를 만들 것이다. 추후에 이를 활용하여 SpringBoot 등의 Application을 ArgoCD + GHCR (Github Container Registery)를 활용하여 CI/CD 구성을 진행할 것이다.처음에는 ArgoCD를 활용하려고 하였..

devops/kubernetes 2025.09.04

[k8s] RKE2를 활용한 Kubernetes 환경 구성

k8s 인프라 환경을 구성하는 방법은 여러가지가 있지만, 대표적으로 kubeadm, rke2 (rancher kubernetes engine)이 있다.이번 글에서는 그 중 업무에서 많이 사용하고 있는 rke2를 이용하여 K8S 환경을 구성하는 방법을 정리하려고 한다.이번 글에서 다룰 주제는 다음과 같다.RKE2를 이용한 Kubernetes 환경 구축nginx svc 생성 및 NodePort Test(Optional) k9s, longhorn (csi--container storage interface) with helmk8s cluster를 구성할 때 보통은 한 개의 노드에 하나의 Pod를 배포한다.가령 Redis Cluster를 구성한다고 하면, 아래와 같은 구조로 구성할 수 있을 것이다.control..

devops/kubernetes 2025.07.22

[k8s] 기본 리소스

1. 기본 리소스 (Core Resources)Pod가장 작은 배포 단위로, 하나 이상의 컨테이너를 포함할 수 있음. 같은 네트워크 네임스페이스를 공유함.Node실제 또는 가상의 머신. Kubernetes 클러스터의 워커 노드로, Pod가 실제로 실행되는 장소.Namespace클러스터 내 리소스를 가상으로 격리시키기 위한 단위. 멀티테넌시 구현에 활용됨.ServicePod 집합에 대한 네트워크 접근을 제공하는 추상화. LoadBalancer, ClusterIP, NodePort 등이 있음.VolumePod 간 데이터 공유 및 영속성을 제공하는 저장소. 다양한 유형(CSI, emptyDir, hostPath 등)이 있음. Volume의 경우 PV와 PVC에 대한 이해가 필요하다.PV (Persistent ..

devops/kubernetes 2025.07.19