전체 글
-
[쿠버네티스] PV/PVC, Deployment, Service, HPA카테고리 없음 2025. 6. 8. 21:07
이번 글에서는 Kubernetes에서 실제 서비스를 배포하고 확장하는 데 핵심이 되는 리소스들 — Deployment, Service, HPA — 그리고 스토리지 리소스 PV/PVC에 대해 정리합니다.Deployment - 배포의 표준, 무중단 업데이트의 핵심Deployment는 애플리케이션의 새로운 버전을 배포할 때 사용하는 핵심 오브젝트입니다. 기존에 실행 중인 Pod들을 교체하면서 서비스의 중단 없이 배포를 진행할 수 있습니다. RollingUpdate 전략기존 Pod을 하나씩 종료하고, 새로운 버전을 하나씩 생성하여 순차적으로 교체합니다.strategy: type: RollingUpdate rollingUpdate: maxUnavailable: 25% # 최대 중단 가능한 Pod 비율..
-
[쿠버네티스] Configmap, Secret카테고리 없음 2025. 6. 8. 20:52
Kubernetes에서 애플리케이션을 환경에 맞게 유연하게 구성하기 위해 사용되는 대표 리소스 두 가지:ConfigMap: 환경변수, 설정 파일 등 민감하지 않은 정보Secret: 비밀번호, API 키 등 민감한 정보 (Base64 인코딩)ConfigMap과 Secret 비교구분용도특징ConfigMap환경 설정 정보 (환경변수, 설정 파일 등)일반 텍스트 저장Secret민감 정보 (비밀번호, 토큰 등)Base64 인코딩되어 저장Pod에 주입하는 방법1. 환경변수로 주입 (envFrom)# ConfigMap과 Secret을 환경변수로 주입envFrom: - configMapRef: name: my-config # ConfigMap의 이름 참조 - secretRef: name: ..
-
[쿠버네티스] Probe카테고리 없음 2025. 6. 8. 20:39
Kubernetes의 Pod의 상태를 체크하는 핵심 기능인 probe을 알아보겠습니다.쿠버네티스 프로브란?쿠버네티스에서는 컨테이너 상태를 파악하기 위해 3가지 probe를 제공합니다.Probe 종류역할실패 시 동작주요 활용 전략startupProbe앱 기동 중인지 확인실패 시 컨테이너 재시작초기 부팅 지연 대응. readiness/liveness 보호 역할readinessProbe트래픽 받을 준비 되었는지 확인실패 시 서비스에서 제외트래픽 차단으로 사용자 오류 방지 및 부하 완화livenessProbe애플리케이션이 살아있는지 확인실패 시 컨테이너 재시작치명적 장애에 대한 자동 복구 1. 앱 기동 중: startupProbe초기화 중엔 API 응답이 없지만, startupProbe는 재시작하지 않고 기다립..
-
[쿠버네티스] 쿠버네티스 오브젝트란?카테고리 없음 2025. 6. 1. 04:07
Kubernetes 오브젝트는 클러스터 내 리소스의 상태와 구성을 정의하는 선언적 설계도입니다.사용자는 원하는 시스템 상태(Desired State)를 YAML 형식으로 정의하고, 쿠버네티스는 이를 기준으로 클러스터를 자동으로 조율(Orchestration)합니다.오브젝트 사용의 이점의도한 상태를 선언할 수 있음자동화된 복구 및 스케일링 가능형상 관리 및 변경 이력 추적 용이환경별 구성 분리 및 재사용 가능오브젝트 분류범위오브젝트 종류Cluster 레벨Namespace, PersistentVolume(PV)Namespace 레벨Deployment, Service, PVC, Secret, ConfigMap, HPA 등Namespace 레벨 오브젝트는 반드시 네임스페이스에 소속되어야 하며, Cluster 레..
-
[쿠버네티스] 쿠버네티스 표준 생태계로 편해진 IT 인프라 구축카테고리 없음 2025. 6. 1. 03:55
Kubernetes(K8s)는 단순히 컨테이너를 자동화하는 오케스트레이터를 넘어, 현대 IT 인프라의 표준 플랫폼으로 자리 잡고 있습니다.쿠버네티스를 중심으로 한 일관된 개발·운영 체계CNCF 생태계: Prometheus, Grafana, Loki, Helm 등과의 호환성이 뛰어나며, 개발부터 운영까지 모든 구성 요소를 Kubernetes 기반으로 통합 가능Infrastructure as Code: YAML 파일 기반 선언적 구성 → 설정 이력 추적, 재사용 가능, 협업 및 버전 관리에 유리서비스와 운영 도구의 분리: 서비스 코드와 무관하게 로깅/모니터링 도구가 초기부터 통합되어 자동 연동 가능VM 기반 환경의 한계기존의 VM 기반 인프라 환경에서는 개발과 운영의 경계가 모호하고, 시스템이 복잡하게 얽혀..
-
[쿠버네티스] 설치하기카테고리 없음 2025. 6. 1. 03:42
다음은 온프레미스 환경에서 MacOS + Rocky Linux + UTM 기반으로 Kubernetes 클러스터를 구성하는 과정을 정리한 가이드입니다. 아래 내용은 실습과 학습에 최적화된 구조로, Kubernetes 설치의 핵심 개념과 실제 구현 절차를 함께 설명합니다.설치 환경 준비Linux 배포판: Rocky Linux 9.2 (aarch64)가상화 도구: UTM (macOS에서 VirtualBox 미지원 시 대안)VM 설정"새로운 가상 머신 생성" 클릭"가상화" 클릭"Linux" 클릭"찾아보기" 클릭 > "Rocky Linux 9.2" 선택CPU 4 코어, Memory 4096 MiB 로 설정저장소의 드라이브 크기를 32GiB 로 설정공유 디렉터리는 선택하지 않고 "계속" 버튼 클릭이름에 "k8s-m..
-
[쿠버네티스] Linux OS, Container, Container Orchestration, Kubernetes와 Container Runtime 정리카테고리 없음 2025. 6. 1. 01:56
쿠버네티스를 잘 이해하려면 다음 6가지 키워드를 이해하면 좋다.Linux OSContainerContainer OrchestrationCloud ServiceVirtualizationDevOpsLinux OS쿠버네티스를 설치할 때, "어느 OS에 쿠버네티스를 설치할까?" 를 정해야 하므로 가장 많이 사용하는 Linux 배포판에 대해서 알고 있으면 도움이 된다.# 간단한 리눅스 계보Unix └─ Linux ├─ Debian ── Ubuntu └─ Red Hat ── Fedora ──(안정화)── Red Hat Enterprise Linux (RHEL) ──(복제)── CentOS Unix : 초창기 운영체제이며 유료이다. 아직 일부 기업에서 사용되나 사용되는 빈도가 점점 ..
-
React Native로 모바일과 웹을 한번에 개발하기개발여정 2024. 7. 19. 18:31
무더위가 점점 무르익어가는 7월 초쯤... 회사에서 현재 React Native로 개발된 애플리케이션의 기능을 웹에서도 제공할 수 있는지 검토해달라는 요청을 받게 되었습니다... 🥲 어떻게 개발할 수 있을까? 🤔처음에는 "꼭 필요한 작업일까요!?", "꼭 해야하나요!?" 라고 말하며 방어를 열심히 했지만 일단 요청을 받았으니 해야하겠죠...!! 혼미해지는 정신을 붙잡고 어떻게 React Native로 개발된 애플리케이션을 웹에서 제공할 수 있을지 고민해 보았습니다. 첫 번째 방안은 React로 웹 애플리케이션을 처음부터 다시 만드는 것이었습니다. 하지만 이 방안은 처음부터 개발해야 하는 고통스러운 작업이 필요할거라 생각이 들었습니다. 회사에서는 한정적인 시간과 최소한의 리소스로 빠르게 결과물을 내기를..