Udostępnij za pośrednictwem


Samouczek: wdrażanie kontenera typu spot za pomocą usługi 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żyj usługi Azure Container Instances do uruchamiania bezserwerowych kontenerów typu spot. Wdróż aplikację na żądanie kontenera typu spot, 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 usługa 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 pojedynczego polecenia wdrożenia możesz przejść do dzienników kontenera:

  • Ten przewodnik Szybki start wymaga nowszej wersji 2xxx interfejsu wiersza polecenia platformy Azure. W przypadku korzystania 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" o 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.

Nie można uwidocznić kontenerów typu spot w Internecie, określając co najmniej jeden port do otwarcia, etykietę nazwy DNS lub obie te elementy. W tym przewodniku Szybki start wdrożysz kontener przy użyciu obrazu helloworld bez etykiety nazwy DNS. To nie jest publicznie dostępne. Możesz wykonać zapytanie dotyczące dzienników kontenerów, 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 zostać wyświetlona odpowiedź z interfejsu wiersza polecenia platformy Azure wskazująca, że wdrożenie zostało ukończone. 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 ma ProvisioningState wartość Powodzenie, gratulacje! Pomyślnie wdrożono aplikację działającą w kontenerze platformy Docker 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

W danych wyjściowych zostaną wyświetlone dzienniki kontenera i powinny zostać wyświetlone następujące 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. Powinny zostać wyświetlone dane wyjściowe podobne do następującego przykładu:

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 sprawdzić, czy kontener został usunięty, wykonaj 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ń je za pomocą polecenia az group delete :

az group delete --name acispotdemo

Następne kroki

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