AWS 기반 Kubernetes

오픈 소스 컨테이너 관리 및 오케스트레이션

Kubernetes는 대규모 컨테이너식 애플리케이션을 배포하고 관리하는 데 사용할 수 있는 오픈 소스 소프트웨어입니다. Kubernetes는 Amazon Elastic Compute Cloud(EC2) 컴퓨팅 인스턴스의 클러스터를 관리하고 배포, 유지 관리 및 크기 조정의 프로세스를 통해 이러한 인스턴스에서 컨테이너를 실행합니다. Kubernetes를 사용하면 온프레미스와 클라우드에서 같은 도구 세트를 사용하여 원하는 유형의 컨테이너식 애플리케이션을 실행할 수 있습니다.

AWS에서는 확장 가능한 고가용성 가상 머신 인프라, 커뮤니티 기반 서비스 통합 및 Amazon Elastic Kubernetes Service(EKS)(Kubernetes 공인 관리형 서비스)를 통해 클라우드에서 손쉽게 Kubernetes를 실행할 수 있습니다.

Kubernetes

KUBERNETES 작동 방식

Kubernetes는 컴퓨팅 인스턴스 클러스터를 관리하고 가용 컴퓨팅 리소스와 각 컨테이너의 리소스 요구 사항을 기반으로 클러스터에서 실행되도록 컨테이너를 예약하는 방식으로 작동합니다. 컨테이너는 팟이라는 논리적 그룹으로 실행되며 하나 또는 여러 컨테이너를 팟으로 함께 실행하고 규모를 조정할 수 있습니다.

Kubernetes 컨트롤 플레인 소프트웨어가 언제 어디에서 팟을 실행할지 결정하고, 트래픽 라우팅을 관리하고, 사용률 또는 사용자가 정의한 다른 지표를 기반으로 팟의 규모를 조정합니다. Kubernetes는 리소스 요구 사항을 기반으로 클러스터에서 자동으로 팟을 시작하고, 팟 또는 팟에서 실행하는 인스턴스에 장애가 발생하면 팟을 자동으로 다시 시작합니다. 각 팟에는 IP 주소와 하나의 DNS 이름이 주어지며 Kubernetes는 이를 사용하여 서비스를 서로 연결하고 외부 트래픽과 연결합니다.

KUBERNETES를 사용해야 하는 이유

Kubernetes는 오픈 소스 프로젝트이므로, 운영 도구를 변경할 필요 없이 어디서든 이를 사용하여 컨테이너식 애플리케이션을 실행할 수 있습니다. Kubernetes는 자원자로 구성된 대규모 커뮤니티에서 유지 관리하며 계속해서 개선되고 있습니다. 또한, 다른 많은 오픈 소스 프로젝트 및 공급업체에서 Kubernetes 호환 소프트웨어를 구축하고 유지 관리하므로 사용자는 이를 통해 애플리케이션 아키텍처를 개선 및 확장할 수 있습니다.

대규모로 애플리케이션 실행

대규모로 애플리케이션 실행

Kubernetes를 사용하면 복잡한 컨테이너식 애플리케이션을 정의하고 서버 클러스터 전체에서 대규모로 실행할 수 있습니다.

애플리케이션을 원활하게 이전

애플리케이션을 원활하게 이전

Kubernetes를 사용하면, 컨테이너식 애플리케이션을 같은 운영 도구를 사용하여 로컬 개발 머신에서 클라우드의 프로덕션 배포로 원활하게 이전할 수 있습니다.

어디서든 실행

어디서든 실행

온프레미스에서 실행되는 Kubernetes 배포와 완벽히 호환성을 유지하면서 AWS에서 가용성과 확장성이 뛰어난 Kubernetes 클러스터를 실행할 수 있습니다.

새로운 기능 추가

새로운 기능 추가

Kubernetes는 오픈 소스 프로젝트이므로 새로운 기능을 추가하기가 쉽습니다. 많은 개발자 및 회사 커뮤니티에서 Kubernetes 사용자가 더 많은 일을 할 수 있도록 확장, 통합 및 플러그인을 구축합니다.

AWS에서 KUBERNETES 실행

AWS를 사용하면 손쉽게 Kubernetes를 실행할 수 있습니다. Amazon EC2를 사용해 Kubernetes 인프라를 직접 관리하거나 Amazon EKS를 통해 자동으로 프로비저닝되고 관리되는 Kubernetes 컨트롤 플레인을 사용할 수 있습니다. 어느 경우든 Amazon Virtual Private Cloud(VPC), AWS Identity and Access Management(IAM) 및 서비스 검색과 같은 AWS 서비스는 물론 AWS의 보안, 확장성 및 고가용성에 대해 커뮤니티가 지원하는 강력한 통합 솔루션을 활용할 수 있습니다.

다음을 수행하려는 경우...
해답
Kubernetes 배포를 완전 관리. 강력한 인스턴스 유형을 선택하여 Kubernetes를 프로비저닝 및 실행. Amazon EC2
마스터 인스턴스 및 etcd를 프로비저닝하거나 관리할 필요 없이 Kubernetes를 실행.
Amazon EKS
빠른 배포를 위해 컨테이너 이미지를 저장, 암호화 및 관리.
Amazon ECR

 

AWS 커뮤니티 Kubernetes 협업

AWS는 Kubernetes 사용자가 AWS 서비스와 기능을 활용하는 데 도움이 되도록 Kubernetes 코드 베이스에 기여하는 등 Kubernetes 커뮤니티와 적극적으로 협력하고 있습니다.

CNI Plugin

CNI Plugin

AWS에서 탄력적 네트워크 인터페이스를 사용한 Kubernetes의 팟 네트워킹.

CDK8S

CDK8s

Cdk8s는 코드를 사용하여 Kubernetes 애플리케이션을 정의할 수 있게 합니다.

외부 DNS

외부 DNS

Kubernetes 수신 및 서비스를 위해 Route 53 서비스 검색을 구성.

Karpenter

Karpenter

모든 Kubernetes 클러스터에 사용할 수 있는 적시 생산 방식(JIT) 노드입니다.

Kubernetes

SIG AWS

AWS와 Kubernetes API 통합에 중점을 둔 커뮤니티 주도의 분과회(SIG)입니다.

TorchServe

TorchServe

훈련된 ML 모델을 배포하는 프레임워크의 역할을 하는 PyTorch 모델입니다.

KUBERNETES FAQ

Q: Kubernetes 클러스터란 무엇입니까?

Kubernetes 클러스터는 컨테이너를 실행하는 EC2 컴퓨팅 인스턴스의 논리적 그룹입니다. 클러스터는 컨트롤 플레인(컨테이너가 언제, 어떻게, 어디에서 실행되는지 제어하는 인스턴스)과 데이터 플레인(컨테이너가 실행되는 인스턴스)으로 구성됩니다. Kubernetes로 컨테이너 또는 서비스를 실행하기 전에 클러스터를 정의해야 합니다.

Q: Kubernetes 노드란 무엇입니까?

Kubernetes 노드는 Kubernetes 클러스터의 일부인 단일 컴퓨팅 인스턴스(가상 머신)입니다. 인스턴스에는 마스터와 작업자라는 두 가지 유형이 있습니다. 마스터는 Kubernetes API 서버를 호스팅하고 컨테이너가 언제, 어떻게, 어디에서 실행되는지 제어합니다. 작업자는 컨테이너가 실제로 실행되고 데이터를 처리하는 컴퓨팅 인스턴스입니다.

Q: Kubernetes 팟이란 무엇입니까?

Kubernetes 팟은 Kubernetes가 컴퓨팅 인스턴스에서 컨테이너를 실행하는 방법입니다. 여기에는 컨테이너와 컨테이너의 실행, 네트워킹 및 저장에 대한 사양이 포함되어 있습니다. 포드는 단일 컨테이너일 수도 있고 항상 함께 실행되는 다수의 컨테이너일 수도 있습니다. 일반적으로 단일 컨테이너를 실행한다면 포드를 실행 컨테이너로 생각하면 됩니다.

Q: etcd란 무엇입니까?

etcd는 머신의 분산 클러스터 전체에 걸쳐 데이터를 저장 및 공유할 수 있게 해주는 분산 키 값 스토어입니다. Kubernetes는 etcd를 사용하여 클러스터에 대한 데이터를 저장하고 Kubernetes 컨트롤 플레인 전체에서 이를 공유합니다.

Q: AWS에서는 Kubernetes를 지원합니까?

AWS를 사용하면 손쉽게 Kubernetes를 실행할 수 있습니다. 실제로 CNCF(Cloud Native Computing Federation)에 따르면 AWS는 클라우드에서 Kubernetes를 실행하는 고객을 가장 많이 보유하고 있으며 Kubernetes 배포 대부분이 AWS에서 실행되고 있습니다. AWS는 고객이 AWS에서 Kubernetes를 손쉽게 실행할 수 있도록 Kubernetes 커뮤니티와 협력하고 적극적으로 기여합니다.

AWS에서 제공하는 관리형 서비스인 Amazon Elastic Kubernetes Service(EKS)를 사용하면, Kubernetes 컨트롤 플레인을 설치 및 운영할 필요 없이 AWS에서 손쉽게 Kubernetes를 사용할 수 있습니다.

Q: AWS에서 Kubernetes를 사용하려면 어떻게 해야 합니까?

AWS에서 Kubernetes를 사용하는 주요 방법에는 두 가지가 있습니다. Amazon EC2 가상 머신 인스턴스에서 직접 실행하거나 Amazon EKS 서비스를 사용하는 것입니다. EC2에서 Kubernetes를 직접 실행하는 데 대한 자세한 내용은 AWS Github 워크숍에서 알아볼 수 있고, Amazon EKS 사용에 대한 자세한 내용은 제품 페이지에서 알아볼 수 있습니다.

AWS에서의 Kubernetes에 대해 자세히 알아보십시오

Amazon Elastic Kubernetes Service 페이지 방문

AWS 기반 컨테이너에 대해 자세히 알아보기

컨테이너 페이지로 이동하기
구축할 준비가 되셨습니까?
AWS 계정 생성
추가 질문이 있으십니까?
문의하기