Ssoon

[1주차] Amazon EKS 시작하기 - Nodes - Fargate 본문

AWS EKS Workshop Study

[1주차] Amazon EKS 시작하기 - Nodes - Fargate

구구달스 2023. 4. 25. 20:14
CloudNet@ 팀의 AWS EKS Workshop Study 1주차 정리입니다.
# Amazon EKS User Guide 참고

Fargate

  • 서버리스 컨테이너 서비스인 Amazon Fargate를 사용하면 기본 서버 인프라를 관리하지 않고도 worker nodes 를 실행할 수 있습니다.
  • Fargate는 실제 사용된 vCPU와 메모리에 대해서만 비용을 청구합니다.
  • cluster nodes 에서 실제로 필요한 것에 따라 더 많은 컴퓨팅 리소스를 프로비저닝합니다.

🧿 장점:

  • 실제로 생성하거나 관리할 노드 그룹이 없으며 Kubernetes 데이터 평면은 AWS Fargate에서 완전히 관리합니다.
  • Kubernetes 데이터 플레인은 특정 시점에서 실행 중인 포드의 양과 포드에서 사용하는 리소스에 따라 자동으로 확장 및 축소됩니다.

🧿 단점:

  • Kubernetes 데이터 평면을 실행하기 위한 특정 노드 유형 선택에 대한 세밀한 제어가 없습니다.
  • 서비스의 노드 포트 유형과 같은 모든 업스트림 Kubernetes 특정 기능을 지원하지 않습니다.

🧿 사용 사례: 

  • EKS 데이터 플레인을 생성 및 관리하고 싶지 않고 관리 오버헤드를 줄이는 대가로 데이터 플레인 EC2 인스턴스 선택 및 자동 조정에 대한 제어를 포기할 의향이 있는 경우 이 옵션을 선택해야 합니다.

 

 Fargate pod 실행 역할 생성

  • 클러스터가 AWS Fargate에서 pods를 생성하는 경우, Fargate 인프라에서 실행되는 구성 요소는 사용자를 대신하여 AWS API를 호출해야 합니다

EKS pod 실행 역할 생성

$here = Get-Location
Set-Content $here\pod-execution-role-trust-policy.json @"
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Condition": {
         "ArnLike": {
            "aws:SourceArn": "arn:aws:eks:ap-northeast-2:[계정 ID]:fargateprofile/my-cluster/*"
         }
      },
      "Principal": {
        "Service": "eks-fargate-pods.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
"@

🧿 pod 실행 IAM 역할을 생성합니다.

aws iam create-role `
  --role-name AmazonEKSFargatePodExecutionRole `
  --assume-role-policy-document file://"pod-execution-role-trust-policy.json"

 

🧿 필요한 Amazon EKS 관리형 IAM 정책을 역할에 연결합니다.

 

aws iam attach-role-policy `
  --policy-arn arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy `
  --role-name AmazonEKSFargatePodExecutionRole

 

 클러스터에 대한 Fargate 프로필 생성

AWS Management Console

🧿 1단계. Fargate 프로파일 구성

🧿 2단계. 포드 선택 구성

🧿 생성완료 정보를 확인합니다.

 

 업데이트: CoreDNS

  • 기본적으로 CoreDNS는 Amazon EKS 클러스터의 Amazon EC2 인프라에서 실행되도록 구성됩니다.
  • 클러스터의 Fargate에서만 pods를 실행하려면 다음 단계를 수행합니다.

🧿 1단계. Fargate 프로파일 구성

🧿 2단계. 포드 선택 구성

🧿 생성된 프로파일을 확인합니다.

🧿 CoreDNS pods에서 기본 eks.amazonaws.com/compute-type : ec2 주석을 제거합니다.

🧿 생성된 정보를 확인합니다.

 

 

 

 

 

 

 

 

Comments