Azure Stack Hub Marketplace에 Linux 이미지 추가

주의

이 문서에서는 EOL(수명 종료) 상태 가까운 Linux 배포판인 CentOS를 참조합니다. 사용 및 계획을 적절하게 고려하세요. 자세한 내용은 CentOS 수명 종료 지침을 참조하세요.

Azure Stack Hub Marketplace에 Linux 기반 이미지를 추가하여 Azure Stack Hub에 Linux VM(가상 머신)을 배포할 수 있습니다. Azure Stack Hub에 Linux 이미지를 추가하는 가장 쉬운 방법은 마켓플레이스 관리를 사용하는 것입니다. 이러한 이미지는 Azure Stack Hub와의 호환성을 위해 준비 및 테스트되었습니다.

Marketplace 관리

Azure Marketplace Linux 이미지를 다운로드하려면 Azure에서 Azure Stack Hub로 마켓플레이스 항목 다운로드를 참조하세요. Azure Stack Hub에서 사용자에게 제공하려는 Linux 이미지를 선택합니다.

이러한 이미지에 대한 업데이트가 자주 있으므로 최신 상태로 유지하기 위해 자주 검사.

사용자 고유의 이미지 준비

가능한 경우 마켓플레이스 관리를 통해 사용할 수 있는 이미지를 다운로드합니다. 이러한 이미지는 Azure Stack Hub를 사용하여 준비하고 테스트했습니다.

지원되는 최소 Azure Linux 에이전트

Azure Stack Hub에서 Azure Linux 에이전트 및 확장을 지원하려면 Linux VM(가상 머신)의 Linux 에이전트 버전은 버전 2.2.10 이상이어야 하며 Azure Stack Hub는 현재 릴리스의 두 릴리스 내에 있는 빌드를 실행해야 합니다. Azure Stack Hub 업데이트에 대한 자세한 내용은 Azure Stack Hub 릴리스 정보를 참조하세요.

2020년 7월 현재 Linux 에이전트에 대해 지원되는 최소 버전은 2.2.41입니다. Linux 에이전트 버전이 버전 2.2.10보다 이전인 경우 배포 패키지 관리자를 사용하고 자동 업데이트를 사용하도록 설정하여 VM을 업데이트해야 합니다.

  • 배포 공급업체에 패키지 리포지토리에 최소 Linux 에이전트 버전이 없는 경우 시스템은 여전히 지원됩니다. Linux 에이전트 버전이 버전 2.1.7 이후인 경우 에이전트 자동 업데이트 기능을 사용하도록 설정해야 합니다. 확장 처리를 위한 최신 버전의 코드를 검색합니다.
  • Linux 에이전트 버전이 버전 2.2.10보다 이전이거나 Linux 시스템이 지원되지 않으면 지원을 받기 전에 에이전트를 업데이트해야 할 수 있습니다.
  • Linux 에이전트 버전이 게시자에 의해 사용자 지정된 경우 Microsoft는 사용자 지정으로 인해 지원 에이전트 또는 확장 관련 지원을 위해 게시자에 안내할 수 있습니다. Linux 에이전트를 업그레이드하려면 VM에서 Azure Linux 에이전트를 업데이트하는 방법을 참조하세요.

Linux 에이전트 버전 확인

Linux 에이전트 버전을 검사 다음을 실행합니다.

waagent --version

예를 들어 Ubuntu 18.04에서 이 명령을 실행하는 경우 출력이 표시됩니다.

WALinuxAgent - 2.2.45
Python - 3.6.9
Goal State Agent - 2.2.48.1

에이전트에 대한 자세한 내용은 WALinuxAgent에 대한 FAQ를 참조하세요.

사용자 고유의 Linux 이미지 준비

다음 지침을 사용하여 사용자 고유의 Linux 이미지를 준비할 수 있습니다.

Cloud-init

Cloud-init를 사용하여 Linux VM을 사용자 지정할 수 있습니다. 다음 PowerShell 지침을 사용할 수 있습니다.

1단계: cloud-config를 사용하여 cloud-init.txt 파일 만들기

cloud-init.txt 라는 파일을 만들고 다음 클라우드 구성을 붙여넣습니다.

#cloud-config
package_upgrade: true
packages:
  - nginx
  - nodejs
  - npm
write_files:
  - owner: www-data:www-data
    path: /etc/nginx/sites-available/default
    content: |
      server {
        listen 80;
        location / {
          proxy_pass http://localhost:3000;
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection keep-alive;
          proxy_set_header Host $host;
          proxy_cache_bypass $http_upgrade;
        }
      }
  - owner: azureuser:azureuser
    path: /home/azureuser/myapp/index.js
    content: |
      var express = require('express')
      var app = express()
      var os = require('os');
      app.get('/', function (req, res) {
        res.send('Hello World from host ' + os.hostname() + '!')
      })
      app.listen(3000, function () {
        console.log('Hello world app listening on port 3000!')
      })
runcmd:
  - service nginx restart
  - cd "/home/azureuser/myapp"
  - npm init
  - npm install express -y
  - nodejs index.js

2단계: Linux VM 배포 중 cloud-init.txt 참조

Azure Stack Hub Linux VM에서 연결할 수 있는 Azure Storage 계정, Azure Stack Hub 스토리지 계정 또는 GitHub 리포지토리에 파일을 업로드합니다.

현재 VM 배포에 cloud-init를 사용하는 것은 REST, PowerShell 및 Azure CLI에서만 지원되며 Azure Stack Hub에 연결된 포털 UI가 없습니다.

빠른 시작: Azure Stack Hub에서 PowerShell을 사용하여 Linux 서버 VM 만들기를 따라 PowerShell을 사용하여 Linux VM을 만들 수 있습니다. 을 플래그의 일부로 참조 cloud-init.txt 해야 합니다.-CustomData

$VirtualMachine =Set-AzVMOperatingSystem -VM $VirtualMachine `
  -Linux `
  -ComputerName "MainComputer" `
  -Credential $cred -CustomData "#include https://cloudinitstrg.blob.core.windows.net/strg/cloud-init.txt"

Marketplace에 이미지 추가

Marketplace에 이미지 추가를 따릅니다. 매개 변수가 로 OSType 설정되어 있는지 확인합니다 Linux.

Marketplace에 이미지를 추가하면 Marketplace 항목이 만들어지고 사용자가 Linux VM을 배포할 수 있습니다.

다음 단계