Azure에서 컨테이너 서비스를 사용해 보도록 하겠습니다.

8808 단어 DockerAzuretech

개시하다


이번에 소개된 것은 저번가 제작한 자바의 Docker 이미지를 아주저가 제공하는 컨테이너 서비스(Azure Contener Instance, 아주어 웹 앱 for Container)로 디자인한 것이다.
실제 테스트에 사용될 경우 다음 월별 비용은 일정(Azure Contener Registory 이외)에 따라 부과되므로 조기에 삭제하는 것이 좋습니다.

Azure의 컨테이너 서비스


아주어가 제공하는 컨테이너 서비스에는 다양한 존재가 존재하며 자체 방식대로 아이스·패스로 나눠 서비스 내용과 특정 계획의 월 비용(2021년 12월 시점, 소수점 제외)을 정리했다.정확한 비용 계산은 사용하십시오공식 사이트.
그나저나 기존에 소개됐던 애저스테이틱웹앱뉴스.+애저펀션은 패스(Function asa Service)의 포지셔닝이다.

Iaas(Infrastructure as a Service)


  • Azure Vertual Machines(VM)
  • 일반적으로 VM에 Docker를 설치하여 사용합니다.사내일 뿐이라면 기트랩과 협업하면 충분히 활용할 수 있다.
  • 월간 D2sv3(vCPUx2, Mem8G, 4G)면 94달러.그리고 1, 3년 예약과 스팟VM을 이용하면 19달러로 떨어진다.시리즈에 따르면 다양한 가격 구간이 있다.

  • Azure Contener Registory ... 2018년 6월 GA
  • Docker 이미지를 개별적으로 관리할 수 있습니다.
  • 는 OCI(Open Container Initiative)와 같은 용기 표준도 지원한다.
  • 월액, Basic 10G, $54Premium 500G, $50+$0.0001/s 구축(일당)
    ※ 개인 방문은 프리미엄만 이용할 수 있습니다.

  • Azure Contener Instance(ACI) ... 2018년 4월 GA
  • Registory에 등록된 Docker 이미지를 이용하여 네트워크 설정을 하고 디버깅을 한 후 이용할 수 있다.
  • YML, JSON, Docker Compose를 사용하면 여러 용기를 디버깅할 수 있습니다.Docker Compose의 경우 일부 기능은 지원되지 않는 것 같습니다.
  • 월액 컨테이너 그룹당 vCPUx1Mem4G 52

  • Azure Kubernetes Service(AKS) ... 2018년 6월 GA
  • Kubernetes(k8s)에서 용기를 조작할 수 있는 서비스.
  • 여러 노드(서버)를 집단으로 통합하고 집단에서 여러 용기를 실행함으로써 강화/가용성이 높은 구조를 제공할 수 있고 서버가 낭비하지 않고 사용할 수 있다.그래서 설정이 어렵다.
  • 월간 F4sv2(vCPUx4, Mem8G, 32G) $154
  • Pass(Platform as a Service)


  • Azure Web App for Containers ... (Linux Edition) 2017년 9월 GA, (Windows Edition) 2020년 9월 GA
  • Azure App 서비스에서 코드를 만들지 않고 Docker를 선택할 때의 다른 호칭이다.
  • 일반 앱 서비스에 비해 언어와 버전을 모두 사용할 수 있어 편리하다.
  • 월별 테스트: BasicA0(vCPUx1, Mem1.75, 10G)은 13달러, CPUx2는 2배
    공식 발표: Standarda0(vCPUx1, Mem1.7550G) $81, CPUx2배
    ※ 프리미엄 V3 이후 3년 예약 시 40% 할인.

  • Azure Red Hat OpenShift ... 2019년 5월 GA
  • Red Hat OpenShift를 사용하여 k8s를 사용할 수 있습니다.k8s를 직접 사용하는 것보다 기능이 높습니다.
  • 월액 마스터: D8sv3(vCPUx8Mem 32G) $376
    + 작업 노드: F4sv2(vCPUx4Mem8G)$281

  • Azure Spring Cloud ... 2020년 9월 GA
  • 스프링을 특수화한 서비스로 k8s에서 이동할 수 있다.
  • 원본을 프로그래밍하기만 하면 자동으로 이미지를 만들고 k8s에서 프로그래밍을 할 수 있다.
  • 활용한 스프링 클라우드의 버전도 소스의 버전에 의존한다.
  • 월간 테스트: Basic(vCPUx2, Mem4GB) 약 224달러, +vCPUx1 = 64달러, +Mem1G=7
    공식 공연: Standard(vCPUx8, Mem16GB) 약 861, +vCPUx1 = $82, +Mem1G=$8

  • Azure Container Apps Service ... 2021년 11월 프리뷰
  • k8s에서 컨테이너를 간단하게 이동할 수 있다.앞으로는 주의해야 한다.

  • Dapr와의 조합을 통해 다양한 언어와 버전에 대응할 수 있다.
  • 월액은 미정이다.프리뷰는 무료입니다.현재 영역은 Canada와 Europe뿐입니다.
  • Azure Contener Registory


    우선 공식 홈페이지를 기반으로 지난번 제작한 디코커 이미지에 애저에 접속한다.
  • 포털사이트에서'컨테이너 등록표'를 검색하고'제작'버튼을 누른다.
  • 아래 내용을 설정하고 [확인 및 제작] 버튼을 누른 후 [제작] 버튼을 누릅니다.
    · 자원팀...자주 사용하는 그룹
    이름training
    ・등록표 이름...임의의 이름(xXX.azureker.io 액세스 가능)
    /장소...동일본(리소스 그룹에서 자동 선택)
    ・SKU...Basic
  • 제작된 등록표의 메뉴에서 액세스 키를 선택하여 관리자 사용자를 ON으로 변경하여 거기에 표시된 사용자 이름과 패스워드를 유지한다.
  • 우분투에 이번에 제작한 컨테이너 등록표에 등록했다.여기서부터 메뉴에서 빠르게 시작하는 내용과 같습니다.
  • $ docker login xxxx.azurecr.io
    Username: <3で取得したユーザー名>
    Password: <3で取得したpassword>
    
  • 마지막으로 만든 Docker 이미지에 레이블을 붙이고 누릅니다.
  • $ docker tag hello-world:0.0.1-SNAPSHOT xxxx.azurecr.io/hello-world:v1
    $ docker push xxxx.azurecr.io/hello-world:v1
    
  • 동작 확인으로 라벨로 만든 Docker 이미지를 삭제하고 등록표에서 가져옵니다.이 밖에 포털 화면을 확인한 등록표에도 Hello-world가 추가됐다.
  • docker rmi xxxx.azurecr.io/hello-world:v1
    docker pull xxxx.azurecr.io/hello-world:v1
    

    Azure Contener Instance


    그런 다음 Connter Instance에서 Docker 이미지를 시작합니다.
    많이 했지만 아직 사용법을 잘 몰라 단순히 퍼블릭 IP에 올린 프로그램만 게재했다.
  • PowerShell을 통해 Azure CLI를 업데이트합니다.2.28.0 알려진 문제#19475에서 용기를 삭제할 수 없습니다.
  • > az upgrade
    Your current Azure CLI version is 2.28.0. Latest version available is 2.30.0.
    → 要再起動
    > az --version
    
  • Connter Registory 이미지에 따라 컨테이너를 만들려면 다음 명령을 사용합니다.
  • $ az container create --resource-group <リソース名> --name hello-world --image xxxx.azurecr.io/hello-world:v1 --cpu 1 --memory 1 --registry-login-server xxxx.azurecr.io --registry-username <ユーザID> --registry-password <パスワード> --dns-name-label <DNS名> --ports 8080 --os-type linux
    → リソース名、ユーザID、パスワード、DNS名は、適切な値に変更する。
    → ポータルからはユーザID, パスワードの指定ができなかったので、作成できなかった。
    $ az container show --resource-group <リソース名> --name hello-world --out table
    → 一覧表示
    $ az container attach --resource-group <リソース名> --name hello-world
    → ログ確認
    
  • 다음 URL을 통해 액세스할 수 있는지 확인합니다.
    http:/japaneast.azurecontainer.io:8080/hello
  • 포털에서 용기를 삭제합니다.
  • $ az container delete --resource-group traning2 --name hello-world 
    → yを押すと削除される。
    

    Azure Web App for Container


    그런 다음 Azure App Service에서 Docker 이미지를 시작합니다.간단한 응용 프로그램이 시작되면 이쪽은 비교적 간단하다.Docker Compose를 업로드할 수도 있습니다.
  • 포털에서'앱 서비스'를 검색하고'제작'버튼을 누릅니다.
  • 다음을 설정하고 [만들기] 버튼을 누릅니다.
    기본적
    · 자원팀...자주 사용하는 그룹
    이름임의의 이름(xxxxxx.xx.azurewebsite.net을 통해 접근 가능)
    ・공개...Docker 컨테이너
    지역.Japan East or West
    · Linux 프로그램...신규 제작에서 개발/테스트 중인 B1을 선택한다.(Free 시작 안 함)
    Docker
    /이미지 소스...Azure Container Registry
    등록표...생성된 레지스트리 이름
    인상hello-world(자동 선택)
    등록표...v1(자동 선택)
  • 메뉴의 [구성]에서 [+ 새 적용 설정]을 선택하고 다음 설정을 추가합니다.
    이름WEBSITES_PORT
    값지다8080
  • 설정 후 [저장] 버튼을 누르면 프로그램이 다시 시작됩니다.
  • 아래 URL에서 화면이 표시되는지 확인합니다.보일 때까지 1~2분 걸렸어요.
    임의의 이름.azurewebsites.net/hello
    ※ 링크가 되지 않으면 메뉴의 기록 흐름을 보고 기록이 이동하지 않으면 개요에서 다시 시작합니다.
  • 끝말


    이번에는 아주어를 이용한 컨테이너 서비스를 소개했다.원가만 고려하면 VM으로 구축하면 비교적 저렴할 수 있지만 k8s로 확장성/가용성이 높은 서비스를 구축하려면 다양한 전문 지식이 필요하기 때문에 파스의 컨테이너 이용이 더욱 선진적일 것이라고 생각합니다.
    이어서 VM과 GitLab을 이용해 회사 내에서 사용하는 컨테이너 서비스에 대해서도 보도하고 싶습니다.

    좋은 웹페이지 즐겨찾기