목록AWS EKS (9)
오늘도 한 뼘 더

# 배경 AWS EKS 클러스터는 aws에서 지원하는 쿠버네티스 버전이 끝나면 업그레이드를 해줘야하는데 생각보다 이 과정이 단기적으로 발생하게 된다.똑같은 내용의 aws 서비스를 올리기 위해서 IaC를 많이 사용한다고 이해했고, 이 중에서도 terraform을 많이 사용하고 있는 추세이다.업그레이드 해야하는 때가 되면 보다 간편하게 적용을 해보기 위해 terraform을 도입해보기로 하였다. # terraform 트리 구조 eks└──main.tf└──helm.tf└──modules └──apigw └──vpc_link └──eks └──cluster └──nodegroup └──role └──alc ..

# 배경 eksctl 명령어를 통해서 AWS EKS 서비스에 클러스터를 생성하는 작업을 진행했다. 클러스터의 버전을 config 파일에 명시해서 진행을 하는 중에 다음과 같은 에러가 발생하였다. apiVersion: eksctl.io/v1alpha5kind: ClusterConfigmetadata: name: test region: ap-northeast-2 version: "1.29" # 문제 eksctl 명령어를 사용하여 클러스터를 생성하는 중 다음과 같은 에러가 발생하였다. Error: invalid version, supported values: 1.21, 1.22, 1.23, 1.24 eksctl 버전에 따라 지원하는 쿠버네티스 버전이 다른데 구 버전의 eksctl을 사용..

# 배경 AWS EKS Cluster를 생성한 사용자 외의 다른 사용자가 cluster 및 리소스들을 접근할 수 있도록 권한을 부여하고 싶다. # 문제 aws configure 다른 사용자를 설정하고 kubectl 명령어를 입력하면 다음과 같은 에러가 발생한다. $ kubectl get pods > error: You must be logged in to the server (Unauthorized) 설정한 사용자에게 eks에 대한 권한이 없기에 발생하는 문제이다. # 해결방법 EKS Cluster 구성에 있는 configmap의 aws-auth에 해당 사용자를 매핑시켜주어야 한다. $ kubectl edit configmap -n kube-system aws-auth 위 명령어를 통해서 configma..

# AWS Load Balancer Controller 쿠버네티스 클러스터의 AWS Elastic Load Balancer를 관리한다. https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/aws-load-balancer-controller.html AWS Load Balancer Controller 추가 기능 설치 - Amazon EKS 배포된 차트는 보안 업데이트를 자동으로 수신하지 않습니다. 새 차트가 사용 가능해지면 수동으로 업그레이드해야 합니다. 업그레이드 시 이전 명령에서 install을 upgrade로 변경하되, 이전 명령 docs.aws.amazon.com # IAM 정책 생성하기 한국 리전 IAM 정책 다운로드하기 curl -o iam_poli..

# 배경 개발계와 운영계에 대한 Cluster를 분류하였다. 연결되어있는 설정이 두 개인데 이를 번갈아가면서 사용하고 싶다. # 다중 클러스터 접근 ## 클러스터 확인(전체) $ kubectl config get-contexts ## 현재 사용 중인 클러스터 확인 $ kubectl config current-context ## 클러스터 변경 $ kubectl config use-context ${context-name}

# eksctl EKS의 클러스터를 관리하는 CLI 툴이다. https://eksctl.io/ eksctl eksctl - The official CLI for Amazon EKS sponsored by and built by on New for 2022 eksctl now supports creating clusters and nodegroups on AWS Outposts. eksctl is a simple CLI tool for creating and managing clusters on EKS - Amazon's managed Kubernetes ser eksctl.io # eksctl 설치 $ choco install -y eksctl # eksctl 사용하여 Cluster 생성하기 $ eksc..

home의 .kube 폴더에 들어가면 config 파일이 생성되어있다. 해당 파일에 cluster에 대한 정보를 업데이트해야 로컬에서 kubectl 명령어로 cluster에 접근할 수 있다. # Cluster 설정하기 Cluster이름을 통해 config를 업데이트한다. $ aws eks --region ap-northeast-2 \ update-kubeconfig \ --name ${cluster name} Cluster에 pods를 조회하면 아무것도 없다 뜬다. 만든 게 없어 이렇게 뜨는 게 Cluster접근을 정상적으로 했다는 것을 의미

# Cluster 생성 1. 클러스터 구성 클러스터의 이름과 cluster에 대한 권한을 가진 IAM 역할을 지정한다. 2. 네트워킹 지정 VPC, Subnet, 보안 그룹 등을 설정한다. 3. 로깅 구성 필요에 따라 설정한다. ## IAM이란? Identity and Access Management(IAM)는 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스. IAM을 사용하여 리소스를 사용하도록 인증(로그인) 및 권한 부여(권한 있음)된 대상을 제어 # IAM 역할 생성 1. 신뢰할 수 있는 엔터티 유형 추가 EKS Cluster에 대한 유형을 추가하여 생성 2. 권한 추가 역할이 갖는 권한에 대해 설정한다. 3. 이름 지정, 검토 및 생성 이름을 지정하고 이전에 설정한 내용을 검토한다.