Dowiedz się, jak rozszerzenie interfejsu wiersza polecenia programu Azure Operator Service Manager (AOSM) odnajduje obrazy kontenerów w źródłowych regułach kontroli dostępu na podstawie konfiguracji wykresu helm
W tym dokumencie wyjaśniono, jak rozszerzenie AOSM interfejsu wiersza polecenia platformy Azure odnajduje obrazy na wykresach helm, ściąga je z rejestru kontenerów i przekazuje je do magazynu artefaktów AOSM. Rozszerzenie AOSM interfejsu wiersza polecenia platformy Azure obsługuje zarówno usługę Azure Container Registry (ACR) i dowolny rejestr kontenerów, który obsługuje interfejs API platformy Docker.
Odnajdywanie obrazów
Plik wejściowy rozszerzenia AOSM rozszerzenia Network Function Definition Version (NFDV) interfejsu wiersza polecenia platformy Azure wygenerowany przez az aosm nfd generate-config --definition-type cnf
program zawiera jeden parametr określający rejestry źródłowe (i opcjonalnie przestrzenie nazw) zapytania interfejsu wiersza polecenia AOSM podczas dołączania obrazu kontenera.
// List of registries from which to pull the image(s).
// For example ["sourceacr.azurecr.io/test", "myacr2.azurecr.io", "ghcr.io/path"].
// For non Azure Container Registries, ensure you have run a docker login command before running build.
"image_sources": [],
"image_sources"
jest tablicą ciągów. Każdy ciąg jest odwołaniem do rejestru kontenerów i opcjonalnie przestrzeni nazw w tym rejestrze.
Rozszerzenie AOSM interfejsu wiersza polecenia Az:
- Analizuje pliki definicji Kubernetes wygenerowane przez
helm template
program, aby odnaleźć odwołania do obrazu kontenera. - Wyszukuje w rejestrach i przestrzeniach nazw zawartych w tablicy "image_sources" dla odwołań do obrazu kontenera.
- Kopiuje obrazy z rejestrów źródłowych do magazynu artefaktów AOSM.
Ważne
Interfejs wiersza polecenia AOSM wymaga, aby obrazy w rejestrze źródłowym odpowiadały strukturze przestrzeni nazw napisanej na wykresie helm. Na przykład obraz zawarty w wykresie core/contoso-a:1.0.0
helm musi być dostępny w rejestrze źródłowym w ścieżce kończącej się ciągiem core/contoso-a:1.0.0
. Każdy dodatkowy prefiks musi być uwzględniony w parametrze "image_sources"
cnf-input.jsonc
w pliku wygenerowanym przez az aosm nfd generate-config --definition-type cnf
polecenie .
Przykład pracy
W tym przykładzie opisano fikcyjną funkcję sieciową konteneryzowaną (CNF). Ten serwer CNF jest zbudowany z trzech obrazów, które zapewniają podstawową funkcję CNF i jeden obraz testowy, który można wdrożyć w celu wykonywania zapytań testowych w systemie CNF. Rejestr źródłowy obrazów to ACR o nazwie myregistry
. W tym przykładzie dołączamy wszystkie cztery obrazy.
Pole "image_sources" w pliku wejściowym NFDV jest ustawione w następujący sposób:
// List of registries from which to pull the image(s).
// For example ["sourceacr.azurecr.io/test", "myacr2.azurecr.io", "ghcr.io/path"].
// For non Azure Container Registries, ensure you have run a docker login command before running build.
"image_sources": ["myregistry.azurecr.io"],
Dane wyjściowe helm template
względem wykresów helm dla tego systemu CNF zawierają cztery wiersze obrazu w definicji wdrożenia platformy Kubernetes.
image: repository/release/contoso-a:1.0.0
image: repository/release/contoso-b:1.0.0
image: repository/release/contoso-c:1.0.0
image: repository/test-release/contoso-test:1.0.0
Rozszerzenie AOSM interfejsu wiersza polecenia platformy Azure przyjmuje powyższe wiersze repository
obrazu i usuwa repozytorium (AOSM zastępuje repozytorium nowym rejestrem kopii zapasowej magazynu artefaktów AOSM). Następnie rozszerzenie AOSM interfejsu wiersza polecenia platformy Azure wyszukuje obrazy w plikach myregistry.azurecr.io/release/contoso-a:1.0.0
, myregistry.azurecr.io/release/contoso-b:1.0.0
, myregistry.azurecr.io/release/contoso-c:1.0.0
i myregistry.azurecr.io/test-release/contoso-test:1.0.0
. Obrazy muszą być dostępne w tych ścieżkach.
Wynazwań
Rozszerzenie AOSM interfejsu wiersza polecenia platformy Azure obsługuje również tworzenie nazw obrazów w rejestrach kontenerów źródłowych. Na przykład contoso-test
obraz można przekazać do test/test-release/contoso-test:1.0.0
rejestru źródłowego. W tym przypadku dodatkowy prefiks test
, musi być skonfigurowany w parametrze "image_sources"
w pliku wejściowym NFDV.
// List of registries from which to pull the image(s).
// For example ["sourceacr.azurecr.io/test", "myacr2.azurecr.io", "ghcr.io/path"].
// For non Azure Container Registries, ensure you have run a docker login command before running build.
"image_sources": ["myregistry.azurecr.io", "myregistry.azurecr.io/test"],
Rozszerzenie interfejsu wiersza polecenia usługi Azure AOSM wyszukuje obrazy w lokalizacji myregistry.azurecr.io
, gdzie odnajduje contoso-a
, contoso-b
i contoso-c
. Następnie wyszukuje w lokalizacji myregistry.azurecr.io/test
, w której odnajduje contoso-test
wartość .