[인프라 솔루션] 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 배포
-
Cloud Shell 실행
-
Bash Shell로 바꾸기
-
리소스 그룹 만들기
az group create --name 10979F0702-LabRG --location "east us"
-
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
-
VM에 접속하기 위해 정규화된 이름 식별
$ FQDN=$(az vm show --resource-group 10979F0702-LabRG --name myDockerVM --show-details --query [fqdns] --output tsv) $ echo $FQDN
-
VM에 대한 SSH 세션 설정
$ ssh student@FQDN
-
VM 접속 확인
-
Docker 호스트에 컨테이너 배포
$ docker run -d -p 80:80 --restart=always nginx
-
컨테이너 배포 진행사항 모니터링
$ docker ps
-
Azure Portal에서 VM의 DNS 확인 후 배포 확인
-
다중 배포를 위한 Docker Compose 설치 유무 확인
$ nano docker-compose.yml
-
Compose를 사용하여 다중 배포
$ docker-compose up -d
-
Docker ps로 배포 확인
$ docker ps
- 접속 확인
'노트 > Cloud : 인프라' 카테고리의 다른 글
[네트워크] NAT ( Network Address Translation) (0) | 2020.10.06 |
---|---|
[네트워크] 네트워크 기초 (0) | 2020.10.06 |
[인프라 솔루션] MS Azure | Azure VPN (0) | 2020.07.01 |
[인프라 솔루션] MS Azure | Azure LoadBalancer (로드밸런서) (0) | 2020.06.30 |
[인프라 솔루션] MS Azure | AAD(Azure Active Directory) (0) | 2020.06.30 |