목록분류 전체보기 (53)
근묵자흑
쿠버네티스(Kubernetes, K8s)는 컨테이너화된 애플리케이션을 자동화된 방식으로 배포, 확장 및 관리하기 위한 오픈소스 플랫폼입니다. 오늘은 쿠버네티스의 핵심 구성 요소인 Pod, ReplicaSet, Deployment에 대해 자세히 알아보겠습니다.1. Pod: 쿠버네티스의 기본 단위Pod이란?Pod은 쿠버네티스에서 컨테이너를 관리하는 가장 작은 배포 단위입니다. Pod이 생성되면 쿠버네티스 클러스터 내에서 고유한 IP 주소를 할당받게 됩니다.Pod의 특징하나의 Pod에는 하나 이상의 컨테이너가 포함될 수 있음 (pod ≠ container)일반적으로 하나의 애플리케이션 컨테이너를 하나의 Pod으로 실행Pod 내의 모든 컨테이너는 네트워크 네임스페이스를 공유Pod은 임시적(Ephemeral)인 ..
Kubernetes에서 Pod을 배포할 때 다양한 오류와 실수가 발생할 수 있습니다. 이러한 문제들은 애플리케이션 가용성, 성능, 그리고 클러스터 전체의 안정성에 영향을 미칠 수 있습니다. 이 글에서는 가장 흔히 발생하는 오류들과 그 해결 방법, 그리고 개발자와 운영자들이 자주 범하는 실수에 대해 살펴보겠습니다.1. 리소스 관리: Requests와 Limits리소스 관리는 Kubernetes에서 가장 중요하면서도 가장 자주 실수하는 부분입니다. 리소스 요청(requests)과 제한(limits)을 올바르게 설정하지 않으면 애플리케이션 성능과 클러스터 안정성에 직접적인 영향을 미칩니다.자주 발생하는 리소스 관련 실수리소스 요청을 설정하지 않거나 매우 낮게 설정resources: {} # BestEffor..
Docker Compose란?Docker Compose는 단일 서버에서 여러 개의 컨테이너를 하나의 서비스로 정의하고 컨테이너 묶음으로 관리할 수 있는 도구입니다. 복잡한 애플리케이션을 구성하는 여러 컨테이너를 함께 정의하고 실행할 수 있게 해줍니다.Docker Compose를 사용하는 이유여러 컨테이너가 하나의 애플리케이션으로 동작할 때 Docker Compose를 사용하지 않으면 각 컨테이너를 하나씩 생성해야 합니다. 예를 들어, WordPress와 MySQL로 구성된 웹 애플리케이션을 실행하려면 다음과 같이 두 개의 run 명령어를 입력해야 합니다:$ docker run --name wordpress_db -d mysql:8$ docker run -d -p 8080:80 \--link wordpre..
2.1 도커 이미지와 컨테이너2.1.1 도커 이미지도커 이미지는 애플리케이션과 그 실행 환경을 패키징한 읽기 전용 템플릿입니다. 이미지는 컨테이너 실행에 필요한 모든 요소를 포함하고 있어 어떤 환경에서도 동일하게 작동합니다.이미지의 주요 특징:계층화된 구조: 각 레이어는 이전 레이어에 대한 변경사항을 나타냅니다.불변성(Immutability): 한번 생성된 이미지는 변경되지 않습니다.효율성: 레이어는 여러 이미지 간에 공유될 수 있어 디스크 공간을 절약합니다.버전 관리: 태그를 사용하여 여러 버전의 이미지를 관리할 수 있습니다.이미지 관련 주요 명령어:이미지 검색:docker search ubuntu # Docker Hub에서 ubuntu 관련 이미지 검색이미지 다운로드:docker pull ubunt..
IntroTerraform을 업무 환경에서 사용하면서 여러 의문점이 생겨났습니다. Terraform은 IaC(Infrastructure as Code) 도구이지만, 실제로는 '코드'로서 대하지 못하는 경우가 많았습니다. 구성원들 사이에 코드 리뷰가 부족하고, 변경 이력 관리가 어려웠으며, 초기 환경 구성 후 콘솔에서 수작업으로 변경하는 경우도 많았습니다.이번 글에서는 Terraform 코드를 여러 구성원이 함께 효과적으로 관리할 수 있게 해주는 Atlantis를 소개하고, Kubernetes 환경에서 Helm을 사용해 배포하는 방법을 알아보겠습니다.또한, Github Pull Request를 통한 협업 워크플로우에 대해 설명하겠습니다.Atlantis란?Atlantis는 Pull Request를 통해 Te..
소개Terraform은 강력한 Infrastructure as Code(IaC) 도구이지만, 팀 단위에서는 체계적인 관리가 필요합니다. 이 글에서는 팀에서 Terraform을 효과적으로 활용하는 방법에 대해 알아보겠습니다.목차코드형 인프라(IaC) 도입애플리케이션 코드 vs 인프라 코드 워크플로우팀 단위 Terraform 관리 전략Atlantis를 활용한 자동화실전 적용 가이드1. 코드형 인프라(IaC) 도입버전 관리의 중요성모든 인프라 코드는 버전 관리 시스템에서 관리되어야 합니다:Terraform 설정 파일문서(README.md)환경 설정 파일테스트 코드데이터베이스 스키마저장소 구조infrastructure/├── modules/ # 재사용 가능한 모듈│ ├── networ..