Sdílet prostřednictvím


Konfigurace sítí spravovaných fondů DevOps

Agenti spravovaných fondů DevOps je možné nakonfigurovat tak, aby běželi v izolované virtuální síti nebo do existující virtuální sítě. Tento článek popisuje, jak nakonfigurovat spravovaný fond DevOps tak, aby spouštěl agenty ve vaší virtuální síti.

Přidání agentů do vlastní virtuální sítě

Můžete chtít přidat agenty ze spravovaných fondů DevOps do vlastní virtuální sítě pro scénáře, jako jsou:

  • Agenti CI/CD potřebují přístup k prostředkům, které jsou dostupné jenom v podnikové síti prostřednictvím služby, jako je Express Route.
  • Agenti CI/CD potřebují přístup k prostředkům, které jsou izolované od privátních koncových bodů.
  • Chcete síť izolovat infrastrukturu CI/CD tím, že vlastní virtuální síť s pravidly brány firewall specifická pro společnost
  • Všechny ostatní jedinečné případy použití, které není možné dosáhnout funkcemi souvisejícími se sítěmi spravovaných fondů DevOps

Agenty fondu můžete do virtuální sítě přidat pomocí následujícího postupu.

  1. Vytvoření nebo přenesení virtuální sítě a podsítě
  2. Delegování podsítě na Microsoft.DevOpsInfrastructure/pools
  3. Přidružení podsítě ke spravovanému fondu DevOps

Předchozí kroky delegují podsíť pro výhradní přístup fondu a podsíť nemůže být používána jinými fondy nebo prostředky. Pokud chcete připojit více fondů ke stejné virtuální síti, můžete použít více podsítí, každý delegovaný a přidružený k vlastnímu fondu.

Vytvoření nebo přenesení virtuální sítě a podsítě

Podsíť musí mít dostatek adresního prostoru pro maximální velikost fondu, který chcete přidružit (včetně 5 rezerv IP adres Azure v podsíti). Pokud používáte ExpressRoute, musíte dočasné zahodování nebo změnit zámek správy ve skupině prostředků tak, aby umožňoval zápisy.

Důležité

Spravovaný fond DevOps a virtuální síť musí být ve stejné oblasti nebo se při pokusu o vytvoření fondu nebo aktualizaci konfigurace sítě zobrazí chyba podobná následující. Virtual network MDPVN is in region eastus, but pool mdpnonprodsub is in region australiaeast. These must be in the same region.

Udělení přístupu čtenáře a Přispěvatele sítě k instančnímu objektu devOpsInfrastructure

Ujistěte se, že objekt zabezpečení DevOpsInfrastructure má ve virtuální síti následující přístup:

  • Reader a Network Contributor
  • Nebo přidejte k vlastní roli následující oprávnění:
    • 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

Vytvořte vlastní roli pro přístup k odkazu přidružení služby. Ukázkovou roli můžete vytvořit na úrovni skupiny prostředků nebo předplatného na kartě Řízení přístupu, jak je znázorněno v následujícím příkladu.

Snímek obrazovky s oprávněními vlastní role

Kontrola přístupu k objektu zabezpečení DevOpsInfrastructure

  1. Zvolte Řízení přístupu (IAM) pro virtuální síť a zvolte Zkontrolovat přístup.

    Snímek obrazovky s oprávněními virtuální sítě pro delegování podsítě

  2. Vyhledejte DevOpsInfrastructure a vyberte ji.

    Snímek obrazovky s výběrem objektu zabezpečení AzureDevOpsInfrastructure

  3. Ověřte přístup čtenáře . Ověřte, Microsoft.Network/virtualNetworks/subnets/join/action že Microsoft.Network/virtualNetworks/subnets/serviceAssociationLinks/validate/actiona Microsoft.Network/virtualNetworks/subnets/serviceAssociationLinks/write přístup je přiřazený. Tady by se měla zobrazit vaše vlastní role.

    Snímek obrazovky s oprávněními virtuální sítě

  4. Pokud devOpsInfrastructure tato oprávnění nemá, přidejte je tak, že pro virtuální síť zvolíte Řízení přístupu (IAM) a zvolíte Udělit přístup k tomuto prostředku a přidáte je.

Delegování podsítě na Microsoft.DevOpsInfrastructure/pools

Podsíť je potřeba delegovat na použitou Microsoft.DevOpsInfrastructure/pools podsíť. Otevřete vlastnosti podsítě na portálu a vyberte Microsoft.DevOpsInfrastructure/pools v části Delegování podsítě a zvolte Uložit.

Snímek obrazovky konfigurace delegování podsítě

Tím deleguje podsíť pro výhradní přístup pro fond a podsíť nemůže být používána jinými fondy nebo prostředky. Aby bylo možné připojit více fondů ke stejné virtuální síti, je potřeba použít více podsítí, každý delegovaný a přidružený k vlastnímu fondu. Další informace o delegování podsítě najdete tady.

Jakmile je podsíť delegovaná Microsoft.DevOpsInfrastructure/pools, můžete fond aktualizovat tak, aby používal podsíť.

Přidružení podsítě ke spravovanému fondu DevOps

  1. Pokud vytváříte nový fond, přejděte na kartu Sítě. Pokud chcete aktualizovat existující fond, přejděte na >sítě a zvolte Agenti vložené do existující virtuální sítě, Konfigurovat.

    Snímek obrazovky s možností konfigurace

  2. Zvolte předplatné, virtuální síť a podsíť, na Microsoft.DevOpsInfrastructure/poolskteré jste delegovaní, a zvolte OK.

    Snímek obrazovky s přidružením podsítě k fondu

Po dokončení aktualizace sítě bude nově vytvořený prostředek ve fondu používat delegovanou podsíť.

Omezení odchozího připojení

Pokud máte v síti zavedené systémy (NSG, brána firewall atd.), které omezují odchozí připojení, musíte zajistit přístup k následujícím doménám, jinak váš spravovaný fond DevOps nebude funkční. Všechny jsou HTTPS, pokud není uvedeno jinak.

  • Vysoce zabezpečené koncové body, na které naše služba závisí:
    • *.prod.manageddevops.microsoft.com – Koncový bod spravovaných fondů DevOps
    • rmprodbuilds.azureedge.net – Binární soubory pracovních procesů
    • vstsagentpackage.azureedge.net – Umístění CDN agenta Azure DevOps
    • *.queue.core.windows.net – Fronta pracovních procesů pro komunikaci se službou spravovaných fondů DevOps
    • server.pipe.aria.microsoft.com – Běžné řešení telemetrie na straně klienta (a používá se mimo jiné rozšířením ověřování fondu agentů)
    • azure.archive.ubuntu.com – Zřizování počítačů s Linuxem – toto je HTTP, ne HTTPS.
    • www.microsoft.com – Zřizování počítačů s Linuxem
    • security.ubuntu.com – Zřizování počítačů s Linuxem
  • Méně bezpečné, více otevřených koncových bodů, na které naše služba závisí:
    • Potřebujeme naši službu:
      • packages.microsoft.com – Zřizování počítačů s Linuxem
      • ppa.launchpad.net – Zřizování počítačů s Ubuntu
      • dl.fedoraproject.org – Zřizování určitých distribucí Linuxu
    • Vyžaduje agent Azure DevOps:
      • dev.azure.com
      • *.services.visualstudio.com
      • *.vsblob.visualstudio.com
      • *.vssps.visualstudio.com
      • *.visualstudio.com Tyto položky jsou minimální požadované domény. Pokud máte nějaké problémy, podívejte se na seznam povolených domén Azure DevOps, kde najdete úplný seznam požadovaných domén.
  • Koncové body související s Azure: Virtuální počítače Azure můžou směrovat provoz do určitých funkcí Azure prostřednictvím vaší podsítě. U těchto požadavků máte možnost směrovat žádosti prostřednictvím Azure přímo nebo povolit přístup přes vaši síť.
    1. Konfigurace provozu Azure tak, aby běžela přes koncové body služby

      Směrování provozu přímo přes Azure zabraňuje přidání propustnosti do skupin zabezpečení sítě nebo bran firewall a nevyžaduje, abyste přidali domény do seznamu povolených, které jsou uvedeny v následující možnosti.

      Například použití funkce datového disku bude zahrnovat síťová volání do služby Azure Storage. Povolení koncového bodu služby Microsoft.Storage ve vaší síti bude směrovat provoz přímo přes Azure, čímž vynechá vaše síťová pravidla a sníží zatížení.

    2. Pokud se chcete vyhnout směrování provozu přes koncové body služby, jedná se o domény, které mají být povolené pro konkrétní funkce.

Pokud nakonfigurujete kanál Azure DevOps tak, aby běžel uvnitř kontejneru, musíte také povolit přidání zdroje image kontejneru (Docker nebo ACR).

Konfigurace agenta Azure DevOps pro spuštění za proxy serverem

Pokud jste na image nakonfigurovali proxy službu a chcete, aby vaše úlohy spuštěné ve spravovaném fondu DevOps běžely za tímto proxy serverem, musíte do image přidat následující proměnné prostředí.

  • VSTS_AGENT_INPUT_PROXYURL - Adresa URL nakonfigurovaného proxy serveru pro spuštění za sebou
  • VSTS_AGENT_INPUT_PROXYUSERNAME - Uživatelské jméno potřebné k použití proxy serveru
  • VSTS_AGENT_INPUT_PROXYPASSWORD - Heslo pro použití proxy serveru.

Pro Windows by tyto proměnné prostředí měly být systémové proměnné prostředí a pro Linux by tyto proměnné měly být v souboru /etc/environment . Nesprávné nastavení těchto systémových proměnných nebo bez nakonfigurované proxy služby na imagi způsobí selhání zřizování nových agentů s problémy s připojením k síti.

Pokud migrujete z agentů škálovací sady virtuálních počítačů Azure a už na vaší imagi používáte proměnné prostředí proxy serveru, jak je popsáno v agentech škálovací sady virtuálních počítačů Azure – Přizpůsobení konfigurace agenta kanálu, žádné změny by se neměly vyžadovat.

Viz také