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 geïsoleerd zijn voor 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 gerealiseerd met standaard beheerde DevOps Pools-netwerkfuncties
U kunt de agents van uw pool aan uw virtuele netwerk toevoegen met behulp van de volgende stappen.
- Uw virtuele netwerk en subnet maken of meenemen
- Het subnet delegeren aan Microsoft.DevOpsInfrastructure/pools
- 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 netwerkbijdragerstoegang verlenen tot DevOpsInfrastructure-service-principal
Zorg ervoor dat de DevOpsInfrastructure-principal de volgende toegang heeft in het virtuele netwerk:
-
Reader
enNetwork 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 de Service Association Link. 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.
De toegang tot de DevOpsInfrastructure-principal controleren
Kies Toegangsbeheer (IAM) voor het virtuele netwerk en kies Toegang controleren.
Zoek naar DevOpsInfrastructure en selecteer deze.
Controleer Reader-toegang.
Microsoft.Network/virtualNetworks/subnets/join/action
Controleer of ,Microsoft.Network/virtualNetworks/subnets/serviceAssociationLinks/validate/action
enMicrosoft.Network/virtualNetworks/subnets/serviceAssociationLinks/write
toegang is toegewezen. Uw aangepaste rol moet hier worden weergegeven.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
om te kunnen worden gebruikt.
Open de subneteigenschappen in de portal en selecteer Microsoft.DevOpsInfrastructure/pools
onder de sectie Subnetdelegering en kies Opslaan.
Hiermee wordt het subnet gedelegeerd voor exclusieve toegang door de pool en mag 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
Als u een nieuwe pool maakt, gaat u naar het tabblad Netwerken. Als u een bestaande pool wilt bijwerken, gaat u naar > en kiest u Agents die zijn geïnjecteerd in een bestaand virtueel netwerk, configureren.
Kies het abonnement, virtuele netwerk en subnet dat u heeft gedelegeerd aan
Microsoft.DevOpsInfrastructure/pools
, en kies Ok.
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 werkbestanden -
vstsagentpackage.azureedge.net
- CDN-locatie van Azure DevOps-agent -
*.queue.core.windows.net
- Werknemerwachtrij voor communicatie met de Beheerde DevOps Pools service -
server.pipe.aria.microsoft.com
- Algemene client-side telemetrieoplossing (en gebruikt door de Agent Pool Validation-extensie) -
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.
- Nodig voor onze service:
- 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.
Azure-verkeer configureren om via service-eindpunten te lopen
Het rechtstreeks routeren van verkeer via Azure voorkomt dat doorvoer wordt toegevoegd aan uw NSG's of firewalls en het vereist niet dat u de domeinen die in de volgende optie worden vermeld, op de toestaanlijst zet.
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.
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 om in een container te draaien, moet u ook de bron van de containerafbeeldingen (Docker of ACR) op de toestemmingslijst zetten.
De Azure DevOps-agent configureren om achter een proxy te worden uitgevoerd
Als u een proxyservice hebt geconfigureerd voor uw afbeelding en wilt dat uw workloads in uw beheerde DevOps-pool achter deze proxy draaien, moet u de volgende omgevingsvariabelen toevoegen aan uw afbeelding.
-
VSTS_AGENT_INPUT_PROXYURL
- De URL van de geconfigureerde proxy waarachter het moet draaien -
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 image, veroorzaakt dit dat het inrichten van nieuwe agents faalt, resulterend in netwerkverbindingsproblemen.
Als u overstapt van Azure Virtual Machine Scale Set-agents en de proxyomgevingsvariabelen al in uw afbeelding gebruikt, zoals beschreven in Azure Virtual Machine Scale Set-agents, configuratie van pijplijnagents aanpassen, hoeft u niets te wijzigen.