클러스터 삭제 - Amazon EKS

이 페이지 개선에 도움 주기

이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다.

클러스터 삭제

Amazon EKS 클러스터 사용을 완료한 경우 불필요한 비용이 발생하지 않도록 클러스터와 연결된 리소스를 삭제해야 합니다.

eksctl, AWS Management Console 또는 AWS CLI를 사용하여 클러스터를 삭제할 수 있습니다.

고려 사항

  • 클러스터의 활성 서비스가 로드 밸런서와 연결된 경우 로드 밸런서가 적절하게 삭제되도록 클러스터 삭제 전에 해당 서비스를 삭제해야 합니다. 그렇지 않으면 VPC에 분리된 리소스가 발생하여 VPC를 삭제할 수 없게 됩니다.

  • 클러스터 생성자가 제거되어 오류가 발생하는 경우 문제를 해결하려면 이 문서를 참조하세요.

  • Prometheus용 Amazon 관리형 서비스 리소스는 클러스터 수명 주기를 벗어나며 클러스터에 독립적으로 유지 관리되어야 합니다. 클러스터를 삭제할 때 해당 스크레이퍼도 모두 삭제하여 관련 비용을 줄여야 합니다. 자세한 내용은 Prometheus용 Amazon 관리형 서비스 사용자 가이드의 스크레이퍼 찾기 및 삭제를 참조하세요.

  • 연결된 클러스터를 제거하려면 Amazon EKS 콘솔에서 Kubernetes 클러스터 등록 취소 섹션을 참조하세요.

EKS Auto Mode 고려 사항

  • EC2 관리형 인스턴스를 포함하여 모든 EKS Auto Mode 노드가 삭제됩니다.

  • 모든 로드 밸런서가 삭제됩니다.

자세한 내용은 EKS Auto Mode 비활성화 단원을 참조하십시오.

클러스터 삭제(eksctl)

이 절차에는 eksctl 버전 0.204.0 이상이 필요합니다. 버전은 다음 명령을 통해 확인할 수 있습니다.

eksctl version

eksctl 설치 또는 업데이트에 대한 지침은 eksctl 설명서의 설치를 참조하세요.

  1. 클러스터에서 실행 중인 모든 서비스를 나열합니다.

    kubectl get svc --all-namespaces
    1. EXTERNAL-IP 값과 연결된 모든 서비스를 삭제합니다. 이러한 서비스는 Elastic Load Balancing 로드 밸런서에 의해 설정되고, Kubernetes에서 이를 삭제하여 로드 밸런서 및 연결된 리소스가 적절하게 릴리스되어야 합니다.

      kubectl delete svc service-name
  2. 다음 명령으로 클러스터 및 연결된 노드를 삭제하되, prod를 클러스터 이름으로 변경합니다.

    eksctl delete cluster --name prod

    출력:

    [ℹ] using region region-code [ℹ] deleting EKS cluster "prod" [ℹ] will delete stack "eksctl-prod-nodegroup-standard-nodes" [ℹ] waiting for stack "eksctl-prod-nodegroup-standard-nodes" to get deleted [ℹ] will delete stack "eksctl-prod-cluster" [✔] the following EKS cluster resource(s) for "prod" will be deleted: cluster. If in doubt, check CloudFormation console

클러스터 삭제(AWS 콘솔)

  1. 클러스터에서 실행 중인 모든 서비스를 나열합니다.

    kubectl get svc --all-namespaces
  2. EXTERNAL-IP 값과 연결된 모든 서비스를 삭제합니다. 이러한 서비스는 Elastic Load Balancing 로드 밸런서에 의해 설정되고, Kubernetes에서 이를 삭제하여 로드 밸런서 및 연결된 리소스가 적절하게 릴리스되어야 합니다.

    kubectl delete svc service-name
  3. 모든 노드 그룹 및 Fargate 프로필을 삭제합니다.

    1. Amazon EKS 콘솔을 엽니다.

    2. 왼쪽 탐색 창에서 Amazon EKS 클러스터를 선택한 다음 탭으로 구분된 클러스터 목록에서 삭제할 클러스터의 이름을 선택합니다.

    3. 컴퓨팅탭을 선택하고 삭제할 노드 그룹을 선택합니다. 삭제를 선택하고 노드 그룹의 이름을 입력한 다음 삭제를 선택합니다. 클러스터의 모든 노드 그룹을 삭제합니다.

      참고

      관리형 노드 그룹만 나열됩니다.

    4. 삭제할 Fargate 프로필에 이어 삭제를 선택하고 프로필의 이름을 입력한 다음 삭제를 선택합니다. 클러스터의 모든 Fargate 프로필을 삭제합니다.

  4. 모든 자체 관리형 노드 AWS CloudFormation 스택을 삭제합니다.

    1. AWSCloudFormation 콘솔을 엽니다.

    2. 삭제할 노드 스택을 선택하고 삭제를 선택합니다.

    3. 스택 삭제 확인 대화 상자에서 스택 삭제를 선택합니다. 클러스터의 모든 자체 관리형 노드 스택을 삭제합니다.

  5. 클러스터를 삭제합니다.

    1. Amazon EKS 콘솔을 엽니다.

    2. 삭제할 클러스터를 선택하고 삭제를 선택합니다.

    3. 클러스터 삭제 확인 화면에서 삭제를 선택합니다.

  6. (선택사항) VPC AWS CloudFormation 스택을 삭제합니다.

    1. AWSCloudFormation 콘솔을 엽니다.

    2. 삭제할 VPC 스택을 선택하고 삭제를 선택합니다.

    3. 스택 삭제 확인 대화 상자에서 스택 삭제를 선택합니다.

클러스터를 삭제(AWS CLI)

  1. 클러스터에서 실행 중인 모든 서비스를 나열합니다.

    kubectl get svc --all-namespaces
  2. EXTERNAL-IP 값과 연결된 모든 서비스를 삭제합니다. 이러한 서비스는 Elastic Load Balancing 로드 밸런서에 의해 설정되고, Kubernetes에서 이를 삭제하여 로드 밸런서 및 연결된 리소스가 적절하게 릴리스되어야 합니다.

    kubectl delete svc service-name
  3. 모든 노드 그룹 및 Fargate 프로필을 삭제합니다.

    1. 다음 명령을 사용하여 클러스터의 노드 그룹을 나열합니다.

      aws eks list-nodegroups --cluster-name my-cluster
      참고

      관리형 노드 그룹만 나열됩니다.

    2. 다음 명령을 사용하여 각 노드 그룹을 삭제합니다. 클러스터의 모든 노드 그룹을 삭제합니다.

      aws eks delete-nodegroup --nodegroup-name my-nodegroup --cluster-name my-cluster
    3. 다음 명령을 사용하여 클러스터에 Fargate 프로필을 나열합니다.

      aws eks list-fargate-profiles --cluster-name my-cluster
    4. 다음 명령을 사용하여 각 Fargate 프로필을 삭제합니다. 클러스터의 모든 Fargate 프로필을 삭제합니다.

      aws eks delete-fargate-profile --fargate-profile-name my-fargate-profile --cluster-name my-cluster
  4. 모든 자체 관리형 노드 AWS CloudFormation 스택을 삭제합니다.

    1. 다음 명령으로 사용 가능한 AWS CloudFormation 스택을 나열합니다. 결과 출력에서 노드 템플릿의 이름을 찾습니다.

      aws cloudformation list-stacks --query "StackSummaries[].StackName"
    2. 다음 명령으로 각 노드 스택을 삭제하되, node-stack을 노드 스택 이름으로 변경합니다. 클러스터의 모든 자체 관리형 노드 스택을 삭제합니다.

      aws cloudformation delete-stack --stack-name node-stack
  5. 다음 명령으로 클러스터를 삭제하되, my-cluster를 사용할 클러스터 이름으로 변경합니다.

    aws eks delete-cluster --name my-cluster
  6. (선택사항) VPC AWS CloudFormation 스택을 삭제합니다.

    1. 다음 명령으로 사용 가능한 AWS CloudFormation 스택을 나열합니다. 결과 출력에서 VPC 템플릿의 이름을 찾습니다.

      aws cloudformation list-stacks --query "StackSummaries[].StackName"
    2. 다음 명령으로 VPC 스택을 삭제하되, my-vpc-stack을 사용할 VPC 스택의 이름으로 변경합니다.

      aws cloudformation delete-stack --stack-name my-vpc-stack