Aktualizowanie kontenerów w usłudze Azure Container Instances
Podczas normalnego działania wystąpień kontenera można znaleźć konieczność zaktualizowania uruchomionych kontenerów w grupie kontenerów. Na przykład możesz zaktualizować właściwość, taką jak wersja obrazu, nazwa DNS lub zmienna środowiskowa, albo odświeżyć właściwość w kontenerze, którego aplikacja uległa awarii.
Zaktualizuj kontenery w uruchomionej grupie kontenerów, ponownie wdrażając istniejącą grupę z co najmniej jedną zmodyfikowaną właściwością. Podczas aktualizowania grupy kontenerów wszystkie uruchomione kontenery w grupie są uruchamiane ponownie w miejscu, zwykle na tym samym hoście kontenera.
Uwaga
Nie można zaktualizować zakończonych lub usuniętych grup kontenerów. Po zakończeniu grupy kontenerów (jest w stanie Powodzenie lub Niepowodzenie) lub został usunięty, grupa musi zostać wdrożona jako nowa. Zobacz inne ograniczenia.
Aktualizowanie grupy kontenerów
Aby zaktualizować istniejącą grupę kontenerów:
- Wydaj polecenie create (lub użyj witryny Azure Portal) i określ nazwę istniejącej grupy
- Zmodyfikuj lub dodaj co najmniej jedną właściwość grupy, która obsługuje aktualizację podczas ponownego wdrażania. Niektóre właściwości nie obsługują aktualizacji.
- Ustaw inne właściwości przy użyciu podanych wcześniej wartości. Jeśli nie ustawisz wartości właściwości, zostanie przywrócona jej wartość domyślna.
Uwaga
Jeśli ustawisz wszystkie właściwości na podane wcześniej wartości i nie zmodyfikujesz ani nie dodasz ich, kontener zostanie ponownie uruchomiony w odpowiedzi na polecenie create.
Napiwek
Plik YAML pomaga zachować konfigurację wdrożenia grupy kontenerów i zapewnia punkt wyjścia do wdrożenia zaktualizowanej grupy. Jeśli do utworzenia grupy użyto innej metody, możesz wyeksportować konfigurację do języka YAML przy użyciu polecenia az container export,
Przykład
Poniższy przykład interfejsu wiersza polecenia platformy Azure aktualizuje grupę kontenerów przy użyciu nowej etykiety nazwy DNS. Ponieważ właściwość etykiety nazwy DNS grupy jest taka, którą można zaktualizować, grupa kontenerów jest ponownie wdrażana, a jej kontenery są ponownie uruchamiane.
Początkowe wdrożenie z etykietą nazwy DNS myapplication-staging:
# Create container group
az container create --resource-group myResourceGroup --name mycontainer \
--image nginx:alpine --dns-name-label myapplication-staging
Zaktualizuj grupę kontenerów przy użyciu nowej etykiety nazwy DNS, aplikacji i ustaw pozostałe właściwości przy użyciu wartości użytych wcześniej:
# Update DNS name label (restarts container), leave other properties unchanged
az container create --resource-group myResourceGroup --name mycontainer \
--image nginx:alpine --dns-name-label myapplication
Aktualizowanie korzyści
Główną zaletą aktualizowania istniejącej grupy kontenerów jest szybsze wdrażanie. Podczas ponownego wdrażania istniejącej grupy kontenerów jej warstwy obrazu kontenera są pobierane z warstw buforowanych przez poprzednie wdrożenie. Zamiast ściągać wszystkie warstwy obrazu świeże z rejestru, tak jak w przypadku nowych wdrożeń, pobierane są tylko zmodyfikowane warstwy (jeśli istnieją).
Aplikacje oparte na większych obrazach kontenerów, takich jak Windows Server Core, mogą zobaczyć znaczną poprawę szybkości wdrażania podczas aktualizowania zamiast usuwania i wdrażania nowych.
Ograniczenia
- Nie wszystkie właściwości grupy kontenerów obsługują aktualizacje. Aby zmienić niektóre właściwości grupy kontenerów, należy najpierw usunąć, a następnie ponownie wdrożyć grupę. Zobacz Właściwości wymagające usunięcia kontenera.
- Wszystkie kontenery w grupie kontenerów są uruchamiane ponownie po zaktualizowaniu grupy kontenerów. Nie można wykonać aktualizacji ani ponownego uruchomienia określonego kontenera w grupie z wieloma kontenerami.
- Adres IP grupy kontenerów jest zwykle zachowywany między aktualizacjami, ale nie ma gwarancji, że pozostanie taki sam. Jeśli grupa kontenerów zostanie wdrożona na tym samym hoście bazowym, grupa kontenerów zachowuje swój adres IP. Chociaż rzadko występują pewne zdarzenia wewnętrzne platformy Azure, które mogą spowodować ponowne wdrożenie na innym hoście. Aby rozwiązać ten problem, zalecamy użycie etykiety nazwy DNS dla wystąpień kontenera.
- Nie można zaktualizować zakończonych lub usuniętych grup kontenerów. Po zatrzymaniu grupy kontenerów (w stanie Zakończony) lub usunięciu grupa zostanie wdrożona jako nowa.
Uwaga
Polecenie aktualizacji może nie działać, jeśli grupa kontenerów platformy Azure jest dołączona do profilu usługi Azure Storage.
Właściwości wymagające usunięcia kontenera
Nie można zaktualizować wszystkich właściwości grupy kontenerów. Aby na przykład zmienić zasady ponownego uruchamiania kontenera, należy najpierw usunąć grupę kontenerów, a następnie utworzyć ją ponownie.
Zmiany tych właściwości wymagają usunięcia grupy kontenerów przed ponownym wdrożeniem:
- Typ systemu operacyjnego
- Zasoby procesora CPU, pamięci lub procesora GPU
- Zasady ponownego uruchamiania
- Profil sieci
- Availability zone
Ważne
Profile sieciowe zostały wycofane w wersji interfejsu 2021-07-01
API. Jeśli używasz tej lub nowszej wersji, zignoruj wszystkie kroki i akcje związane z profilami sieciowymi.
Gdy usuniesz grupę kontenerów i ponownie ją utworzysz, nie zostanie ona "wdrożona ponownie", ale utworzona nowa. Wszystkie warstwy obrazów są pobierane od rejestru, a nie z warstw buforowanych przez poprzednie wdrożenie. Adres IP kontenera może również ulec zmianie z powodu wdrożenia na innym hoście źródłowym.
Następne kroki
W tym artykule wymieniono kilka razy grupy kontenerów. Każdy kontener w usłudze Azure Container Instances jest wdrażany w grupie kontenerów, a grupy kontenerów mogą zawierać więcej niż jeden kontener. Następujące artykuły zawierają więcej informacji na temat grup kontenerów: