[인프라 솔루션] MS Azure | Azure Container (컨테이너)

2020. 7. 1. 15:38노트/Cloud : 인프라

Azure Container

Docker 란?

App 실행에 필요한 환경을 하나의 이미지로 모아두고,
그 이미지를 사용하여 다양한 환경에서
App 실행 환경을 구축 및 운용하기 위한 컨테이너 기반의 오픈소스 플랫폼

Container 란?

호스트OS상에 논리적인 구획을 만들어
App구동에 필요한 라이브러리나 실행파일을 하나로 모아
마치 별도의 서버인 것 처럼 사용할 수 있게 만든 기술

Container 기본 구성

 

Container의 특징

  • 빠른 속도
  • 운영 표준화
  • 상호 운용성

Image란?

컨테이너 실행에 필요한 파일과 설정 값 등을 포함하고 있는 것으로

상태 값을 가지지 않고 변하지 않는 상태로 저장되어 있는 것

VM 과 Container 비교

 

Kubernetes 란?

컨테이너를 쉽고 빠르게 배포/ 확장하고
관리를 자동화해주는 오픈소스 플랫폼으로
다수의 Docker Container 오케스트레이션 서비스

  • 오케스트레이션 : 컨테이너에 사용자가 몰리면 부하분산 처리하는 것

Kubernetes 기본 구성

  • Cluster
    • Master와 Node의 집합
  • Master
    • 각각의 node를 관리하는 역할
  • Node
    • 1개 이상의 컨테이너가 배포되는 머신
  • Pod
    • IP나 파일시스템과 같은 자원을 공유하기 위한 컨테이너 모음

Kubernetes 특징

  • EcoSystem
    • 전세계적 스케일의 경험과 기술이 녹아들어있는 거대한 커뮤니티와 생태계가 구성됨
  • 클라우드 지원
    • 부하에 따라 자동으로 Auto Scaling이 가능하고, IP를 할당받아 로드밸런서로 사용이 가능
  • NameSpace & Label
    • 하나의 클러스트를 논리적으로 구분하여 사용가능 (Tag 기능과 유사)
  • BRAC (Role-Based Access Contrl)
    • 각각의 리소스에 대해 유저별로 CRUD권한을 손쉽게 지정 가능

Azure에 Container 배포

  1. Cloud Shell 실행

  1. Bash Shell로 바꾸기

 

  1. 리소스 그룹 만들기

    az group create --name 10979F0702-LabRG --location "east us"

  1. Docker가 올라간 ubuntu 탬플릿 형식으로 설치

    az group deployment create --resource-group 10979F0702-LabRG --template-url https://raw.github.usercontent.com/Azure/azure-quickstart-template/master/docker-simple-on-ubuntu/azuredeploy.json

     

 

 

  1. VM에 접속하기 위해 정규화된 이름 식별

    $ FQDN=$(az vm show --resource-group 10979F0702-LabRG --name myDockerVM --show-details --query [fqdns] --output tsv)
    $ echo $FQDN

     

  1. VM에 대한 SSH 세션 설정

    $ ssh student@FQDN

 

 

  1. VM 접속 확인

  1. Docker 호스트에 컨테이너 배포

    $ docker run -d -p 80:80 --restart=always nginx

 

 

  1. 컨테이너 배포 진행사항 모니터링

    $ docker ps 

 

  1. Azure Portal에서 VM의 DNS 확인 후 배포 확인

  1. 다중 배포를 위한 Docker Compose 설치 유무 확인

    $ nano docker-compose.yml

  1. Compose를 사용하여 다중 배포

    $ docker-compose up -d

     

  1. Docker ps로 배포 확인

    $ docker ps

     

  1. 접속 확인