카테고리 없음

Amazon EKS에서 자주 사용하는 용어 정리: Kubernetes 및 EKS 이해를 위한 필수 개념

idea9329 2024. 11. 12. 15:54
반응형

 

Amazon Elastic Kubernetes Service(EKS)는 AWS에서 제공하는 Kubernetes 관리형 서비스로, 클라우드에서 컨테이너화된 애플리케이션을 손쉽게 운영할 수 있도록 돕습니다. EKS 사용 시 자주 등장하는 주요 용어들을 이해하면 클러스터 관리와 애플리케이션 배포에 대한 전반적인 이해도를 높일 수 있습니다. 아래는 Amazon EKS에서 자주 사용되는 용어와 그 정의입니다.

1. 클러스터 (Cluster)

  • EKS 클러스터는 Kubernetes 컨트롤 플레인과 워커 노드로 구성된 환경입니다. 클러스터 내에서 컨테이너화된 애플리케이션이 배포 및 관리되며, Kubernetes API를 통해 클러스터와 상호작용할 수 있습니다.

2. 컨트롤 플레인 (Control Plane)

  • Kubernetes의 주요 컴포넌트(ETCD, API 서버, 컨트롤러 매니저, 스케줄러)로 구성된 중앙 관리 시스템입니다. AWS가 자동으로 관리하여 사용자가 직접 설정하거나 유지할 필요가 없습니다. 모든 클러스터 이벤트와 리소스를 제어하고 조정합니다.

3. 노드 (Node)

  • Kubernetes 클러스터 내에서 컨테이너를 실행하는 컴퓨팅 인스턴스입니다. EKS에서는 EC2 인스턴스를 노드로 사용할 수 있으며, 각 노드는 파드(Pod)를 호스팅하고 클러스터에 기여하는 역할을 합니다.

4. 파드 (Pod)

  • 파드는 Kubernetes에서 가장 작은 배포 단위로, 하나 이상의 컨테이너로 구성될 수 있습니다. 동일한 네트워크와 스토리지를 공유하며, 일반적으로 하나의 애플리케이션을 구성하는 여러 컨테이너가 함께 묶여 실행됩니다.

5. 디플로이먼트 (Deployment)

  • Kubernetes의 디플로이먼트는 애플리케이션을 클러스터에 배포하고, 원하는 상태로 유지 관리하는 설정입니다. 디플로이먼트를 통해 애플리케이션 업데이트, 확장, 롤백이 가능하며, EKS에서도 이를 통해 애플리케이션을 쉽게 관리할 수 있습니다.

6. 서비스 (Service)

  • 파드의 지속적인 IP 주소와 로드밸런싱을 제공하여 외부 애플리케이션이 파드에 접근할 수 있도록 하는 Kubernetes 리소스입니다. 클러스터 내에서 파드의 위치가 변동해도 서비스는 고정된 엔드포인트를 제공하여 안정적인 통신을 가능하게 합니다.

7. 네임스페이스 (Namespace)

  • 클러스터 내 리소스를 논리적으로 분리하는 Kubernetes의 기능입니다. 개발, 테스트, 프로덕션 등의 환경을 분리하여 관리할 수 있으며, 동일한 클러스터 내에서 다수의 네임스페이스를 활용해 리소스를 효율적으로 관리할 수 있습니다.

8. 이벤트 (Event)

  • 클러스터에서 발생하는 중요한 상태 변화나 오류를 기록한 메시지입니다. 각 파드나 노드의 상태를 추적하고 문제를 해결하는 데 도움이 됩니다.

9. kubelet

  • 각 노드에 설치된 Kubernetes 에이전트로, 컨트롤 플레인과 통신하여 파드를 실행하고 유지하는 역할을 합니다. kubelet은 클러스터의 원하는 상태를 유지하기 위해 파드가 정상적으로 작동하는지 모니터링합니다.

10. kubectl

  • Kubernetes 명령줄 인터페이스(CLI)로, 클러스터와 상호작용하는 데 사용됩니다. 이를 통해 클러스터 상태를 조회하고, 파드 배포, 서비스 노출 등 다양한 작업을 수행할 수 있습니다.

11. IAM 역할 (IAM Role)

  • AWS Identity and Access Management(IAM)를 사용해 EKS 클러스터의 보안을 관리하는 정책입니다. 노드 그룹, 파드 등 EKS 리소스에 대한 접근 권한을 정의하여 보안을 강화할 수 있습니다.

12. VPC (Virtual Private Cloud)

  • EKS 클러스터가 생성되는 네트워크 환경으로, EKS 클러스터는 AWS VPC 내에 위치하며 네트워크 구성을 통해 외부 접근을 제어할 수 있습니다. VPC 내에서 서브넷을 통해 클러스터 리소스를 더 세분화하여 관리할 수 있습니다.

13. 로드밸런서 (Load Balancer)

  • 서비스의 트래픽을 여러 파드로 분산하여 애플리케이션의 가용성과 성능을 유지하는 역할을 합니다. EKS에서는 AWS의 ELB(Application Load Balancer, Network Load Balancer 등)를 사용해 로드밸런싱을 제공합니다.

14. Ingress

  • EKS 클러스터에서 HTTP 및 HTTPS 트래픽을 라우팅하기 위한 리소스입니다. Ingress를 사용하면 단일 IP 주소를 통해 여러 서비스로 트래픽을 분배할 수 있어, 웹 애플리케이션에 적합한 네트워크 구성을 할 수 있습니다.

15. 클러스터 오토스케일러 (Cluster Autoscaler)

  • 클러스터의 노드 수를 자동으로 조정하여 리소스 사용량에 따라 확장 또는 축소합니다. 워크로드에 따라 클러스터가 자동으로 확장되므로 비용 효율성을 높일 수 있습니다.

16. 파드 오토스케일러 (Horizontal Pod Autoscaler)

  • 파드의 CPU 사용률이나 메모리 사용량에 따라 자동으로 파드를 추가하거나 제거하여 애플리케이션의 가용성과 성능을 유지합니다.

17. Elastic Load Balancer (ELB)

  • EKS 클러스터에서 외부 네트워크로부터의 트래픽을 파드에 분배하는 AWS의 로드밸런서입니다. NLB(Network Load Balancer)와 ALB(Application Load Balancer)를 통해 다양한 트래픽 분배 방식을 지원합니다.

18. AWS Fargate

  • 서버리스 컴퓨팅을 제공하는 AWS의 서비스로, 노드 설정 없이 컨테이너를 직접 실행할 수 있습니다. EKS와 통합하여 서버를 관리하지 않고 컨테이너 워크로드를 실행할 수 있어 운영 부담을 줄입니다.

19. Security Group (SG)

  • EKS 클러스터 내 노드와 리소스에 대한 트래픽을 제어하는 AWS 방화벽 규칙입니다. Security Group을 통해 EKS 리소스에 접근할 수 있는 IP와 포트를 정의하여 보안을 강화합니다.

20. eksctl

  • EKS 클러스터 생성 및 관리를 쉽게 할 수 있도록 도와주는 CLI 도구입니다. eksctl create cluster 명령어로 클러스터를 신속하게 생성하고 관리할 수 있어, Kubernetes와 AWS 사용 경험이 많지 않은 사용자에게 유용합니다.

요약

Amazon EKS에서 자주 사용하는 용어들을 이해하는 것은 클러스터 운영과 애플리케이션 관리를 용이하게 합니다. 이 용어 정리를 참고해 클러스터 관리에 대한 이해도를 높이고, 효율적인 EKS 운영에 필요한 기본 지식을 확보하세요.

반응형