분류 전체보기 33

쿠버네티스 네트워크이해하기(Kind, Pause, Ephemeral Container, FlannelCNI)

Overview 지난 글에서 도커 네트워크를 확인한 것을 바탕으로 쿠버네티스 네트워크 구성을 살펴보겠습니다. 블로그 내용은 CloudNet@ KANS3 스터디를 참고하였습니다.Kind(Kubernetes in Docker)Kind는 도커 컨테이너 위에 로컬 kubernetes 클러스터를 실행하기 위한 도구 입니다. Kind는 Kubernetes 클러스터를 로컬 환경에서 손쉽게 시뮬레이션하고, 개발, 테스트, 학습 목적으로 사용됩니다.Docker(Host) 안에 또 다른 Docker를 실행하여 쿠버네티스 Control Plane과 Work Node를 구성합니다.Mac에서의 환경 구성M1 MAX 에서 구성docker 설치 Install Docker Desktop on MacInstall Docker for ..

Cloud Tech 2024.09.06

컨테이너 구성 이해와 도커 취약점 점검하기

OverviewCloudNET@ KANS3기 스터디에서 실습한 자료를 공유합니다.컨테이너의 세부 원리를 이해하고, 도커 없이 컨테이너를 구성하겠습니다.또한, KISA 도커 보안 취약점을 확인하겠습니다.컨테이너컨테이너는 애플리케이션과 실행에 필요한 모든 파일, 라이브러리, 의존성 등을 하나의 패키지로 묶어서 독립적으로 실행할 수 있는 가상화된 환경입니다. 가상 머신(VM)과 비교하였을 때 컨테이너 환경은 호스트 운영체제의 커널을 공유하므로 실행에 필요한 리소스가 적고, 가볍습니다. 또한 CPU, 메모리, 디스크 등의 자원을 보다 효율적으로 사용할 수 있습니다.컨테이너 환경은 호스트 운영체제의 커널을 공유하나, 프로세스는 격리합니다. 프로세스 격리는 리눅스의 독립된 환경(pivot-root, namespac..

Cloud Tech 2024.08.30

OpenTofu 와 Atlantis 연동하기

OverviewOpenTofu을 이해하고, Terraform Runner인 Atlantis와 연동하여 구성 동작을 확인하겠습니다.OpenTofu ?OpenTofu의 배경은 Terraform의 라이센스 변경과 관련이 있습니다. Terraform은 오랫동안 오픈 소스로 제공되었으나, 2023년 8월에 HashiCorp가 Terraform을 포함한 여러 제품의 라이센스를 변경하면서 더 제한적인 Business Source License(BSL)를 도입했습니다. BSL 도입에 따라 Terraform을 서비스 형태로 제공하거나, 상업적 목적으로 대규모로 사용하는 경우 라이센스 비용을 지불해야 합니다.(출처: GeekNews) 이에 따라 오픈소스 진영에서는 Terraform을 포크하여 만든 도구로 OpenTofu를..

Cloud Tech 2024.08.03

Kafka on EKS

OverviewAmazon EKS에 Apache Kafka를 배포하고, 여러 운영 시나리오를 실습하겠습니다. 해당 글은 AWS 공식문서를 참고하였습니다. Kafka on EKSApache Kafka는 이벤트 기반 아키텍처를 가진 분산 스트리밍 플랫폼입니다. Kafka는 수평 확장 가능하고, 내결함성이 있으며, 성능이 뛰어납니다. 내결함성 : 메세지를 생산하는 Producer와 메세지를 소비하는 Consumer를 분리하여 서로의 영향도 없이 메세지를 비동기적으로 통신할 수 있습니다.수평 확장 : Kafka는 Broker를 통해 메세지를 처리합니다. 메세지 양에 따라 Broker를 확장하여 많은 메세지를 처리할 수 있습니다.다만, Kafka 클러스터를 수동으로 관리하고 확장이 어렵고, 시간이 많이 걸릴 수 ..

Cloud Tech 2024.07.27

EKS에서 Atlantis 구성하기

Overview오픈소스 Terraform Runner 툴인 Atlantis를 이해하고, EKS 환경에서 구성하겠습니다. AtlantisAtlantis는 Terraform 기반 인프라 코드 변경을 관리하는 자동화 도구로,GitHub, GitLab, Bitbucket 등과 통합되어 PR(Pull Request) 이벤트를 통해 plan 및 apply 명령을 실행합니다.Terraform Cloud와 비교하여 Atlantis는 테라폼 부가 기능이 없지만,비용이 무료이며 자체 호스팅할 수 있다는 장점이 있습니다.아틀란티스 아키텍처는 다음과 같습니다.VCS Controller(코드 관리 시스템 컨트롤러)에서 코드 관리 툴의 Comment, PR 이벤트를 핸들링하여 테라폼 명령어을 수행합니다. 관련 내용Runner에서..

Cloud Tech 2024.07.14

EKS Karpenter로 부드럽게 Migration 하기

OverviewKarpenter 버전이 어느덧 v0.37이 되었습니다. Karpenter v0.5 이상부터는 정식 버전 (GA, General Availability) 가 되기에 빠른 시일 내 CA 대신 Karpenter 도입을 하는 기업이 더욱 많아질 것이라 예상합니다. 이번 장에서는 Karpenter를 운영 환경에 도입하기 위한 검토 단계로 Karpenter를 테라폼으로 구성하고,고려사항들을 실습 환경에서 구성하는 내용을 다룰 예정입니다.KarpenterKarpenter EC2 Fleet 기반의 클러스터 오토스케일러입니다. 기존 ASG와 달리 EC2 Fleet으로 노드를 구성하여 빠른 노드 프로비저닝 속도, 다른 인스턴스 타입간의 구성 및 비용최적화로 노드 통합 등의 기능이 지원됩니다.Karpente..

Cloud Tech 2024.07.06

테라폼 모듈을 활용한 Cloudwatch 알람 자동화(심화)

Overview알람 자동화 함수에 대상 AWS 서비스를 추가하고 스케쥴러를 설정하겠습니다.인프라 엔지니어가 내부 원리 및 테라폼과 관계없이 AWS 콘솔에서 태그만 설정하면 자동으로 알람이 설정하도록 구성하였습니다.1. 람다 함수 트리거 설정CloudWatchAutoAlarms 은 대상 자원이 생성/삭제되었을 때만 트리거가 호출됩니다. 인스턴스 자원이 이미 생성되어 있는 경우에는 알람 자동화 설정 대상에 제외되며 추가 설정이 필요합니다. 이에 람다 함수 트리거를 설정하여 스케쥴러를 설정하여 람다 함수가 호출되도록 설정하겠습니다.람다 함수 트리거 종류스케쥴러의 경우 예약 표현식에서 설정이 가능합니다.# 1분마다 트리거 호출 rate(1 minute) # 일일마다 트리거 호출 # cron(Minutes Hou..

Cloud Tech 2024.06.29

테라폼 모듈을 활용한 CloudWatch Alarm 자동화

OverviewCloudwatch 알람 자동화 구성을 위해 오픈소스 (CloudWatchAutoAlarms ) 를 참고하여 아키텍처를 개선하고, 배포 코드를 Cloudformation에서 Terraform으로 변환하겠습니다. 프로젝트는 필자의 깃허브를 참고해주세요.작업한 모듈은 필자의 깃허브를 참고해주세요.테라폼 모듈 구성 인프라 아키텍처CloudWatchAutoAlarmsCloudwatch 알람 자동화 필요성은 다음과 같습니다.동적 인프라 알람 : 변화하는 인프라에 맞춰 실시간으로 알람을 설정합니다.통일화된 모니터링 설정: 모든 서비스와 인프라를 하나의 모니터링 시스템으로 일원화하여 관리합니다.에포트 감소 : Cloudwatch 는 일괄 알람 설정 기능을 제공하지 않습니다. 서비스가 많은 경우 에포트가..

Cloud Tech 2024.06.22

Terraform 내부 로직 이해

Overview Terraform 내부 로직을 이해하기 위해 학습한 내용을 공유합니다. TerraformTerraform(이하 테라폼)은 코드형 인프라스트럭처(IaC) 도구입니다. 코드를 통해 인프라를 구성하고 관리하는데 사용됩니다. 테라폼 아키텍처는 다음과 같습니다.Terraform Core : 테라폼 파일(.tf)를 구문 분석하고 실행 계획을 생성하며 리소스의 현재 상태(.tfstate)를 관리합니다.Plugins : Terraform과 클라우드 제공업체, SaaS 제공업체, 그리고 기타 API 서비스 간의 상호작용을 담당합니다.Upstream API: 클라우드 제공업체의 API 로, 테라폼이 리소스를 관리하기 위해 호출하는 API 입니다.사용자가 정의한 테라폼 파일(.tf)을 통해 인프라의 상태를 ..

Cloud Tech 2024.06.15

GitOps Bridge 패턴을 활용한 EKS Blue/Green 워크로드 마이그레이션 전략

OverviewGitOps Bridge 패턴을 활용하여 EKS 클러스터 간의 Blue/Green 워크로드 마이그레이션 전략을 소개합니다. 해당 글은 Amazon EKS Blueprints for Terraform 의 예제(blue-green-upgrade) 를 참고하여 작성하였습니다.EKS 멀티 클러스터 버전 업그레이드해당 전략은 EKS 버전 업그레이드를 위해 구성되었습니다. EKS 버전은 기간이 지남에 따라 지원이 종료되며 추가 지원 종료일 이후에는 버전이 자동으로 업그레이드 됩니다. 자동으로 업그레이드되면 되는거 아니야 라고 할 수 있지만, 버전간의 호환성 및 워크로드의 순단이 발생함으로 사전에 대비가 필요합니다.표준 지원 종료일 이후에는 추가 지원 종료일까지 비용이 약 5배 정도 더 부과됩니다.EK..

카테고리 없음 2024.04.27