Configurare la rete di pool DevOps gestiti
Gli agenti di Pool DevOps gestiti possono essere configurati per l'esecuzione in una rete virtuale isolata o in una rete virtuale esistente. Questo articolo descrive come configurare il pool devOps gestito per eseguire gli agenti nella rete virtuale.
Aggiunta di agenti alla propria rete virtuale
È possibile aggiungere agenti da pool DevOps gestiti alla propria rete virtuale per scenari come:
- Gli agenti CI/CD devono accedere alle risorse disponibili solo nella rete aziendale tramite un servizio come ExpressRoute
- Gli agenti CI/CD devono accedere alle risorse isolate agli endpoint privati
- Si vuole isolare l'infrastruttura CI/CD portando la propria rete virtuale con regole del firewall specifiche dell'azienda
- Qualsiasi altro caso d'uso univoco che non può essere ottenuto dalle funzionalità correlate alla rete dei pool di DevOps gestiti predefiniti
È possibile aggiungere gli agenti del pool alla rete virtuale seguendo questa procedura.
- Creare o portare la rete virtuale e la subnet
- Delegare la subnet a Microsoft.DevOpsInfrastructure/pools
- Associare la subnet al pool DevOps gestito
I passaggi precedenti delegano la subnet per l'accesso esclusivo dal pool e la subnet non può essere usata da altri pool o risorse. Per connettere più pool alla stessa rete virtuale, è possibile usare più subnet, ognuna delegata e associata al proprio pool.
Creare o portare la rete virtuale e la subnet
La subnet deve avere spazio di indirizzi sufficiente per supportare le dimensioni massime del pool che si vuole associare (includere il 5 indirizzo IP riservato da Azure nella subnet). Se si usa ExpressRoute, è necessario eliminare o modificare il blocco di gestione nel gruppo di risorse per consentire le scritture.
Importante
Il pool DevOps gestito e la rete virtuale devono trovarsi nella stessa area oppure si riceverà un errore simile al seguente quando si tenta di creare il pool o aggiornare la configurazione di rete. Virtual network MDPVN is in region eastus, but pool mdpnonprodsub is in region australiaeast. These must be in the same region.
Concedere l'accesso con autorizzazioni di lettura e collaboratore alla rete all'entità servizio DevOpsInfrastructure
Verificare che l'entità DevOpsInfrastructure abbia l'accesso seguente nella rete virtuale:
Reader
eNetwork Contributor
- In alternativa, aggiungere l'autorizzazione seguente a un ruolo personalizzato:
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
Rendere un ruolo personalizzato per l'accesso a Service Association Link . È possibile creare un ruolo di esempio a livello di gruppo di risorse o sottoscrizione nella scheda Controllo di accesso, come illustrato nell'esempio seguente.
Per controllare l'accesso dell'entità di sicurezza DevOpsInfrastructure
Scegliere Controllo di accesso (IAM) per la rete virtuale e scegliere Controlla accesso.
Cercare DevOpsInfrastructure e selezionarlo.
Verificare l'accesso con autorizzazioni di lettura. Verificare che
Microsoft.Network/virtualNetworks/subnets/join/action
sia assegnato ,Microsoft.Network/virtualNetworks/subnets/serviceAssociationLinks/validate/action
eMicrosoft.Network/virtualNetworks/subnets/serviceAssociationLinks/write
l'accesso. Il ruolo personalizzato dovrebbe essere visualizzato qui.Se DevOpsInfrastructure non dispone di tali autorizzazioni, aggiungerle scegliendo Controllo di accesso (IAM) per la rete virtuale e scegliere Concedi l'accesso a questa risorsa e aggiungerle.
Delegare la subnet a Microsoft.DevOpsInfrastructure/pools
La subnet deve essere delegata all'oggetto Microsoft.DevOpsInfrastructure/pools
da usare.
Aprire le proprietà della subnet nel portale e selezionare Microsoft.DevOpsInfrastructure/pools
nella sezione Delega subnet e scegliere Salva.
Questo delega la subnet per l'accesso esclusivo per il pool e la subnet non può essere usata da altri pool o risorse. Per connettere più pool alla stessa rete virtuale, è necessario usare più subnet, ognuna delegata e associata al proprio pool. Altre informazioni sulla delega della subnet sono disponibili qui.
Dopo che la subnet è delegata a Microsoft.DevOpsInfrastructure/pools
, il pool può essere aggiornato per usare la subnet.
Associare la subnet al pool DevOps gestito
Se si sta creando un nuovo pool, passare alla scheda Rete. Per aggiornare un pool esistente, passare a Impostazioni>rete e scegliere Agenti inseriti nella rete virtuale esistente, Configura.
Scegliere Sottoscrizione, Rete virtuale e Subnet delegata a
Microsoft.DevOpsInfrastructure/pools
e scegliere OK.
Al termine dell'aggiornamento di rete, la risorsa appena creata nel pool userà la subnet delegata.
Limitazione della connettività in uscita
Se nella rete sono presenti sistemi (NSG, Firewall e così via) che limitano la connettività in uscita, è necessario assicurarsi che sia possibile accedere ai domini seguenti. In caso contrario, il pool devOps gestito non sarà funzionale. Tutti sono HTTPS, se non diversamente specificato.
- Endpoint altamente sicuri da cui dipende il servizio:
*.prod.manageddevops.microsoft.com
- Endpoint dei pool DevOps gestitirmprodbuilds.azureedge.net
- File binari di lavorovstsagentpackage.azureedge.net
- Posizione della rete CDN dell'agente Di Azure DevOps*.queue.core.windows.net
- Coda di lavoro per la comunicazione con il servizio Pool devOps gestitiserver.pipe.aria.microsoft.com
- Soluzione di telemetria lato client comune (e usata dall'estensione Di convalida pool di agenti tra le altre)azure.archive.ubuntu.com
- Provisioning di computer Linux: http, non HTTPSwww.microsoft.com
- Provisioning di computer Linux
- Endpoint meno sicuri e aperti da cui dipende il servizio:
- Necessario per il nostro servizio:
packages.microsoft.com
- Provisioning di computer Linuxppa.launchpad.net
- Provisioning di computer Ubuntudl.fedoraproject.org
- Provisioning di determinate distribuzioni Linux
- Necessario per l'agente Di Azure DevOps:
dev.azure.com
*.services.visualstudio.com
*.vsblob.visualstudio.com
*.vssps.visualstudio.com
*.visualstudio.com
Queste voci sono i domini minimi necessari. In caso di problemi, vedere l'elenco degli elementi consentiti di Azure DevOps per l'elenco completo dei domini necessari.
- Necessario per il nostro servizio:
Se si configura la pipeline di Azure DevOps per l'esecuzione all'interno di un contenitore, è necessario anche consentire l'origine dell'immagine del contenitore (Docker o Registro Azure Container).
Configurare l'agente Azure DevOps per l'esecuzione dietro un proxy
Se è stato configurato un servizio proxy nell'immagine e si vuole che i carichi di lavoro in esecuzione nel pool DevOps gestito vengano eseguiti dietro questo proxy, è necessario aggiungere le variabili di ambiente seguenti nell'immagine.
VSTS_AGENT_INPUT_PROXYURL
- URL del proxy configurato da eseguire dietroVSTS_AGENT_INPUT_PROXYUSERNAME
- Nome utente necessario per usare il proxyVSTS_AGENT_INPUT_PROXYPASSWORD
- Password per l'uso del proxy.
Per Windows, queste variabili di ambiente devono essere variabili di ambiente di sistema e per Linux queste variabili devono trovarsi nel file /etc/environment . L'impostazione di queste variabili di sistema in modo non corretto o senza un servizio proxy configurato nell'immagine causa l'esito negativo del provisioning di nuovi agenti con problemi di connettività di rete.
Se si esegue la migrazione dagli agenti del set di scalabilità di macchine virtuali di Azure e si usano già le variabili di ambiente proxy nell'immagine, come descritto in Agenti del set di scalabilità di macchine virtuali di Azure- Personalizzazione della configurazione dell'agente della pipeline, non è necessario apportare modifiche.