EKS Managed Node Group에서 Spot Instance를 사용하기 위한 설문 조사 요약
이거 뭐야?
EKS Managed Node Group에서 Spot Instance를 사용한 설문 조사를 요약한 것입니다.
날과 씨
EKS Managed Node Group에서 Spot Instance가 해제되어 가져오려고 합니다.
Amazon EKS는 관리 노드 그룹에서 EC2 인스턴스 제공 및 관리 지원에 기재된 바와 같이 EKS의 워커 노드에서도 스팟 인스턴트를 사용할 수 있고, 스팟 인스턴트를 사용하려고 한다.
Spot Instance의 사양 개요
EKS Managed Node Group용 Spot Instance의 사양은 대체로 다음과 같습니다.
capacity-optimized
Capacity Rebalancing
Spot Instance 중단 위험을 사전 감지하여 Instance 교체eks.amazonaws.com/capacityType=SPOT
추가Spot Instance 사용 시 고려 사항
Terraform 적응법
Spot Instance는 기본적으로
aws_eks_node_group
의capacity_type
를 SPOT
로 설정하면 사용할 수 있다.Resource: aws_eks_node_group에도 다음과 같은 기록이 있다.
capacity_type - (Optional) Type of capacity associated with the EKS Node Group. Valid values: ON_DEMAND, SPOT. Terraform will only perform drift detection if a configuration value is provided.
단,
aws_launch_template
와 aws_eks_node_group
를 병용한 경우 설정치에 제한이 있어 앱리로 확인하는 것이 안전하다.예를 들어
capacity_type=SPOT
를 지정하면 aws_launch_template
의 instance_market_options
를 사용할 수 없습니다.variable "is_prod" { type = bool }
resource "aws_launch_template" "eks_worker_template" {
name = "launch_template"
# Spot Instanceを利用する場合にはaws_eks_node_group側でinstance typeを指定する
instance_type = var.is_prod ? "t3.medium" : ""
# いろいろ設定が続く...
}
resource "aws_eks_node_group" "eks_worker" {
cluster_name = "eks-cluster-name"
node_group_name = "node-group-name"
capacity_type = var.is_prod ? "ON_DEMAND" : "SPOT"
instance_types = local.is_prod ? [] : ["t3.medium", "t2.medium"]
launch_template {
id = aws_launch_template.eks_worker_template.id
version = aws_launch_template.eks_worker_template.latest_version
}
# いろいろ設定が続く...
}
잡감
참고 자료
개념과
Terraform 설치 시스템
Reference
이 문제에 관하여(EKS Managed Node Group에서 Spot Instance를 사용하기 위한 설문 조사 요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/nameless_gyoza/articles/how-to-use-spot-instance-on-eks텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)