AEWS 6

SonarQube를 활용한 EKS CleanCode CI /CD 파이프라인 구축하기

Overview클린코드를 위해 SonarQube를 배포하고 AWS CodeSeries를 통해 CI /CD 파이프라인 구성하겠습니다.해당 문서는 EKS 워크샵을 참고하였습니다.CleanCodeCleanCode(이하 클린코드)는 읽기 쉽고 이해하기 쉬운 코드를 뜻합니다. 클린 코드를 유지하면 소프트웨어의 가독성, 유지 보수성 및 신뢰성을 향상시켜 장기적인 개발 비용을 절감할 수 있습니다.유지보수의 용이성: 명확하고 이해하기 쉬운 코드는 유지보수 시 시간과 비용을 줄여줍니다.버그 감소: 잘 구조화되고 명확한 코드는 오류 발생 가능성을 낮춥니다.기술 부채 관리: 클린 코드 접근 방식은 기술 부채를 효과적으로 관리하고 미래의 확장성 및 유연성을 보장합니다.SonarQube클린코드를 유지하기 위한 툴로 SonarQ..

Cloud Tech 2024.04.20

쿠버네티스 오픈소스, Kyverno 이해하기

Overview 쿠버네티스 정책 기반의 솔루션인 Kyverno 을 소개하고 원리와 사용 방법을 이해하겠습니다. Kyverno Kyverno는 Kubernetes용으로 설계된 정책 엔진을 포함하는 PaC(Policy-as-Code) 솔루션입니다. Kyverno를 통해 PSA/PSS 설정을 보완하고, 포드 보안을 강화할 수 있습니다. PSA (Pod Security Admission) 와 PSS (Pod Security Standards) 둘 다 쿠버네티스에서 제공하는 파드 보안 기능으로 PSA는 보안 기준을 강제하는 기능이며, PSS는 파드가 준수해야 할 구체적인 보안 기준을 제공합니다. Kyverno 정책 엔진은 Kubernetes 클러스터에 설치되고 Kubernetes API 서버에 동적 승인 컨트롤러..

Cloud Tech 2024.04.12

Kubeflow로 보는 Karpenter

Overview MLOps 플랫폼 Kubeflow의 Karpenter 활용 사례를 참고하여 구성 원리를 알아보겠습니다. Karpenter, 카펜터 활용 사례를 확인하기 전 카펜터를 확인하겠습니다. 카펜터는 EC2 Fleet 기반의 클러스터 오토스케일러입니다. 다른 클러스터 오토스케일러인 CA(Cluster Autoscaler)와 특징을 비교하면 다음과 같습니다. CA(Cluster Autosclaer) Karpenter 노드 구성 서비스 EC2 Auto Scaling Group EC2 Fleet 노드 구성 관리 ASG가 노드 구성 Karpenter가 구성 주요 특징 - 단일 인스턴스 타입으로만 노드 그룹 구성 가능 - 노드 증감이 약 5분정도 소요됨(ASG를 통한 노드 검사 및 증설 요청) - 노드 그룹..

Cloud Tech 2024.04.07

Terraform AWS Observability Accelerator와 멀티클러스터 Observability 구성하기

Overview EKS 멀티클러스터 옵저버빌리티 구성을 위해 AWS Observability Accelerator을 학습하고 테스트한 내용을 공유합니다. AWS Observability Accelerator AWS Observability Accelerator는 AWS 관리형 관측 가능성 서비스를 사용하여 모니터링, 로깅, 트레이싱를 손 쉽게 구성할 수 있는 모듈입니다. 모듈에서 사용하는 AWS 관리형 관측 가능성 서비스는 다음과 같습니다. Amazon Managed Service for Prometheus: 프로메테우스를 AWS에서 관리형으로 제공하는 서비스입니다. 모듈에서는 metrics 수집에 사용됩니다. AWS Distro for OpenTelemetry: AWS 환경에서 애플리케이션 데이터를 수..

Cloud Tech 2024.03.31

AWS 스토리지 이해와 EKS에서 Kafka를 위한 스토리지 고려사항

Overview EKS에서 활용할 수 있는 스토리지 옵션을 확인하고, 스트리밍 플랫폼인 Kafka(카프카)에서 고려할 수 있는 스토리지를 알아보겠습니다. EKS Storage Class EKS에서는 CSI Driver를 통해 다양한 스토리지를 파드에 적재하여 관리할 수 있습니다. CSI 드라이버(Container Storage Interface Driver)는 쿠버네티스와 스토리지 사이를 제어하는 인터페이스로 다양한 스토리지 시스템과 상호작용할 수 있습니다. 다음의 아키텍처는 EBS CSI Controller를 통해 파드에서 EBS 볼륨을 적재하는 과정입니다. 특정 클래스를 정의한 PVC를 생성합니다. EBS CSI Controller가 PVC (특정 스토리지 클래스) 이벤트를 감지하여 EBS 생성, 인..

Cloud Tech 2024.03.23

Istio On EKS

Overview EKS에서 서비스 매시를 활용하기 위해 ISTIO를 학습한 내용을 정리하겠습니다. 학습 내용은 CloudNet@ 가시다님께서 진행하시는 스터디(AEWS2) 내용을 참고하였습니다. 좋은 자료 공유해주시는 가시다님 무한 감사드립니다! ISTIO 서비스 매시(service Mesh) 서비스 매시는 복잡해진 분산 애플리케이션의 서비스(ex. 마이크로서비스 아키텍처)간 통신을 쉽게 관리하고 안정적으로 운영하기 위해 등장했습니다. 서비스 매시는 서비스 간에 매시 형태의 통신이나 그 경로를 제어하는 것을 뜻합니다. 쿠버네티스로 예를 들면 파드 간 경로에 프록시를 놓고 트래픽 모니터링과 트래픽 컨트롤하여 복잡한 운영 요구 사항을 해결할 수 있게 됩니다.요구 사항에는 A/B 테스트, 카나리아 배포, 속도..

Cloud Tech 2024.03.16