프로그래밍공부(Programming Study)/DevOps7 Argo Rollout과 AWS Spot Termination Event 대응: Pod 하나일 경우 순단 방지 및 Pod Drain 후 즉시 재배치하는 방법 1. Argo Rollout이란?Argo Rollout은 Kubernetes의 고급 배포 전략 도구로, 무중단 배포를 지원합니다. 카나리 배포나 블루-그린 배포 등 다양한 배포 방식을 쉽게 구현할 수 있으며, 실시간 모니터링 및 트래픽 제어 기능도 제공합니다.2. AWS Spot Termination Event란?AWS Spot Termination Event는 AWS에서 Spot Instance가 종료되기 2분 전에 발생하는 이벤트로, 이를 활용해 Pod를 안전하게 drain하고 다른 노드로 재배치할 수 있습니다. 하지만, Pod 하나만 존재하는 경우에는 순단(서비스 중단)이 발생할 수 있습니다.3. Pod 하나일 경우 순단 발생 문제Pod가 하나만 있는 경우, Spot Instance 종료 시 해당 .. 프로그래밍공부(Programming Study)/DevOps 2024. 9. 20. Kubernetes에서 QoS와 Resource Request 및 Limit의 개념: CPU와 Memory의 의미 1. QoS란 무엇인가?QoS(Quality of Service)는 Kubernetes에서 파드를 실행할 때, 그 파드에 대한 자원 할당의 우선순위를 관리하는 메커니즘입니다. Kubernetes 클러스터는 여러 파드를 동시에 실행하기 때문에, 각 파드에 적절한 자원 할당 및 제한을 설정해야 효율적으로 리소스를 사용할 수 있습니다.Kubernetes는 파드의 QoS 클래스를 세 가지로 나눕니다:Guaranteed: 요청된 자원과 제한이 일치하는 경우. 이 클래스는 가장 높은 우선순위를 갖습니다.Burstable: 요청된 자원이 제한보다 작을 때. 유연한 사용이 가능하지만, 자원이 부족할 경우 제한이 있을 수 있습니다.BestEffort: 자원 요청이 전혀 설정되지 않은 경우. 우선순위가 가장 낮고, 자원이.. 프로그래밍공부(Programming Study)/DevOps 2024. 9. 20. mTLS란 무엇인가? Istio에서 mTLS 구성 방법과 보안 강화하기 1. mTLS란 무엇인가?mTLS(양방향 TLS, Mutual TLS)는 클라이언트와 서버 간의 통신에서 서로의 신원을 확인하는 인증 방식입니다. 일반적인 TLS(Transport Layer Security)는 서버의 신원을 클라이언트에게 인증하는 방식이지만, mTLS는 양쪽 모두의 신원을 인증합니다. 이 방식은 보안이 중요한 환경에서 더 안전한 통신을 보장합니다.mTLS는 클라이언트와 서버가 각자의 인증서를 교환하고 검증하는 과정을 거칩니다. 이를 통해 네트워크에 연결된 엔터티들 간의 신뢰할 수 있는 통신을 가능하게 합니다.2. mTLS의 특징과 장점특징:서버와 클라이언트 모두 인증: 클라이언트와 서버가 각각 인증서를 사용하여 상호 인증.암호화된 데이터 통신: 데이터는 암호화된 채로 전달되어 중간에서 .. 프로그래밍공부(Programming Study)/DevOps 2024. 9. 11. 빅쿼리(BigQuery)란? 구글 클라우드의 강력한 데이터 웨어하우스 솔루션 1. 빅쿼리(BigQuery)란?빅쿼리(BigQuery)는 구글 클라우드 플랫폼(Google Cloud Platform)에서 제공하는 완전 관리형, 서버리스 데이터 웨어하우스 솔루션입니다. 대규모의 데이터를 실시간으로 분석하고, 빠르게 쿼리할 수 있는 기능을 제공합니다. 빅쿼리는 SQL을 사용하여 데이터를 분석하며, 뛰어난 확장성과 성능을 자랑합니다.2. 빅쿼리의 주요 특징서버리스: 사용자가 인프라를 관리할 필요 없이 데이터 웨어하우스를 사용할 수 있습니다.확장성: 수백 테라바이트부터 페타바이트까지의 대규모 데이터를 처리할 수 있습니다.고속 쿼리 처리: 분산 처리 기술을 통해 대규모 데이터의 쿼리를 빠르게 처리합니다.통합성: 구글 클라우드의 다른 서비스와 원활하게 통합됩니다.3. 빅쿼리의 주요 구성 요소.. 프로그래밍공부(Programming Study)/DevOps 2024. 8. 16. 쿠버네티스(Kubernetes, k8s) 컨트롤플레인과 데이터플레인: 구조와 통신 방법 이해하기 1. 쿠버네티스란?쿠버네티스(Kubernetes)는 컨테이너화된 애플리케이션의 자동 배포, 확장, 관리를 위한 오픈소스 플랫폼입니다. 다양한 클러스터 환경에서 애플리케이션을 안정적으로 운영할 수 있도록 돕는 역할을 합니다.2. 쿠버네티스 아키텍처 개요쿠버네티스는 크게 두 가지 주요 구성 요소로 나눌 수 있습니다: 컨트롤플레인(Control Plane)과 데이터플레인(Data Plane). 이 두 구성 요소는 클러스터의 상태를 관리하고, 애플리케이션이 적절하게 실행되도록 보장하는 중요한 역할을 합니다.3. 컨트롤플레인(Control Plane)컨트롤플레인은 쿠버네티스 클러스터의 전반적인 상태를 관리하고 조정하는 구성 요소들로 이루어져 있습니다. 주요 구성 요소는 다음과 같습니다:API 서버 (kube-ap.. 프로그래밍공부(Programming Study)/DevOps 2024. 8. 13. [Docker] 1. 개요 Docker란 컨테이너 기술을 지원하는 다양한 프로젝트 중 하나이며, 컨테이너 기술의 사실상 표준 컨테이너 기반 가상화 플랫폼으로, 애플리케이션을 개발, 배포 및 실행하기 위한 오픈 소스 소프트웨어 애플리케이션과 해당 종속성을 단일 패키지로 묶어서 호스트 운영 체제에서 격리된 환경에서 실행 가능 linux의 ns(namespace)와 cgroups와 같은 커널 기능 사용하여 가상화 Docker를 구성하는 개념/원리 이미지 : 필요한 프로그램과 라이브러리, 소스를 설치한 뒤 만든 하나의 파일 컨테이너 : 이미지를 격리하여 독립된 공간에서 실행한 가상 환경, 가상머신을 사용하여 각 MS(Micro Service)를 격리하는 기술 linux namespace : 각 프로세스가 파일 시스템 마운트, 네트워크, .. 프로그래밍공부(Programming Study)/DevOps 2023. 3. 25. [Docker] 2. 라이프 사이클 Docker Life cycle pull : registry로부터 Image 다운로드 push : image를 Registry에 저장 권한이 필요함 run : pull + create + start pulling이 되어 있는 image는 create + start만 진행 run을 할 때마다 새로운 컨테이너가 만들어짐 run은 반드시 create가 필요한 경우에만 사용 -> create, start 따로 사용하는 게 바람직 stop : 메모리에서 컨테이너가 내려감 rm : 컨테이너 삭제 -> 이미지 삭제는 안됨 rmi : 이미지 삭제 commit : 사용하고 있던 기존 컨테이너를 이미지화 프로그래밍공부(Programming Study)/DevOps 2023. 3. 25. 이전 1 다음 728x90