AWS에서의 Kubernetes

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

kuberneteslogo

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

AWS를 사용하면 확장 가능하고 가용성이 뛰어난 가상 머신 인프라, 커뮤니티 지원 서비스 통합, 공인된 관리형 Kubernetes 준수 서비스인 Amazon Elastic Container Service for Kubernetes(EKS)를 통해 클라우드에서 Kubernetes를 손쉽게 실행할 수 있습니다.

KUBERNETES 작동 방식

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

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

KUBERNETES를 사용해야 하는 이유

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

100x100_benefit_scalable_100x100_benefit_scalable

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

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

100x100_benefit_migration

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

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

100x100_benefit_global_100x100_benefit_global

어디서든 실행

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

100x100_benefit_compatible

새로운 기능 추가

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

AWS에서 KUBERNETES 실행

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

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

 

AWS 커뮤니티 Kubernetes 협업

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

CNI_logo_120x100

CNI Plugin

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

heptio-logo-news_1_120x100

IAM Authenticator

AWS IAM 자격 증명을 사용하여 Kubernetes 클러스터에 대해 인증하는 도구.

EKS_external-dns_120x100

외부 DNS

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

Kubernetes-detoure-titre-noir_120x100

SIG AWS

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

new_product_fargate

VIRTUAL KUBELET

실험적 – Kubernetes 컨트롤 플레인을 사용하여 AWS Fargate에서 컨테이너 실행.

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

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

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

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

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

Amazon Elastic Container Service for Kubernetes 페이지로 이동하기
구축할 준비가 되셨습니까?
AWS 계정 생성
질문이 있으십니까?
문의처