eks 19

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

Karpenter 고려사항

Overview 카펜터에 대해 검색하면 여러 도입 사례를 확인할 수 있습니다. 도입 사례들을 참고하여 운영 고려사항들을 정리하겠습니다. 노드 자체 제어 기능 비활성화 Karpenter에서는 비용 감소화를 목적으로 노드를 자체 중단 제어합니다. 다만, 파드 레벨에서 라이프사이클이 적용되지 않은 상태라면 순단이 발생할 수 있습니다. 파드 종료 라이프사이클로 prestop 이나 PDB 을 설정하는 방법은 제니퍼소프트 테크 블로그 글을 참고해주세요. 다만, 상황에 따라 PDB와 라이프사이클 설정이 할 수 없는 상황이라면 중단 제어를 자체적으로 중지해야 합니다. 아래 NodePool annotation을 통해 중지 제어를 중지할 수 있습니다. 동일한 이유로 Drift 기능의 비활성화도 고려해야 합니다. Drift..

Cloud Tech 2024.04.07

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

오픈소스를 활용한 Amazon EKS 최적화 AMI 구성하기

지난 포스트 글에 이어 Packer를 통해 EKS Node에 대한 최적화 AMI를 구성하겠습니다. 먼저, AWS 공식문서를 참고하면 EKS 최적화 AMI 구성 내용을 확인할 수 있는데요. 주요 구성 요소와 특징은 다음과 같습니다. 최신 EKS addon 구성 AWS IAM 인증 관리 커널 업그레이드 및 최적화 워크 노드 필수 패키지 설치 : 컨테이너 엔진 설치 보안 및 프라이버시 이벤트 추적 GPU 드라이버 설치 및 가속 설정 공식 문서 마지막을 참고하면, 최적화 AMI를 빌드하는 데 사용되는 오픈소스 스크립트를 확인할 수 있습니다. amazon-eks-ami https://github.com/awslabs/amazon-eks-ami/tree/master https://awslabs.github.io/a..

Cloud Tech 2024.02.04

Ansible 개념 이해와 k8s 클러스터 관리하기

A101 3기(=Ansible 101 Study)는 Ansible 실무 실습 스터디입니다. CloudNet@ 가시다 님이 진행하시며, 책 "앤서블로 시작하는 인프라 자동화"을 기반으로 진행하고 있습니다. 여러 서버를 통합해서 관리할 수 있는 도구를 찾고 있던 도중 Ansible를 알게 되었습니다. 쿠버네티스 실무자인 저에게 Ansible 는 IaC 도구로 테라폼의 영향으로 더 이상 안쓰는 것으로 알았지만, 클러스터 구축 이후의 k8s 운영 관리, 클러스터 외 서버(ec2) 관리 목적으로 사용되더군요. 운영 측면에서 Ansible을 통해 어떻게 서버를 관리할 수 있는 지 알아보겠습니다. Ansible ? Ansible 이란 오픈소스 자동화 도구로 다양한 IT 작업을 자동화하는데 사용되는 도구입니다. Ans..

Cloud Tech 2024.01.14