Delen via


Zie Een virtueel netwerk leveren aan een interne 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.
    Implementatiebron Selecteer Containerinstallatiekopieën.

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 Basisinformatie de volgende waarden in:

    Instelling Weergegeven als
    Omgevingsnaam Voer mijn omgeving in.
    Type omgeving Selecteer Workloadprofielen.
    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 omgeving alleen verbruik gebruikt. Wanneer u de omgeving voor workloadprofielen gebruikt, is een /27 of groter vereist. Zie het overzicht van de netwerkomgeving 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 Intern 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.

Als u fouten ontvangt over ontbrekende parameters wanneer u opdrachten uitvoert az containerapp in Azure CLI of cmdlets vanuit de Az.App module in Azure PowerShell, moet u ervoor zorgen dat de nieuwste versie van de Azure Container Apps-extensie is geïnstalleerd.

az extension add --name containerapp --upgrade

Notitie

Vanaf mei 2024 schakelen Azure CLI-extensies standaard geen preview-functies meer in. Als u toegang wilt krijgen tot de preview-functies van Container Apps, installeert u de Container Apps-extensie met --allow-preview true.

az extension add --name containerapp --upgrade --allow-preview true

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

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 exemplaar van het virtuele netwerk dat moet worden gekoppeld aan de Container Apps-omgeving. Het virtuele netwerk moet twee subnetten beschikbaar hebben voor het exemplaar van de container-app.

Notitie

Voor het adresvoorvoegsel van het netwerksubnet is een minimaal CIDR-bereik /23 vereist voor gebruik met Container Apps wanneer u de omgeving alleen verbruik gebruikt. Wanneer u de omgeving workloadprofielen gebruikt, is een /27 of groter vereist. Zie het overzicht van de netwerkomgeving 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/23

Wanneer u de omgeving workloadprofielen gebruikt, moet u het VNET bijwerken om het subnet te delegeren aan Microsoft.App/environments. Deze delegering is niet van toepassing op de omgeving alleen verbruik.

az network vnet subnet update \
  --resource-group $RESOURCE_GROUP \
  --vnet-name $VNET_NAME \
  --name infrastructure-subnet \
  --delegations Microsoft.App/environments

Nu het VNET tot stand is gebracht, kunt u nu een query uitvoeren op de subnet-id van de infrastructuur.

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 het VNET en het subnet.

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

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

Parameter Description
name Naam van de Container Apps-omgeving.
resource-group De naam van de resourcegroep.
logs-workspace-id (Optioneel) De id van een bestaande Log Analytics-werkruimte. Als u dit weglaat, wordt er een werkruimte voor u gemaakt.
logs-workspace-key Het Log Analytics-clientgeheim. Vereist als u een bestaande werkruimte gebruikt.
location De Azure-locatie waar de omgeving moet worden geïmplementeerd.
infrastructure-subnet-resource-id Resource-id van een subnet voor infrastructuuronderdelen en gebruikerstoepassingscontainers.
internal-only (Optioneel) De omgeving maakt geen gebruik van een openbaar statisch IP-adres, alleen interne IP-adressen die beschikbaar zijn in het aangepaste VNET. (Hiervoor is een resource-id van het infrastructuursubnet vereist.)

Wanneer uw omgeving is gemaakt met behulp van uw aangepaste virtuele netwerk, kunt u container-apps implementeren in de omgeving met behulp van de az containerapp create opdracht.

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 omgeving 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 het Azure Container Apps-exemplaar en alle bijbehorende services verwijderen door de resourcegroep mijn-container-apps te verwijderen. Als u deze resourcegroep verwijdert, wordt de resourcegroep verwijderd die automatisch is gemaakt door de Container Apps-service met de aangepaste netwerkonderdelen.

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

Aanvullende bronnen

  • Als u inkomend verkeer van VNET-bereik wilt gebruiken, moet u DNS instellen.

Volgende stappen