Delen via


Netwerken voor beheerde DevOps-pools configureren

Beheerde DevOps Pools-agents kunnen worden geconfigureerd voor uitvoering in een geïsoleerd virtueel netwerk of in een bestaand virtueel netwerk. In dit artikel wordt beschreven hoe u uw beheerde DevOps-pool configureert voor het uitvoeren van agents in uw virtuele netwerk.

Agents toevoegen aan uw eigen virtuele netwerk

Mogelijk wilt u agents uit Beheerde DevOps-pools toevoegen aan uw eigen virtuele netwerk voor scenario's zoals:

  • Uw CI/CD-agents moeten toegang hebben tot resources die alleen beschikbaar zijn in uw bedrijfsnetwerk via een service zoals Express Route
  • Uw CI/CD-agents moeten toegang hebben tot resources die zijn geïsoleerd naar privé-eindpunten
  • U wilt uw CI/CD-infrastructuur isoleren door uw eigen VNet te voorzien van bedrijfsspecifieke firewallregels
  • Andere unieke use cases die niet kunnen worden bereikt door kant-en-klare beheerde DevOps Pools-netwerkfuncties

U kunt de agents van uw pool aan uw virtuele netwerk toevoegen met behulp van de volgende stappen.

  1. Uw virtuele netwerk en subnet maken of meenemen
  2. Het subnet delegeren aan Microsoft.DevOpsInfrastructure/pools
  3. Het subnet koppelen aan uw beheerde DevOps-pool

De vorige stappen delegeren het subnet voor exclusieve toegang door de pool en het subnet kunnen niet worden gebruikt door andere pools of resources. Als u meerdere pools wilt verbinden met hetzelfde virtuele netwerk, kunnen meerdere subnetten worden gebruikt, elk gedelegeerd en gekoppeld aan hun eigen pool.

Uw virtuele netwerk en subnet maken of meenemen

Het subnet moet voldoende adresruimte hebben om te voldoen aan de maximale poolgrootte van de pool die u wilt koppelen (inclusief de Azure-reserves voor 5 IP-adressen in het subnet). Als u Express Route gebruikt, moet u de beheervergrendeling voor de resourcegroep tijdelijk verwijderen of wijzigen om schrijfbewerkingen toe te staan.

Belangrijk

De beheerde DevOps-pool en het virtuele netwerk moeten zich in dezelfde regio bevinden, of u krijgt een foutmelding die vergelijkbaar is met het volgende wanneer u de pool probeert te maken of de netwerkconfiguratie bij te werken. Virtual network MDPVN is in region eastus, but pool mdpnonprodsub is in region australiaeast. These must be in the same region.

Lezer en netwerkbijdrager toegang verlenen tot devOpsInfrastructure-service-principal

Zorg ervoor dat de DevOpsInfrastructure-principal de volgende toegang heeft in het virtuele netwerk:

  • Reader en Network Contributor
  • Of voeg de volgende machtiging toe aan een aangepaste rol:
    • Microsoft.Network/virtualNetworks/*/read
    • Microsoft.Network/virtualNetworks/subnets/join/action
    • Microsoft.Network/virtualNetworks/subnets/serviceAssociationLinks/validate/action
    • Microsoft.Network/virtualNetworks/subnets/serviceAssociationLinks/write
    • Microsoft.Network/virtualNetworks/subnets/serviceAssociationLinks/delete

Maak een aangepaste rol voor toegang tot servicekoppelingen. Een voorbeeldrol kan worden gemaakt op het niveau van de resourcegroep of het abonnement op het tabblad Toegangsbeheer, zoals wordt weergegeven in het volgende voorbeeld.

Schermopname van aangepaste rolmachtigingen.

De toegang tot de DevOpsInfrastructure-principal controleren

  1. Kies Toegangsbeheer (IAM) voor het virtuele netwerk en kies Toegang controleren.

    Schermopname van VNet-machtigingen voor subnetdelegering.

  2. Zoek naar DevOpsInfrastructure en selecteer deze.

    Schermopname van het selecteren van de principal AzureDevOpsInfrastructure.

  3. Toegang tot lezer controleren. Microsoft.Network/virtualNetworks/subnets/join/actionControleer of , Microsoft.Network/virtualNetworks/subnets/serviceAssociationLinks/validate/action en Microsoft.Network/virtualNetworks/subnets/serviceAssociationLinks/write toegang is toegewezen. Uw aangepaste rol moet hier worden weergegeven.

    Schermopname van VNet-machtigingen.

  4. Als DevOpsInfrastructure niet over deze machtigingen beschikt, voegt u deze toe door Toegangsbeheer (IAM) te kiezen voor het virtuele netwerk en kiest u Toegang verlenen tot deze resource en voegt u deze toe.

Het subnet delegeren aan Microsoft.DevOpsInfrastructure/pools

Het subnet moet worden gedelegeerd aan het Microsoft.DevOpsInfrastructure/pools te gebruiken subnet. Open de subneteigenschappen in de portal en selecteer Microsoft.DevOpsInfrastructure/pools onder de sectie Subnetdelegering en kies Opslaan.

Schermopname van het configureren van de subnetdelegering.

Hiermee wordt het subnet gedelegeerd voor exclusieve toegang voor de groep en kan het subnet niet worden gebruikt door andere pools of resources. Als u meerdere pools wilt verbinden met hetzelfde virtuele netwerk, moeten meerdere subnetten worden gebruikt, elk gedelegeerd en gekoppeld aan hun eigen pool. Meer informatie over subnetdelegering vindt u hier.

Zodra het subnet is gedelegeerd aan Microsoft.DevOpsInfrastructure/pools, kan de pool worden bijgewerkt om het subnet te gebruiken.

Het subnet koppelen aan uw beheerde DevOps-pool

  1. Als u een nieuwe pool maakt, gaat u naar het tabblad Netwerken. Als u een bestaande pool wilt bijwerken, gaat u naar Instellingennetwerken> en kiest u Agents die zijn geïnjecteerd in een bestaand virtueel netwerk, configureren.

    Schermopname van de optie configureren.

  2. Kies het abonnement, het virtuele netwerk en het subnet waaraan u bent gedelegeerd en kies Microsoft.DevOpsInfrastructure/pools.

    Schermopname van het koppelen van het subnet aan de pool.

Zodra de netwerkupdate is voltooid, gebruikt de zojuist gemaakte resource in de pool het gedelegeerde subnet.

Uitgaande connectiviteit beperken

Als u systemen in uw netwerk (NSG, Firewall, enzovoort) hebt die de uitgaande connectiviteit beperken, moet u ervoor zorgen dat de volgende domeinen toegankelijk zijn, anders werkt uw beheerde DevOps-pool niet. Ze zijn allemaal HTTPS, tenzij anders vermeld.

  • Zeer veilige eindpunten waarvoor onze service afhankelijk is van:
    • *.prod.manageddevops.microsoft.com - Eindpunt beheerde DevOps-pools
    • rmprodbuilds.azureedge.net - Binaire werkrollen
    • vstsagentpackage.azureedge.net - CDN-locatie van Azure DevOps-agent
    • *.queue.core.windows.net - Werkrolwachtrij voor communicatie met de service Beheerde DevOps-pools
    • server.pipe.aria.microsoft.com - Algemene telemetrieoplossing aan de clientzijde (en gebruikt door de extensie validatie van agentpools)
    • azure.archive.ubuntu.com - Linux-machines inrichten- dit is HTTP, niet HTTPS
    • www.microsoft.com - Linux-machines inrichten
    • security.ubuntu.com - Linux-machines inrichten
  • Minder veilig, meer open eindpunten waarvoor onze service afhankelijk is:
    • Nodig voor onze service:
      • packages.microsoft.com - Linux-machines inrichten
      • ppa.launchpad.net - Ubuntu-machines inrichten
      • dl.fedoraproject.org - Bepaalde Linux-distributies inrichten
    • Vereist door azure DevOps-agent:
      • dev.azure.com
      • *.services.visualstudio.com
      • *.vsblob.visualstudio.com
      • *.vssps.visualstudio.com
      • *.visualstudio.com Deze vermeldingen zijn de minimale domeinen die vereist zijn. Als u problemen ondervindt, raadpleegt u de acceptatielijst van Azure DevOps voor de volledige lijst met vereiste domeinen.
  • Azure-gerelateerde eindpunten: Azure-VM's kunnen verkeer routeren naar bepaalde Azure-functies via uw subnet. Voor deze aanvragen hebt u de mogelijkheid om aanvragen rechtstreeks via Azure te routeren of toegang via uw netwerk in te schakelen.
    1. Azure-verkeer configureren om via service-eindpunten te lopen

      Routering van verkeer via Azure voorkomt dat doorvoer wordt toegevoegd aan uw NSG's of firewalls. U hoeft de domeinen die in de volgende optie worden vermeld, niet toe te staan.

      Het gebruik van de gegevensschijf functie omvat bijvoorbeeld netwerkoproepen naar Azure Storage. Als u Microsoft.Storage service-eindpunt op uw netwerk inschakelt, wordt verkeer rechtstreeks via Azure gerouteerd, waardoor uw netwerkregels worden vermeden en de belasting wordt verminderd.

    2. Als u het routeren van verkeer via service-eindpunten wilt voorkomen, zijn dit de domeinen die moeten worden toegestaan voor specifieke functies.

      • md-*.blob.storage.azure.net : vereist om een gegevensschijf te configureren

Als u uw Azure DevOps Pipeline configureert voor uitvoering in een container, moet u ook de bron van de containerinstallatiekopieën (Docker of ACR) toestaan.

De Azure DevOps-agent configureren om achter een proxy te worden uitgevoerd

Als u een proxyservice hebt geconfigureerd voor uw installatiekopieën en wilt dat uw workloads worden uitgevoerd in uw beheerde DevOps-pool achter deze proxy, moet u de volgende omgevingsvariabelen toevoegen aan uw installatiekopieën.

  • VSTS_AGENT_INPUT_PROXYURL - De URL van de geconfigureerde proxy die achter moet worden uitgevoerd
  • VSTS_AGENT_INPUT_PROXYUSERNAME - De gebruikersnaam die nodig is om de proxy te gebruiken
  • VSTS_AGENT_INPUT_PROXYPASSWORD - Het wachtwoord voor het gebruik van de proxy.

Voor Windows moeten deze omgevingsvariabelen systeemomgevingsvariabelen zijn en voor Linux moeten deze variabelen zich in het omgevingsbestand /etc/bevinden . Als u deze systeemvariabelen onjuist instelt of zonder een geconfigureerde proxyservice op de installatiekopieën, mislukt het inrichten van nieuwe agents met netwerkverbindingsproblemen.

Als u migreert van Azure Virtual Machine Scale Set-agents en de proxyomgevingsvariabelen al in uw installatiekopieën gebruikt, zoals beschreven in Azure Virtual Machine Scale Set-agents: configuratie van pijplijnagent aanpassen, zijn er geen wijzigingen vereist.

Zie ook