Udostępnij za pośrednictwem


Samouczek: wdrażanie kontenera typu spot za pomocą Azure Container Instances przy użyciu interfejsu wiersza polecenia platformy Azure (wersja zapoznawcza)

Kontenery typu spot łączą prostotę usługi ACI z niskim kosztem maszyn wirtualnych typu spot, dzięki czemu klienci mogą łatwo i przystępnie cenowo uruchamiać konteneryzowane obciążenia przerywane na dużą skalę. Używanie Azure Container Instances do uruchamiania bezserwerowych kontenerów typu spot. Wdróż aplikację w kontenerze typu spot na żądanie, gdy chcesz uruchamiać przerywane, konteneryzowane obciążenia w nieużywanej pojemności platformy Azure przy niskich kosztach i nie potrzebujesz pełnej platformy orkiestracji kontenerów, takiej jak Azure Kubernetes Service.

W tym przewodniku Szybki start użyjesz interfejsu wiersza polecenia platformy Azure do wdrożenia kontenera helloworld przy użyciu kontenerów typu Spot. Kilka sekund po wykonaniu jednego polecenia wdrożenia możesz przejść do dzienników kontenera:

  • Ten przewodnik Szybki start wymaga nowszej wersji 2xxx interfejsu wiersza polecenia platformy Azure. Jeśli korzystasz z usługi Azure Cloud Shell, najnowsza wersja jest już zainstalowana.

Tworzenie grupy zasobów

Wystąpienia kontenerów platformy Azure, tak jak wszystkie zasoby platformy Azure, muszą zostać wdrożone w grupie zasobów. Grupy zasobów umożliwiają organizowanie powiązanych zasobów platformy Azure i zarządzanie nimi.

Najpierw utwórz grupę zasobów o nazwie myResourceGroup w lokalizacji westus za pomocą następującego polecenia az group create :

az group create --name myResourceGroup --location westus

Tworzenie kontenera

Teraz, gdy masz grupę zasobów, możesz uruchomić kontener spot na platformie Azure. Aby utworzyć grupę kontenerów typu Spot za pomocą interfejsu wiersza polecenia platformy Azure, podaj nazwę grupy zasobów, nazwę wystąpienia kontenera, obraz kontenera i nową właściwość o nazwie "priority" z wartością "Spot" do polecenia az container create . W tym przewodniku Szybki start użyjesz obrazu publicznego mcr.microsoft.com/azuredocs/aci-helloworld . Ten obraz zawiera małą aplikację internetową napisaną w języku Node.js, która udostępnia statyczną stronę HTML.

Kontenerów typu spot nie można uwidocznić w Internecie, określając co najmniej jeden port do otwarcia, etykietę nazwy DNS lub oba te porty. W tym przewodniku Szybki start wdrożysz kontener przy użyciu obrazu helloworld bez etykiety nazwy DNS. Nie będzie publicznie osiągalny. Możesz wysłać zapytanie do dzienników kontenera, aby sprawdzić, czy kontener nasłuchuje na domyślnym porcie 80.

Wykonaj polecenie podobne do poniższego, aby uruchomić wystąpienie kontenera.

az container create --resource-group acispotdemo --name acispotclitest --image mcr.microsoft.com/azuredocs/aci-helloworld --priority spot

W ciągu kilku sekund powinna pojawić się odpowiedź z interfejsu wiersza polecenia platformy Azure, wskazująca ukończenie wdrażania. Sprawdź jego stan za pomocą polecenia az container show:

az container show --resource-group acispotdemo --name acispotclitest --query "{ProvisioningState:provisioningState}" --out table

Po uruchomieniu polecenia zostanie wyświetlona w pełni kwalifikowana nazwa domeny (FQDN) kontenera i stan jego aprowizacji.

ContainerGroupName                               ProvisioningState
---------------------------------  -------------------
acispotclitest                        Succeeded

Jeśli kontener ProvisioningState ma wartość Powodzenie, gratulacje! Aplikacja działającą w kontenerze Docker została pomyślne wdrożona na platformie Azure.

Ściąganie dzienników kontenera

Jeśli trzeba rozwiązać problem z kontenerem lub z uruchomioną na nim aplikacją (lub po prostu wyświetlić dane wyjściowe), zacznij od wyświetlenia dzienników wystąpienia kontenera.

Dzienniki wystąpienia kontenera można ściągnąć przy użyciu polecenia az container logs:

az container logs --resource-group acispotdemo --name acispotclitest

Dane wyjściowe wyświetlają dzienniki dla kontenera i powinny zawierać poniższe dane wyjściowe

listening on port 80

Dołączanie strumieni wyjściowych

Oprócz wyświetlenia dzienników można dołączyć lokalne strumienie Standardowe wyjście i Błąd standardowy do ich odpowiedników należących do kontenera.

Najpierw wykonaj polecenie az container attach, aby dołączyć konsolę lokalną do strumieni danych wyjściowych kontenera:

az container attach --resource-group acispotdemo --name acispotclitest

Po dołączeniu odśwież przeglądarkę kilka razy, aby wygenerować więcej danych wyjściowych. Po zakończeniu odłącz swoją konsolę kombinacją klawiszy Control+C. Wyświetlone dane wyjściowe powinny przypominać następujące dane:

Container 'acispotclitest' is in state 'Running'...
Start streaming logs:
listening on port 80

Czyszczenie zasobów

Po zakończeniu pracy z kontenerem możesz go usunąć przy użyciu polecenia az container delete:

az container delete --resource-group acispotdemo --name acispotclitest

Aby się upewnić, że kontener został usunięty, uruchom polecenie az container list:

az container list --resource-group acispotdemo --output table

Kontener acispotclitest nie powinien być wyświetlany w danych wyjściowych polecenia. Jeśli nie ma innych kontenerów w grupie zasobów, nie powinny zostać wyświetlone żadne dane wyjściowe.

Jeśli skończysz z grupą zasobów acispotdemo i wszystkimi zasobami, które zawiera, usuń ją za pomocą polecenia az group delete :

az group delete --name acispotdemo

Następne kroki

W tym samouczku utworzono kontener spot na Azure Container Instances z domyślnym limitem przydziału i zasadami eksmisji przy użyciu interfejsu wiersza polecenia platformy Azure.