발전하는 나를 기록하기 위해

EKS terraform 설정 본문

개발/Infra

EKS terraform 설정

발폼도래 2024. 3. 12. 17:38
728x90

EKS 관련 terraform 설정 후 kubeconfig -> cluster, context 추가

(minikube같은 로컬 클러스터가 아니라 아마존 클러스터 사용할거다.)  

 

ingress(리소스)는 "AWS Load Balancer Controller"를 통해 구현한다. 이는 aws의 로드밸런서를 활용하겠다는 의미.  

 

⭐ API 서버(kubernetes cluster 구성 요소중 하나)

Kubernetes 클러스터의 뇌와 같은 역할을 합니다. 모든 클러스터의 행동을 제어하고 모니터링하는 중앙 집중식 컴퓨터 
프로그램입니다.  
- 주요 역할
리소스 관리: API 서버는 클러스터의 모든 리소스를 관리합니다. 예를 들어, 파드 (Pods)라고 불리는 애플리케이션 실행 단위, 서비스     (Services)를 통해 애플리케이션에 접근하는 방법, 볼륨 (Volumes)을 저장하는 방법 등 을 관리합니다.  
명령과 제어: API 서버를 통해 애플리케이션을 생성하거나 수정, 삭제할 수 있습니다. 예를 들어, 애플리케이션의 복제본 수를 조정하거나     업데이트하는 등의 작업을 수행할 수 있습니다.  
사용자 인증과 권한 부여: API 서버는 사용자 인증을 처리하고, 클러스터 내에서 작업을 수행할 수 있는 권한을 부여합니다. 이를 통해 클    러스터 리소스에 대한 접근을 관리하고, 보안을 유지할 수 있습니다.  
클러스터 모니터링: API 서버는 클러스터의 상태를 지속적으로 감시하고, 문제가 발생할 경우 알림을 제공합니다. 이를 통해 시스템의 건      강 상태를 모니터링하고 필요한 조치를 취할 수 있습니다.  
    API 서버는 다른 Kubernetes 구성 요소와 통신하여 클러스터의 모든 작업을 조정합니다.
    클러스터 내의 모든 노드에 배포된 kube-apiserver 프로세스로 구성되며, 클러스터의 중앙 제어 장치 역할을 합니다.  
    간단히 말하면, Kubernetes 클러스터의 API 서버는 클러스터 전반의 관리와 제어를 담당하는 중심 프로그램입니다.  

 

 

    ⭐ helm

Kubernetes 애플리케이션을 손쉽게 배포, 업데이트, 관리하기 위한 패키지 관리 도구입니다.
-Helm 차트: Helm은 애플리케이션을 패키징하는데 사용하는 "차트"라는 개념을 가지고 있습니다. 차트는 Kubernetes 애플리케이션을 설명하고 구성하는 파일과 템플릿으로 구성됩니다.
-패키지 관리: Helm은 차트를 패키지로 관리합니다. 패키지는 차트를 압축한 파일로, 애플리케이션 배포에 필요한 모든 리소스와 설정을 포함합니다.
-배포 및 업데이트: Helm을 사용하여 차트를 Kubernetes 클러스터에 배포할 수 있습니다. 또한, 이미 배포된 애플리케이션의 업데이트도 간편하게 수행할 수 있습니다.
-버전 관리: Helm은 애플리케이션의 버전 관리를 지원합니다. 다양한 버전의 차트를 사용하여 애플리케이션을 배포하고, 필요에 따라 이전 버전으로 롤백할 수 있습니다.
-구성 관리: Helm은 템플릿 엔진을 사용하여 애플리케이션의 구성을 관리합니다. 템플릿을 사용하여 동적으로 값을 설정하고, 환경에 맞게 애플리케이션을 구성할 수 있습니다.