Portainer

Portainer란? 컨테이너 환경을 관리하기 위한 오픈소스 웹 기반 GUI 도구 개요 Docker, Kubernetes 등 다양한 컨테이너 플랫폼을 지원하는 범용 컨테이너 관리 솔루션 직관적인 웹 인터페이스를 통해 컨테이너 환경의 복잡성을 단순화 100만 명 이상의 사용자와 30,000개 이상의 GitHub 스타를 보유한 인기 있는 도구 주요 특징과 기능 컨테이너 관리: 컨테이너의 배포, 시작, 중지, 로그 확인 등을 GUI로 수행 스택 배포: Docker Compose를 사용한 멀티 컨테이너 애플리케이션 배포 지원 볼륨 및 네트워크 관리: 데이터 저장소와 네트워크 구성 관리 이미지 관리: Docker 레지스트리 연동 및 이미지 관리 리소스 모니터링: CPU, 메모리 사용량 등 컨테이너 성능 모니터링 템플릿: 미리 정의된 애플리케이션 템플릿을 통한 간편한 배포 장점 사용 편의성: 명령줄 지식 없이도 컨테이너 관리 가능 중앙 집중식 관리: 여러 Docker 환경을 단일 인터페이스에서 관리 보안 강화: 사용자 및 팀 단위의 접근 제어 기능 제공 확장성: 소규모 프로젝트부터 대규모 엔터프라이즈 환경까지 지원 버전 Community Edition (CE): 무료 오픈소스 버전 Business Edition (BE): 기업용 고급 기능(보안, 감사 등) 제공 버전 Portainer 설치 Host간 볼륨 매칭을 위한 디렉토리 생성 1 mkdir -p /kubernetes/portainer_data Portainerdmf docker run 명령어를 통해 docker에 설치 위에서 생성한 폴더와 마운트 1 docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /kubernetes/portainer_data:/data portainer/portainer-ce:latest Portainer 로그인 웹브라우저 Portainer 서버(예: http://서버IP:9000)에 접근 [처음 접속시] username과 password 입력 Source: hyunyoun ...

November 11, 2024 · 2 min · Me

Envoy

Envoy Envoy는 Kubernetes 환경에서 널리 사용되는 고성능 프록시 서버. Envoy는 C++로 작성된 고성능 분산 프록시로, 대규모 마이크로서비스 아키텍처를 위해 설계되었다. 주요 특징 다양한 프로토콜 지원: HTTP, TCP, gRPC 등을 지원한다. 고급 로드 밸런싱: 다양한 로드 밸런싱 알고리즘을 제공한다. 동적 구성: 실행 중에 설정을 변경할 수 있는 동적 구성을 지원한다. 관찰 가능성: 상세한 메트릭과 로그를 제공하여 시스템 모니터링을 용이하게 한다. Kubernetes에서의 Envoy 활용 Kubernetes 환경에서 Envoy는 주로 다음과 같은 방식으로 활용된다: ...

November 11, 2024 · 2 min · Me

Istio

Istio 마이크로서비스 아키텍처에서 서비스 간 통신을 관리하고 제어하는 서비스 메시(Service Mesh) 플랫폼. Istio는 마이크로서비스 아키텍처에서 서비스 간 통신을 관리하고 보안, 관찰성, 트래픽 제어를 제공하는 도구로, Kubernetes의 기능을 확장하여 복잡한 마이크로서비스 환경을 효과적으로 운영할 수 있게 해준다. Istio의 주요 기능 트래픽 관리: 로드 밸런싱, 서비스 간 트래픽 라우팅 A/B 테스트, 카나리 배포 지원 재시도, 타임아웃, 서킷 브레이커 구현 보안: 서비스 간 상호 TLS(mTLS) 암호화 강력한 인증 및 권한 부여 정책 적용 제로 트러스트 네트워크 구현 관찰 가능성: ...

November 11, 2024 · 2 min · Me

Helm

Helm Helm은 쿠버네티스를 위한 패키지 관리자로, 복잡한 쿠버네티스 애플리케이션의 배포와 관리를 간소화하는 도구. Helm은 쿠버네티스 애플리케이션의 정의, 설치, 업그레이드를 자동화하는 오픈소스 도구로, 복잡한 애플리케이션 구성을 단일 패키지로 관리할 수 있게 해주어, 배포 프로세스를 크게 간소화한다. Helm의 주요 기능 템플릿 엔진: Helm은 강력한 템플릿 엔진을 제공하여 Kubernetes 매니페스트를 동적으로 생성할 수 있게 한다. 이를 통해 환경별로 다른 설정을 쉽게 적용할 수 있다. 예를 들어: 1 2 3 4 5 6 7 8 9 10 apiVersion: v1 kind: Service metadata: name: {{ .Release.Name }}-service spec: type: {{ .Values.service.type }} ports: - port: {{ .Values.service.port }} targetPort: http protocol: TCP 릴리스 관리: Helm은 각 배포를 ‘릴리스’로 관리하며, 롤백이나 업그레이드가 용이하다. 문제가 발생하면 이전 버전으로 쉽게 되돌릴 수 있다: ...

November 11, 2024 · 3 min · Me

Serverless Architecture

Serverless Architecture Serverless Architecture는 개발자가 서버 관리 없이 애플리케이션 로직에 집중할 수 있도록 설계된 클라우드 컴퓨팅 모델로, 이벤트 기반의 자동 확장성과 사용한 만큼만 비용을 지불하는 구조가 핵심이다. Serverless Architecture 는 빠른 개발 속도와 비용 효율성으로 스타트업 및 이벤트 기반 애플리케이션에 적합하나, 장기 실행 작업이나 높은 제어력이 필요한 경우에는 EC2 등의 전통적 아키텍처와의 조합이 필요하다. AWS Lambda + API Gateway + DynamoDB 조합이 가장 널리 사용되며, Serverless Framework 를 통해 멀티 클라우드 환경 구축이 가능하다. ...

September 27, 2024 · 4 min · Me