Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze quickstart wordt beschreven hoe u de az aosm Azure CLI-extensie gebruikt om een eenvoudige netwerkfunctiedefinitie te maken en te publiceren. Het doel is om de werkstroom van de AOSM-resources (Publisher Azure Operator Service Manager) te demonstreren. De basisconcepten die hier worden gepresenteerd, zijn bedoeld om gebruikers voor te bereiden op het bouwen van interessantere services.
Vereisten
Er is een Azure-account met een actief abonnement vereist. Als u geen Azure-abonnement hebt, volgt u de instructies hier Gratis om een account te maken voordat u begint.
Een bestaande resourcegroep met de rol Inzender of de rol Inzender voor dit abonnement, zodat de AOSM CLI-extensie de resourcegroep kan maken.
Invoerbestand maken
Maak een invoerbestand voor het publiceren van de definitie van de netwerkfunctie. Voer de volgende opdracht uit om het invoerconfiguratiebestand voor de NFD (Network Function Definition) te genereren.
az aosm nfd generate-config --definition-type cnf
De uitvoering van de voorgaande opdracht genereert een cnf-input.jsonc-bestand.
Notitie
Bewerk het cnf-input.jsonc-bestand. Vervang deze door de waarden die worden weergegeven in het volgende voorbeeld. Sla het bestand op als input-cnf-nfd.jsonc.
Als u een bestaande resourcegroep gebruikt, wijzigt u het publisher_resource_group_name veld zodat het overeenkomt.
Aanbeveling
U kunt meerdere containerregisters gebruiken als bronnen voor uw installatiekopieën in de AOSM CLI. De installatiekopieën die uit deze registers moeten worden gekopieerd, worden automatisch geselecteerd op basis van het Helm-pakketschema. De bronregisters worden geconfigureerd in de image_sources lijst van het cnf-input.jsonc-bestand.
Wanneer u ACR's gebruikt, moet u de rollen Lezer en AcrPull hebben op de ACR. Wanneer u niet-ACR-registers gebruikt, moet u worden uitgevoerd docker login om te verifiëren bij elk privéregister voordat u de az aosm nfd build opdracht uitvoert.
In deze quickstart gebruiken docker.io we het bronregister van de installatiekopieën. Dit is een openbaar register en vereist geen verificatie.
Hier volgt een voorbeeld van het bestand input-cnf-nfd.jsonc:
{
// Azure location to use when creating resources e.g uksouth
"location": "uksouth",
// Name of the Publisher resource you want your definition published to.
// Will be created if it does not exist.
"publisher_name": "nginx-publisher",
// Resource group for the Publisher resource.
// Will be created if it does not exist.
"publisher_resource_group_name": "nginx-publisher-rg",
// Name of the ACR Artifact Store resource.
// Will be created if it does not exist.
"acr_artifact_store_name": "nginx-nsd-acr",
// Name of NF definition.
"nf_name": "nginx",
// Version of the NF definition in 1.1.1 format (three integers separated by dots).
"version": "1.0.0",
// 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": ["docker.io"],
// List of Helm packages to be included in the CNF.
"helm_packages": [
{
"name": "nginxdemo",
"path_to_chart": "nginxdemo-0.3.0.tgz",
"default_values": ""
}
]
}
- publisher_name: de naam van de Publisher-resource waarnaar u de definitie wilt publiceren. Gemaakt als deze nog niet bestaat.
- publisher_resource_group_name - Resourcegroep voor de Publisher-resource. Gemaakt als deze nog niet bestaat.
- acr_artifact_store_name : naam van de ACR-resource (Azure Container Registry). Gemaakt als deze nog niet bestaat.
- locatie : de Azure-locatie die moet worden gebruikt bij het maken van resources.
- nf_name : de naam van de NF-definitie.
- versie : de versie van de NF-definitie in A.B.C-indeling.
- image_sources - lijst met de registers waaruit de installatiekopieën moeten worden opgehaald.
-
helm_packages:
- name : de naam van het Helm-pakket.
-
path_to_chart: het bestandspad van Helm-grafiek op de lokale schijf. Accepteert .tgz, .tar of .tar.gz. Gebruik linux-slash (/) bestandsscheidingsteken, zelfs als dit wordt uitgevoerd in Windows. Het pad moet een absoluut pad of het pad ten opzichte van de locatie van het
cnf-input.jsoncbestand zijn. -
default_values : het bestandspad (absoluut of relatief ten
cnf-input.jsoncopzichte van) van het YAML-waardenbestand op de lokale schijf die wordt gebruikt in plaats van het bestand values.yaml dat aanwezig is in de Helm-grafiek. - depends_on: de namen van de Helm-pakketten waarvan dit pakket afhankelijk is. Laat deze staan als een lege matrix als er geen afhankelijkheden zijn.
De netwerkfunctiedefinitie (NFD) bouwen
Als u de NFD (Network Function Definition) wilt maken, start u het buildproces.
az aosm nfd build -f input-cnf-nfd.jsonc --definition-type cnf
De Az CLI AOSM-extensie genereert een map met de naam cnf-cli-output. Deze map bevat de Bicep-bestanden die de AOSM-resources definiëren die nodig zijn om een NFDV te publiceren en de benodigde afbeeldingen te uploaden voor implementatie in door AOSM beheerde opslag. Bekijk de gegenereerde bestanden om een beter inzicht te krijgen in de NFD-structuur (Network Function Definition).
| Map/bestand | Beschrijving |
|---|---|
| nfDefinition/deployParameters.json | Hiermee definieert u het schema voor de implementatieparameters die nodig zijn om een netwerkfunctie (NF) te maken op basis van deze NFDV (Network Function Definition Version). |
| nfDefinitie/nginxdemo-mappings.json | Wijst de implementatieparameters voor de NFDV (Network Function Definition Version) toe aan de waarden die vereist zijn voor de Helm-grafiek. |
| nfDefinition/deploy.bicep | Bicep-bestand voor het maken van de Network Function Definition Version (NFDV) zelf. |
| artefacten/artifacts.json | Een lijst met de Helm-pakketten en containerinstallatiekopieën die vereist zijn voor het NF. |
| artifactManifest/deploy.bicep | Bicep-bestand voor het maken van het artefactmanifest. |
| base/deploy.bicep | Het Bicep-bestand voor het creëren van de uitgever, netwerkfunctiedefinitiegroep en artefactopslagbronnen. |
De definitie van de netwerkfunctie publiceren en artefacten uploaden
Voer de volgende opdracht uit om de NFD (Network Function Definition) te publiceren en de bijbehorende artefacten te uploaden:
Notitie
Als u Windows gebruikt, moet Docker Desktop worden uitgevoerd tijdens de publicatiestap.
Notitie
Uitgeversnamen moeten uniek zijn binnen een regio. Het is vrij waarschijnlijk dat de nginx-publisher die is gedefinieerd in het voorbeeldconfiguratiebestand al bestaat.
Als er een foutbericht wordt weergegeven met de tekst 'Een privé-uitgeverresource met de naam 'nginx-publisher' bestaat al in de opgegeven regio', bewerkt u het publisher_name veld in het configuratiebestand zodat het uniek is (bijvoorbeeld een willekeurig tekenreeksachtervoegsel toevoegen), voert u de build opdracht (hierboven) opnieuw uit en voert u deze publish opdracht opnieuw uit.
Als u verdergaat met het maken van een netwerkserviceontwerp, moet u deze nieuwe uitgevernaam in de resource_element_templates matrix gebruiken.
az aosm nfd publish -b cnf-cli-output --definition-type cnf
Wanneer de opdracht is voltooid, inspecteert u de resources in uw Publisher-resourcegroep om de gemaakte onderdelen en artefacten te controleren.