Zie Een virtueel netwerk leveren aan een externe Azure Container Apps-omgeving.

In het volgende voorbeeld ziet u hoe u een Container Apps-omgeving maakt in een bestaand virtueel netwerk.

Meld u eerst aan bij Azure Portal.

Een container-app maken

Als u uw container-app wilt maken, begint u op de startpagina van Azure Portal.

  1. Zoek naar Container Apps in de bovenste zoekbalk.
  2. Selecteer Container Apps in de zoekresultaten.
  3. Selecteer de knop Maken.

Tabblad Basisbeginselen

Voer de volgende acties uit op het tabblad Basisbeginselen .

  1. Voer de volgende waarden in de sectie Projectdetails in.

    Instelling Actie
    Abonnement Selecteer uw Azure-abonnement.
    Resourcegroep Selecteer Nieuwe maken en voer mijn container-apps in.
    Naam container-app Voer mijn container-app in.

Een omgeving maken

Maak vervolgens een omgeving voor uw container-app.

  1. Selecteer de juiste regio.

    Instelling Weergegeven als
    Regio Selecteer VS - centraal.
  2. Selecteer in het veld Container Apps-omgeving maken de koppeling Nieuwe maken.

  3. Voer op de pagina Container Apps-omgeving maken op het tabblad Basisbeginselen de volgende waarden in:

    Instelling Weergegeven als
    Omgevingsnaam Voer mijn omgeving in.
    Type omgeving Selecteer Alleen Verbruik.
    Zoneredundantie Selecteer Uitgeschakeld
  4. Selecteer het tabblad Bewaking om een Log Analytics-werkruimte te maken.

  5. Selecteer Azure Log Analytics als de doellocatie van de logboeken.

  6. Selecteer de koppeling Nieuwe maken in het veld Log Analytics-werkruimte en voer de volgende waarden in.

    Instelling Weergegeven als
    Naam Voer my-container-apps-logs in.

    Het veld Locatie wordt vooraf ingevuld met VS - centraal voor u.

  7. Selecteer OK.

Notitie

U kunt een bestaand virtueel netwerk gebruiken, maar een toegewezen subnet met een CIDR-bereik van /23 of groter is vereist voor gebruik met Container Apps wanneer u de architectuur alleen verbruik gebruikt. Wanneer u een omgeving met werkbelastingprofielen gebruikt, is een /27 of groter vereist. Zie het overzicht van de netwerkarchitectuur voor meer informatie over de grootte van subnetten.

  1. Selecteer het tabblad Netwerken om een VNET te maken.

  2. Selecteer Ja naast Uw eigen virtuele netwerk gebruiken.

  3. Selecteer naast het vak Virtueel netwerk de koppeling Nieuwe maken en voer de volgende waarde in.

    Instelling Weergegeven als
    Naam Voer mijn aangepaste vnet in.
  4. Selecteer de knop OK.

  5. Selecteer naast het vak Infrastructuursubnet de koppeling Nieuwe maken en voer de volgende waarden in:

    Instelling Weergegeven als
    Subnetnaam Voer infrastructuursubnet in.
    Adresblok van virtueel netwerk Behoud de standaardwaarden.
    Subnetadresblok Behoud de standaardwaarden.
  6. Selecteer de knop OK.

  7. Selecteer Extern onder Virtueel IP-adres.

  8. Selecteer Maken.

De container-app implementeren

  1. Selecteer Controleren en maken onderaan de pagina.

    Als er geen fouten worden gevonden, is de knop Maken ingeschakeld.

    Als er fouten zijn, wordt een tabblad met fouten gemarkeerd met een rode stip. Navigeer naar het betreffende tabblad. Velden met een fout zijn rood gemarkeerd. Zodra alle fouten zijn opgelost, selecteert u Controleren en opnieuw maken .

  2. Selecteer Maken.

    Er wordt een pagina met het bericht Implementatie uitgevoerd . Zodra de implementatie is voltooid, ziet u het bericht: Uw implementatie is voltooid.

Vereisten

  • Azure-account met een actief abonnement.
  • Installeer Azure CLI versie 2.28.0 of hoger.

Instellingen

Als u zich wilt aanmelden bij Azure vanuit de CLI, voert u de volgende opdracht uit en volgt u de aanwijzingen om het verificatieproces te voltooien.

az login

Voer de upgradeopdracht uit om ervoor te zorgen dat u de nieuwste versie van de CLI uitvoert.

az upgrade

Installeer of werk vervolgens de Azure Container Apps-extensie voor de CLI bij.

az extension add --name containerapp --upgrade

Nu de huidige extensie of module is geïnstalleerd, registreert u de Microsoft.App en Microsoft.OperationalInsights naamruimten.

Notitie

Azure Container Apps-resources zijn gemigreerd van de Microsoft.Web naamruimte naar de Microsoft.App naamruimte. Raadpleeg de naamruimtemigratie van Microsoft.Web naar Microsoft.App in maart 2022 voor meer informatie.

az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights

Omgevingsvariabelen instellen

Stel de volgende omgevingsvariabelen in. Vervang <TIJDELIJKE AANDUIDINGEN> door uw waarden:

RESOURCE_GROUP="<RESOURCE_GROUP>"
LOCATION="<LOCATION>"
CONTAINERAPPS_ENVIRONMENT="<CONTAINERAPPS_ENVIRONMENT>"

Maak een Azure-resourcegroep

Maak een resourcegroep om de services te ordenen die betrekking hebben op de implementatie van uw container-app.

az group create \
  --name $RESOURCE_GROUP \
  --location "$LOCATION"

Een omgeving maken

Een omgeving in Azure Container Apps maakt een veilige grens rond een groep container-apps. Container Apps die in dezelfde omgeving zijn geïmplementeerd, worden geïmplementeerd in hetzelfde virtuele netwerk en schrijven logboeken naar dezelfde Log Analytics-werkruimte.

Registreer de Microsoft.ContainerService provider.

az provider register --namespace Microsoft.ContainerService

Declareer een variabele voor het opslaan van de VNET-naam.

VNET_NAME="my-custom-vnet"

Maak nu een virtueel Azure-netwerk om te koppelen aan de Container Apps-omgeving. Het virtuele netwerk moet een subnet hebben dat beschikbaar is voor de implementatie van de omgeving.

Notitie

Voor het adresvoorvoegsel van het netwerksubnet is een minimaal CIDR-bereik /23 vereist voor gebruik met Container Apps wanneer u de architectuur alleen verbruik gebruikt. Wanneer u de architectuur van workloadprofielen gebruikt, is een /27 of groter vereist. Zie het overzicht van de netwerkarchitectuur voor meer informatie over de grootte van subnetten.

az network vnet create \
  --resource-group $RESOURCE_GROUP \
  --name $VNET_NAME \
  --location $LOCATION \
  --address-prefix 10.0.0.0/16
az network vnet subnet create \
  --resource-group $RESOURCE_GROUP \
  --vnet-name $VNET_NAME \
  --name infrastructure-subnet \
  --address-prefixes 10.0.0.0/21

Wanneer het virtuele netwerk is gemaakt, kunt u de id voor het infrastructuursubnet ophalen.

INFRASTRUCTURE_SUBNET=`az network vnet subnet show --resource-group ${RESOURCE_GROUP} --vnet-name $VNET_NAME --name infrastructure-subnet --query "id" -o tsv | tr -d '[:space:]'`

Maak ten slotte de Container Apps-omgeving met behulp van het aangepaste VNET dat in de voorgaande stappen is geïmplementeerd.

az containerapp env create \
  --name $CONTAINERAPPS_ENVIRONMENT \
  --resource-group $RESOURCE_GROUP \
  --location "$LOCATION" \
  --infrastructure-subnet-resource-id $INFRASTRUCTURE_SUBNET

In de volgende tabel worden de parameters beschreven die worden gebruikt in containerapp env create.

Parameter Description
name Naam van de Container Apps-omgeving.
resource-group De naam van de resourcegroep.
location De Azure-locatie waar de omgeving moet worden geïmplementeerd.
infrastructure-subnet-resource-id Resource-id van een subnet voor infrastructuuronderdelen en gebruikerstoepassingscontainers.

Nu uw omgeving is gemaakt met behulp van een aangepast virtueel netwerk, kunt u nu container-apps implementeren in de omgeving.

Optionele configuratie

U hebt de mogelijkheid om een privé-DNS te implementeren en aangepaste IP-adresbereiken voor netwerken te definiëren voor uw Container Apps-omgeving.

Implementeren met een privé-DNS

Als u uw container-app wilt implementeren met een privé-DNS, voert u de volgende opdrachten uit.

Pak eerst identificeerbare informatie uit de omgeving.

ENVIRONMENT_DEFAULT_DOMAIN=`az containerapp env show --name ${CONTAINERAPPS_ENVIRONMENT} --resource-group ${RESOURCE_GROUP} --query properties.defaultDomain --out json | tr -d '"'`
ENVIRONMENT_STATIC_IP=`az containerapp env show --name ${CONTAINERAPPS_ENVIRONMENT} --resource-group ${RESOURCE_GROUP} --query properties.staticIp --out json | tr -d '"'`
VNET_ID=`az network vnet show --resource-group ${RESOURCE_GROUP} --name ${VNET_NAME} --query id --out json | tr -d '"'`

Stel vervolgens de privé-DNS in.

az network private-dns zone create \
  --resource-group $RESOURCE_GROUP \
  --name $ENVIRONMENT_DEFAULT_DOMAIN
az network private-dns link vnet create \
  --resource-group $RESOURCE_GROUP \
  --name $VNET_NAME \
  --virtual-network $VNET_ID \
  --zone-name $ENVIRONMENT_DEFAULT_DOMAIN -e true
az network private-dns record-set a add-record \
  --resource-group $RESOURCE_GROUP \
  --record-set-name "*" \
  --ipv4-address $ENVIRONMENT_STATIC_IP \
  --zone-name $ENVIRONMENT_DEFAULT_DOMAIN

Netwerkparameters

Er zijn drie optionele netwerkparameters die u kunt definiëren bij het aanroepen containerapp env create. Gebruik deze opties wanneer u een gekoppeld VNET met afzonderlijke adresbereiken hebt. Als u deze bereiken expliciet configureert, zorgt u ervoor dat de adressen die door de Container Apps-omgeving worden gebruikt, niet conflicteren met andere bereiken in de netwerkinfrastructuur.

U moet waarden opgeven voor alle drie deze eigenschappen of geen van deze eigenschappen. Als ze niet worden opgegeven, worden de waarden voor u gegenereerd.

Parameter Description
platform-reserved-cidr Het adresbereik dat intern wordt gebruikt voor infrastructuurservices van de omgeving. Moet een grootte hebben tussen /23 en /12 wanneer u de architectuur alleen verbruik gebruikt
platform-reserved-dns-ip Een IP-adres uit het platform-reserved-cidr bereik dat wordt gebruikt voor de interne DNS-server. Het adres kan niet het eerste adres in het bereik of het netwerkadres zijn. Als dit bijvoorbeeld platform-reserved-cidr is ingesteld 10.2.0.0/16op , platform-reserved-dns-ip kan dit niet (het netwerkadres) zijn 10.2.0.0 of 10.2.0.1 (infrastructuur behoudt het gebruik van dit IP-adres voor). In dit geval is 10.2.0.2het eerste bruikbare IP-adres voor de DNS.
docker-bridge-cidr Het adresbereik dat is toegewezen aan het Docker-brugnetwerk. Dit bereik moet een grootte hebben tussen /28 en /12.
  • De platform-reserved-cidr adresbereiken en docker-bridge-cidr adresbereiken kunnen niet met elkaar conflicteren of met de bereiken van een van beide opgegeven subnetten. Zorg er bovendien voor dat deze bereiken niet conflicteren met een ander adresbereik in het VNET.

  • Als deze eigenschappen niet worden opgegeven, worden de bereikwaarden automatisch gegenereerd door de CLI op basis van het adresbereik van het VNET om bereikconflicten te voorkomen.

Resources opschonen

Als u deze toepassing niet meer gaat gebruiken, kunt u de resourcegroep mijn-container-apps verwijderen. Hiermee verwijdert u het Azure Container Apps-exemplaar en alle bijbehorende services. Ook wordt de resourcegroep verwijderd die de Container Apps-service automatisch heeft gemaakt en die de aangepaste netwerkonderdelen bevat.

Let op

Met de volgende opdracht verwijdert u de opgegeven resourcegroep en alle resources erin. Als resources buiten het bereik van deze handleiding aanwezig zijn in de opgegeven resourcegroep, worden ze ook verwijderd.

az group delete --name $RESOURCE_GROUP

Volgende stappen