경고
ACS(Azure Container Service)는 더 이상 사용되지 않습니다. ACS에 새로운 기능이나 기능이 추가되지 않습니다. 모든 API, 포털 환경, CLI 명령 및 설명서는 더 이상 사용되지 않는 것으로 표시됩니다.
자세한 내용은 Azure.com Azure Container Service 사용 중단 공지 사항을 참조하세요.
다음 Azure Marketplace 솔루션 중 하나를 배포하는 것이 좋습니다.
- Mesosphere DC/OS
- 기업
- 오픈 소스 버전
Azure Container Service를 사용하면 컨테이너화된 애플리케이션을 실행하도록 미리 구성된 가상 머신 클러스터를 더 간단하게 만들고, 구성하고, 관리할 수 있습니다. 인기 있는 오픈 소스 예약 및 오케스트레이션 도구의 최적화된 구성을 사용합니다. 이를 통해 기존 기술을 사용하거나 점점 커지는 커뮤니티 전문 지식을 활용하여 Microsoft Azure에서 컨테이너 기반 애플리케이션을 배포하고 관리할 수 있습니다.
Azure Container Service는 Docker 컨테이너 형식을 활용하여 애플리케이션 컨테이너가 완전히 이식 가능하도록 합니다. 또한 Marathon 및 DC/OS, Docker Swarm 또는 Kubernetes를 선택하여 이러한 애플리케이션을 수천 개의 컨테이너 또는 수만 개의 컨테이너로 확장할 수 있습니다.
Azure Container Service를 사용하면 오케스트레이션 계층의 이식성을 포함하여 애플리케이션 이식성을 유지하면서 Azure의 엔터프라이즈급 기능을 활용할 수 있습니다.
Azure Container Service 사용
Azure Container Service의 목표는 오늘날 사용자들에게 인기 있는 오픈 소스 도구와 기술을 사용하여 컨테이너 호스팅 환경을 제공하는 것입니다. 이를 위해 선택한 오케스트레이터(DC/OS, Docker Swarm 또는 Kubernetes)에 대한 표준 API 엔드포인트를 공개합니다. 이러한 엔드포인트를 사용하면 해당 엔드포인트와 통신할 수 있는 모든 소프트웨어를 활용할 수 있습니다. 예를 들어 Docker Swarm 엔드포인트의 경우 Docker CLI(명령줄 인터페이스)를 사용하도록 선택할 수 있습니다. DC/OS의 경우 DCOS CLI를 선택할 수 있습니다. Kubernetes의 경우 kubectl선택할 수 있습니다.
Azure Container Service를 사용하여 Docker 클러스터 만들기
Azure Container Service 사용을 시작하려면 포털을 통해(Azure Container Service 대한 Marketplace 검색), Azure Resource Manager 템플릿(Docker Swarm, DC/OS또는 Kubernetes) 또는 Azure CLI사용하여 Azure Container Service 클러스터를 배포합니다. 제공된 빠른 시작 템플릿은 추가 또는 고급 Azure 구성을 포함하도록 수정할 수 있습니다. 자세한 내용은 Azure Container Service 클러스터배포를 참조하세요.
애플리케이션 배포
Azure Container Service는 오케스트레이션을 위해 Docker Swarm, DC/OS 또는 Kubernetes 중에서 선택할 수 있습니다. 애플리케이션을 배포하는 방법은 선택한 오케스트레이터에 따라 달라집니다.
DC/OS 사용
DC/OS는 Apache Mesos 분산 시스템 커널을 기반으로 하는 분산 운영 체제입니다. Apache Mesos는 Apache Software Foundation에 속해 있으며, IT 분야에서 가장 큰 이름 중 일부를 사용자 및 기여자로 나열하고 있습니다.
DC/OS용으로 구성된 Azure Container Service에서 에이전트와 마스터를 보여줍니다. 
DC/OS 및 Apache Mesos에는 인상적인 기능 집합이 포함되어 있습니다.
- 검증된 확장성
- Apache ZooKeeper를 사용하여 내결함성이 있는 복제된 주 노드 및 보조 노드
- Docker 형식 컨테이너 지원
- Linux 컨테이너를 사용하는 작업 간의 네이티브 격리
- 다중 리소스 예약(메모리, CPU, 디스크 및 포트)
- 새로운 병렬 애플리케이션을 개발하기 위한 Java, Python 및 C++ API
- 클러스터 상태를 보기 위한 웹 UI
기본적으로 Azure Container Service에서 실행되는 DC/OS에는 워크로드 예약을 위한 Marathon 오케스트레이션 플랫폼이 포함됩니다. 그러나 ACS의 DC/OS 배포에 포함된 것은 서비스에 추가할 수 있는 서비스의 Mesosphere Universe입니다. 우주의 서비스에는 Spark, Hadoop, Cassandra 등이 포함됩니다.
Marathon을 사용
Marathon은 cgroups 또는 Azure Container Service의 경우 Docker 형식 컨테이너의 서비스에 대한 클러스터 전체 초기화 및 제어 시스템입니다. Marathon은 애플리케이션을 배포할 수 있는 웹 UI를 제공합니다. 다음과 같은 URL에서 액세스할 수 있습니다. 배포 시 DNS_PREFIX와 REGION이 모두 정의된 http://DNS_PREFIX.REGION.cloudapp.azure.com. 사용자 고유의 DNS 이름을 제공할 수도 있습니다. Marathon 웹 UI를 사용하여 컨테이너를 실행하는 방법에 대한 자세한 내용은 Marathon 웹 UI 통해 DC/OS 컨테이너 관리를참조하세요.
Marathon과 통신하기 위해 REST API를 사용할 수도 있습니다. 각 도구에 사용할 수 있는 여러 클라이언트 라이브러리가 있습니다. 다양한 언어를 다루며 모든 언어로 HTTP 프로토콜을 사용할 수 있습니다. 또한 많은 인기 있는 DevOps 도구는 Marathon을 지원합니다. 이렇게 하면 Azure Container Service 클러스터로 작업할 때 운영 팀이 최대한 유연하게 작업할 수 있습니다. Marathon REST API를 사용하여 컨테이너를 실행하는 방법에 대한 자세한 내용은 Marathon REST API 통해 DC/OS 컨테이너 관리를참조하세요.
Docker Swarm 사용
Docker Swarm은 Docker에 대한 네이티브 클러스터링을 제공합니다. Docker Swarm은 표준 Docker API를 제공하므로 이미 Docker 디먼과 통신하는 모든 도구는 Swarm을 사용하여 Azure Container Service의 여러 호스트로 투명하게 확장할 수 있습니다.
비고
Azure Container Service의 Docker Swarm 오케스트레이터는 레거시 독립 실행형 Swarm을 사용합니다. 현재 통합 Swarm 모드(Docker 1.12 이상)은 Azure Container Service에서 지원되는 오케스트레이터가 아닙니다. Azure에서 Swarm 모드 클러스터를 배포하려면 오픈 소스 ACS 엔진, 커뮤니티에서 제공하는 빠른 시작 템플릿또는 azure Marketplace Docker 솔루션을 사용합니다.
Swarm 클러스터에서 컨테이너를 관리하는 데 지원되는 도구는 다음과 같습니다.
- Dokku
- Docker CLI 및 Docker Compose
- 크레인
- 젠킨스
Kubernetes 사용
Kubernetes는 인기 있는 오픈 소스 프로덕션급 컨테이너 오케스트레이터 도구입니다. Kubernetes는 컨테이너화된 애플리케이션의 배포, 크기 조정 및 관리를 자동화합니다. 오픈 소스 솔루션이며 오픈 소스 커뮤니티에 의해 구동되므로 Azure Container Service에서 원활하게 실행되며 Azure Container Service에서 대규모로 컨테이너를 배포하는 데 사용할 수 있습니다.
다음과 같은 다양한 기능 집합이 있습니다.
- 수평 크기 조정
- 서비스 검색 및 부하 분산
- 비밀 및 구성 관리
- API 기반 자동화된 롤아웃 및 롤백
- 자체 치유
동영상
Azure Container Service 시작(101):
Azure Container Service를 사용하여 애플리케이션 빌드(빌드 2016)