Samouczek: wdrażanie grupy z wieloma kontenerami przy użyciu pliku YAML
Usługa Azure Container Instances obsługuje wdrażanie wielu kontenerów na jednym hoście przy użyciu grupy kontenerów. Grupa kontenerów jest przydatna podczas tworzenia przyczepki aplikacji na potrzeby rejestrowania, monitorowania lub innej konfiguracji, w której usługa wymaga drugiego dołączonego procesu.
W tym samouczku wykonasz kroki, aby uruchomić konfigurację przyczepki z dwoma kontenerami, wdrażając plik YAML przy użyciu interfejsu wiersza polecenia platformy Azure. Plik YAML zapewnia zwięzły format określania ustawień wystąpienia. Dowiedz się, jak odbywa się:
- Konfigurowanie pliku YAML
- Wdrażanie grupy kontenerów
- Wyświetlanie dzienników kontenerów
Uwaga
Grupy z wieloma kontenerami są obecnie ograniczone do kontenerów systemu Linux.
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.
Wymagania wstępne
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure podczas pierwszego użycia. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
Konfigurowanie pliku YAML
Aby wdrożyć grupę z wieloma kontenerami za pomocą polecenia az container create w interfejsie wiersza polecenia platformy Azure, należy określić konfigurację grupy kontenerów w pliku YAML. Następnie przekaż plik YAML jako parametr do polecenia .
Zacznij od skopiowania następującego kodu YAML do nowego pliku o nazwie deploy-aci.yaml. W usłudze Azure Cloud Shell możesz użyć programu Visual Studio Code do utworzenia pliku w katalogu roboczym:
code deploy-aci.yaml
Ten plik YAML definiuje grupę kontenerów o nazwie "myContainerGroup" z dwoma kontenerami, publicznym adresem IP i dwoma uwidoczninymi portami. Kontenery są wdrażane z publicznych obrazów firmy Microsoft. Pierwszy kontener w grupie uruchamia aplikację internetową. Drugi kontener, przyczepka, okresowo wysyła żądania HTTP do aplikacji internetowej działającej w pierwszym kontenerze za pośrednictwem sieci lokalnej grupy kontenerów.
apiVersion: 2019-12-01
location: eastus
name: myContainerGroup
properties:
containers:
- name: aci-tutorial-app
properties:
image: mcr.microsoft.com/azuredocs/aci-helloworld:latest
resources:
requests:
cpu: 1
memoryInGb: 1.5
ports:
- port: 80
- port: 8080
- name: aci-tutorial-sidecar
properties:
image: mcr.microsoft.com/azuredocs/aci-tutorial-sidecar
resources:
requests:
cpu: 1
memoryInGb: 1.5
osType: Linux
ipAddress:
type: Public
ports:
- protocol: tcp
port: 80
- protocol: tcp
port: 8080
tags: {exampleTag: tutorial}
type: Microsoft.ContainerInstance/containerGroups
Aby użyć prywatnego rejestru obrazów kontenera, dodaj imageRegistryCredentials
właściwość do grupy kontenerów z wartościami zmodyfikowanymi dla środowiska:
imageRegistryCredentials:
- server: imageRegistryLoginServer
username: imageRegistryUsername
password: imageRegistryPassword
Wdrażanie grupy kontenerów
Utwórz grupę zasobów za pomocą polecenia az group create :
az group create --name myResourceGroup --location eastus
Wdróż grupę kontenerów za pomocą polecenia az container create , przekazując plik YAML jako argument:
az container create --resource-group myResourceGroup --file deploy-aci.yaml
W ciągu kilku sekund powinna pojawić się początkowa odpowiedź z platformy Azure.
Wyświetlanie stanu wdrożenia
Aby wyświetlić stan wdrożenia, użyj następującego polecenia az container show :
az container show --resource-group myResourceGroup --name myContainerGroup --output table
Jeśli chcesz wyświetlić uruchomioną aplikację, przejdź do jej adresu IP w przeglądarce. Na przykład adres IP znajduje się 52.168.26.124
w następujących przykładowych danych wyjściowych:
Name ResourceGroup Status Image IP:ports Network CPU/Memory OsType Location
---------------- --------------- -------- -------------------------------------------------------------------------------------------------- -------------------- --------- --------------- -------- ----------
myContainerGroup danlep0318r Running mcr.microsoft.com/azuredocs/aci-tutorial-sidecar,mcr.microsoft.com/azuredocs/aci-helloworld:latest 20.42.26.114:80,8080 Public 1.0 core/1.5 gb Linux eastus
Wyświetlanie dzienników kontenerów
Wyświetl dane wyjściowe dziennika kontenera przy użyciu polecenia az container logs . Argument --container-name
określa kontener, z którego mają być pobierane dzienniki. W tym przykładzie aci-tutorial-app
określono kontener.
az container logs --resource-group myResourceGroup --name myContainerGroup --container-name aci-tutorial-app
Wyjście:
listening on port 80
::1 - - [02/Jul/2020:23:17:48 +0000] "HEAD / HTTP/1.1" 200 1663 "-" "curl/7.54.0"
::1 - - [02/Jul/2020:23:17:51 +0000] "HEAD / HTTP/1.1" 200 1663 "-" "curl/7.54.0"
::1 - - [02/Jul/2020:23:17:54 +0000] "HEAD / HTTP/1.1" 200 1663 "-" "curl/7.54.0"
Aby wyświetlić dzienniki kontenera przyczepki, uruchom podobne polecenie określające aci-tutorial-sidecar
kontener.
az container logs --resource-group myResourceGroup --name myContainerGroup --container-name aci-tutorial-sidecar
Wyjście:
Every 3s: curl -I http://localhost 2020-07-02 20:36:41
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 1663 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
HTTP/1.1 200 OK
X-Powered-By: Express
Accept-Ranges: bytes
Cache-Control: public, max-age=0
Last-Modified: Wed, 29 Nov 2017 06:40:40 GMT
ETag: W/"67f-16006818640"
Content-Type: text/html; charset=UTF-8
Content-Length: 1663
Date: Thu, 02 Jul 2020 20:36:41 GMT
Connection: keep-alive
Jak widać, przyczepka okresowo wysyła żądanie HTTP do głównej aplikacji internetowej za pośrednictwem sieci lokalnej grupy, aby upewnić się, że jest uruchomiona. Ten przykład przyczepki można rozszerzyć, aby wyzwolić alert, jeśli otrzyma kod odpowiedzi HTTP inny niż 200 OK
.
Następne kroki
W tym samouczku użyto pliku YAML do wdrożenia grupy z wieloma kontenerami w usłudze Azure Container Instances. W tym samouczku omówiono:
- Konfigurowanie pliku YAML dla grupy z wieloma kontenerami
- Wdrażanie grupy kontenerów
- Wyświetlanie dzienników kontenerów
Można również określić grupę z wieloma kontenerami przy użyciu szablonu usługi Resource Manager. Szablon usługi Resource Manager można łatwo dostosować do scenariuszy, gdy trzeba wdrożyć więcej zasobów usługi platformy Azure za pomocą grupy kontenerów.