Konfigurera nätverk för hanterade DevOps-pooler
Hanterade DevOps-poolagenter kan konfigureras att köras i ett isolerat virtuellt nätverk eller i ett befintligt virtuellt nätverk. Den här artikeln beskriver hur du konfigurerar din hanterade DevOps-pool för att köra agenter i ditt virtuella nätverk.
Lägga till agenter i ditt eget virtuella nätverk
Du kanske vill lägga till agenter från hanterade DevOps-pooler i ditt eget virtuella nätverk för scenarier som:
- Dina CI/CD-agenter måste komma åt resurser som endast är tillgängliga i företagets nätverk via en tjänst som Express Route
- Dina CI/CD-agenter måste komma åt resurser som är isolerade till privata slutpunkter
- Du vill nätverksisolera CI/CD-infrastrukturen genom att ta med ditt eget virtuella nätverk med företagets specifika brandväggsregler
- Andra unika användningsfall som inte kan uppnås med färdiga nätverksrelaterade funktioner för Hanterade DevOps-pooler
Du kan lägga till poolens agenter i det virtuella nätverket med hjälp av följande steg.
- Skapa eller ta med ditt virtuella nätverk och undernät
- Delegera undernätet till Microsoft.DevOpsInfrastructure/pools
- Associera undernätet med din hanterade DevOps-pool
Föregående steg delegerar undernätet för exklusiv åtkomst av poolen och undernätet kan inte användas av andra pooler eller resurser. För att ansluta flera pooler till samma virtuella nätverk kan flera undernät användas, var och en delegerad och associerad med sin egen pool.
Skapa eller ta med ditt virtuella nätverk och undernät
Undernätet måste ha tillräckligt med adressutrymme för att rymma den maximala poolstorleken för den pool som du vill associera (inkludera de 5 IP-adresserna som Azure-reserver i undernätet). Om du använder Express Route måste du tillfälligt släppa eller ändra hanteringslåset på resursgruppen för att tillåta skrivningar.
Viktigt!
Den hanterade DevOps-poolen och det virtuella nätverket måste finnas i samma region, annars får du ett fel som liknar följande när du försöker skapa poolen eller uppdatera nätverkskonfigurationen. Virtual network MDPVN is in region eastus, but pool mdpnonprodsub is in region australiaeast. These must be in the same region.
Bevilja läsare och nätverksdeltagare åtkomst till DevOpsInfrastructure-tjänstens huvudnamn
Kontrollera att DevOpsInfrastructure-huvudnamnet har följande åtkomst i det virtuella nätverket:
Reader
ochNetwork Contributor
- Eller lägg till följande behörighet till en anpassad roll:
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
Skapa en anpassad roll för åtkomsten till Service Association Link . En exempelroll kan skapas på resursgrupps- eller prenumerationsnivå på fliken Åtkomstkontroll, som du ser i följande exempel.
Så här kontrollerar du huvudåtkomsten för DevOpsInfrastructure
Välj Åtkomstkontroll (IAM) för det virtuella nätverket och välj Kontrollera åtkomst.
Sök efter DevOpsInfrastructure och välj den.
Kontrollera åtkomsten till läsare . Kontrollera att
Microsoft.Network/virtualNetworks/subnets/join/action
,Microsoft.Network/virtualNetworks/subnets/serviceAssociationLinks/validate/action
ochMicrosoft.Network/virtualNetworks/subnets/serviceAssociationLinks/write
åtkomst har tilldelats. Din anpassade roll bör visas här.Om DevOpsInfrastructure inte har dessa behörigheter lägger du till dem genom att välja Åtkomstkontroll (IAM) för det virtuella nätverket och välja Bevilja åtkomst till den här resursen och lägga till dem.
Delegera undernätet till Microsoft.DevOpsInfrastructure/pools
Undernätet måste delegeras till det Microsoft.DevOpsInfrastructure/pools
som ska användas.
Öppna undernätsegenskaperna i portalen och välj Microsoft.DevOpsInfrastructure/pools
under avsnittet Delegering av undernät och välj Spara.
Detta delegerar undernätet för exklusiv åtkomst för poolen och undernätet kan inte användas av andra pooler eller resurser. För att ansluta flera pooler till samma virtuella nätverk måste flera undernät användas, var och en delegerad och associerad med sin egen pool. Mer information om delegering av undernät finns här.
När undernätet har delegerats till Microsoft.DevOpsInfrastructure/pools
kan poolen uppdateras för att använda undernätet.
Associera undernätet med din hanterade DevOps-pool
Om du skapar en ny pool går du till fliken Nätverk. Om du vill uppdatera en befintlig pool går du till Inställningar>Nätverk och väljer Agenter som matas in i det befintliga virtuella nätverket Konfigurera.
Välj prenumerationen, det virtuella nätverket och undernätet som du delegerade till
Microsoft.DevOpsInfrastructure/pools
och välj Ok.
När nätverksuppdateringen är klar använder den nyligen skapade resursen i poolen det delegerade undernätet.
Begränsa utgående anslutning
Om du har system på plats i nätverket (NSG, brandvägg osv.) som begränsar utgående anslutning måste du se till att följande domäner kan nås, annars fungerar inte din hanterade DevOps-pool. Alla är HTTPS, om inget annat anges.
- Mycket säkra slutpunkter som vår tjänst är beroende av:
*.prod.manageddevops.microsoft.com
– Slutpunkt för hanterade DevOps-poolerrmprodbuilds.azureedge.net
– Binärfiler för arbetarevstsagentpackage.azureedge.net
– CdN-plats för Azure DevOps-agenten*.queue.core.windows.net
– Arbetskö för kommunikation med tjänsten Hanterade DevOps-poolerserver.pipe.aria.microsoft.com
– Gemensam telemetrilösning på klientsidan (och används bland annat av agentpoolens valideringstillägg)azure.archive.ubuntu.com
– Etablera Linux-datorer – det här är HTTP, inte HTTPSwww.microsoft.com
– Etablera Linux-datorer
- Mindre säkra och mer öppna slutpunkter som vår tjänst är beroende av:
- Behövs av vår tjänst:
packages.microsoft.com
– Etablera Linux-datorerppa.launchpad.net
– Etablera Ubuntu-datorerdl.fedoraproject.org
– Etablera vissa Linux-distributioner
- Krävs av Azure DevOps-agenten:
dev.azure.com
*.services.visualstudio.com
*.vsblob.visualstudio.com
*.vssps.visualstudio.com
*.visualstudio.com
Dessa poster är de minsta domäner som krävs. Om du har problem kan du läsa Azure DevOps-listan över tillåtna domäner.
- Behövs av vår tjänst:
Om du konfigurerar din Azure DevOps-pipeline så att den körs i en container måste du även tillåta att containeravbildningens källa (Docker eller ACR) anges.
Konfigurera Azure DevOps-agenten så att den körs bakom en proxy
Om du har konfigurerat en proxytjänst på avbildningen och vill att dina arbetsbelastningar ska köras i din hanterade DevOps-pool ska köras bakom den här proxyn, måste du lägga till följande miljövariabler på avbildningen.
VSTS_AGENT_INPUT_PROXYURL
– URL:en för den konfigurerade proxyn som ska köras bakomVSTS_AGENT_INPUT_PROXYUSERNAME
– Användarnamnet som krävs för att använda proxynVSTS_AGENT_INPUT_PROXYPASSWORD
– Lösenordet för att använda proxyn.
För Windows ska dessa miljövariabler vara systemmiljövariabler, och för Linux ska dessa variabler finnas i filen /etc/environment . Om du anger dessa systemvariabler felaktigt eller utan en konfigurerad proxytjänst på avbildningen misslyckas etableringen av nya agenter med problem med nätverksanslutningen.
Om du migrerar från Azure Virtual Machine Scale Set-agenter och redan använder proxymiljövariablerna på avbildningen, enligt beskrivningen i Azure Virtual Machine Scale Set-agenter – Anpassa pipelineagentkonfiguration, bör inga ändringar krävas.