관리 메뉴

피터의 개발이야기

[kubernetes] AWS CDK와 CDK8s 활용법, 동영상 시청 정리 본문

Kubernetes/cdk8s

[kubernetes] AWS CDK와 CDK8s 활용법, 동영상 시청 정리

기록하는 백앤드개발자 2024. 2. 10. 02:04
반응형

 

 

[kubernetes] 쿠버네티스 목차

 

ㅁ 들어가며

[kubernetes] cdk8s란 무엇인가요? 글을 작성하고 Amazon EKS를 위한 AWS CDK와 CDK8s 활용법이라는 동영상을 보게 되었다.

동영상을 보고 중요 내용을 정리해 보았다. 참고로 slide share를 통해서 keynote도 함께 볼 수 있다.

 

ㅁ AWS CDK와 CDK8S 동영상 시청

 쿠버네티스 클러스터가 여러 개일 경우, 특히 국제서비스인 경우 리전별로 클러스터를 관리해야한다. 이럴 때 YAML을 복붙하여 일일이 수정해야하는 경우가 발생한다. 이를 해결하는 방법은 helm을 통해 템플릿화 하는 것이지만, 프로그래밍 언어를 이용하여 value.yaml에 해당하는 파라메터도 동적으로 할당이 가능하게 만들 수 있다. 특히, helm도 템플릿을 통해 재사용성을 확보하였지만, 프로그래밍 언어를 통해서도 재사용가능한 부분을 함수화 하고 상속의 계층적 구조로 코딩을 한다면, yaml 작성에 효율성을 높일 수 있다.

 

ㅁ AWS CDK란?

AWS CDK란 친숙한 개발 언어로 클라우드 인프라를 정의하게 해주는 소프트웨어 개발 프레임워크이다. 이를 통해 IDE의 인텔리 서포트를 받을 수 있고, 동적으로 변수를 할당하여 자원을 조금 더 쉽고 빠르게 자원을 정의할 수 있다. 

1. 프로그래밍 언어 CDK를 통해 자원을 코드로 작성한다.

2. CDK CLI를 통해 Cloud Formation형태로 변환한다.

3. Cloud Formation이 실제로 AWS의 자원을 할당한다.

 

ㅁ CDK-EKS를 함께 사용 시 장점

ㅇ 인프라 자원과 쿠버네티스 자원을 한 번에 관리

ㅇ 조직 내 Best Practice 수립 및 배포

  ㄴ 중앙에서 모든 Addon, 클러스터 자원 버전/설정 관리

  ㄴ 엄격한 보안 설정 유지

ㅇ GitOps: Git을 통한 버전 관리 및 확장 가능

ㅇ 애플리케이션을 개발하는 것과 동일한 툴을 사용하여 워크플로우를 정의함.

  ㄴ 클러스터의 자원을 모두 코드로 작성이 가능하고 그 것들을 CI/CD 파이프라인을 통하여 클러스터에 배포할 수 있다.

 

ㅁ CDK8s 워크플로우

 ㅇ [kubernetes] cdk8s란 무엇인가요? 이전 글에서 살펴보았듯이, 

     프로그래밍 소스코드 -> CDK8s CLI synthesize -> yaml 생성 -> kubectl apply 

 

ㅁ GitOps란 무엇인가?

ㅇ Git 레포지토리를 어떤 시스템의 원하는 상태(desired state)의 근거(single source of truth)로 사용한다.

ㅇ 모든 의도된 오퍼레이션들은 "Pull Request"를 통해서 코드로 커밋된다.

ㅇ 의도한 상태와 관찰된 상태의 모든 차이점을 자동화된 방법으로 수렴하여 운영한다.

 

 ㅇ 개발자가 친숙한 개발 워크플로를 통해 생산성 향상

 ㅇ 깃 저장소에 쿠버네티스 메니피스트의 변경이력을 저장하여 높은 안정성 보장

 ㅇ 일관성과 표준화에 도움준다.

 ㅇ GitOps를 구성하기 위해서는 기존 인프라스트럭처 플랫폼에서 yaml로 엔지니어링하였지만, cdk8s를 통해 코드로 변경하도록 한다.

 

ㅁ 요약

CDK / CDK8s는 개발자를 yaml 엔지니어링에서 벗어나서 친숙한 프로그래밍 언어를 사용하도록 해준다.

CDK / CDK8s는 개발/운영 조직의 모범 사례를 강화하고 쉽게 공유하게 만든다.

GitOps는 CI로부터 CD의 운영 고려요소를 분리해주는 최고의 모범사례 중 하나이다.

CDK / CDK8s를 적용한 GitOps를 사용하면 인프라를 포함한 애플리케이션의 통합적인 가시성을 확보 할 수 있다.

 

ㅁ 함께 보면 좋은 사이트

cdk8s 팁

유튜브: Amazon EKS를 위한 AWS CDK와 CDK8s 활용법

slide share 

반응형
Comments