Condividi tramite


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.

  1. Creare o portare la rete virtuale e la subnet
  2. Delegare la subnet a Microsoft.DevOpsInfrastructure/pools
  3. 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 e Network 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.

Screenshot delle autorizzazioni personalizzate per i ruoli.

Per controllare l'accesso dell'entità di sicurezza DevOpsInfrastructure

  1. Scegliere Controllo di accesso (IAM) per la rete virtuale e scegliere Controlla accesso.

    Screenshot delle autorizzazioni della rete virtuale per la delega della rete secondaria.

  2. Cercare DevOpsInfrastructure e selezionarlo.

    Screenshot della selezione dell'entità di sicurezza AzureDevOpsInfrastructure.

  3. Verificare l'accesso con autorizzazioni di lettura. Verificare che Microsoft.Network/virtualNetworks/subnets/join/actionsia assegnato , Microsoft.Network/virtualNetworks/subnets/serviceAssociationLinks/validate/action e Microsoft.Network/virtualNetworks/subnets/serviceAssociationLinks/write l'accesso. Il ruolo personalizzato dovrebbe essere visualizzato qui.

    Screenshot delle autorizzazioni della rete virtuale.

  4. 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.

Screenshot della configurazione della delega della subnet.

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

  1. 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.

    Screenshot dell'opzione di configurazione.

  2. Scegliere Sottoscrizione, Rete virtuale e Subnet delegata a Microsoft.DevOpsInfrastructure/poolse scegliere OK.

    Screenshot dell'associazione della subnet al pool.

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 gestiti
    • rmprodbuilds.azureedge.net - File binari di lavoro
    • vstsagentpackage.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 gestiti
    • server.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 HTTPS
    • www.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 Linux
      • ppa.launchpad.net - Provisioning di computer Ubuntu
      • dl.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.

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 dietro
  • VSTS_AGENT_INPUT_PROXYUSERNAME - Nome utente necessario per usare il proxy
  • VSTS_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.

Vedi anche