Výkon a náklady instance spravovaných DevOps Pools můžete spravovat konfigurací nastavení škálování. Informace o cenách a výkonu najdete v tématu Správa nákladů a výkonu.
Stav agenta
Fondy můžete nakonfigurovat takto:
-
Bezstavové: Zajistěte pro každou úlohu nový agent.
-
Stavové: Umožňuje sdílení agentů mezi více úlohami.
Výchozí nastavení poolu je bezstavové, čehož můžete dosáhnout nastavením Fresh agenta pokaždé. V některých případech mohou týmy chtít znovu použít agenty a tím i balíčky nebo soubory vytvořené během předchozího běhu pipeline. Úloha sestavení je běžný scénář, kdy týmy chtějí zachovat stav a opakovaně používat agenty. Stavové fondy můžete vytvořit pomocí spravovaných fondů DevOps, zatímco zachováte rovnováhu s osvědčenými postupy zabezpečení. Ve výchozím nastavení je možné agenta opakovaně používat maximálně sedm dní, ale můžete ho nakonfigurovat tak, aby se recykloval dříve.
Poznámka:
Agenti zabezpečení doporučují, aby uživatelé používali bezstavové fondy jako ochranu před útoky na dodavatelský řetězec. Pokaždé použijte nastavení stavu agenta Fresh.
Bezstavové fondy
Při konfiguraci bezstavového agenta se pro každou úlohu zajišťuje nový agent. Po dokončení úlohy se agent zahodí.
Další informace o životním cyklu bezstavových agentů a o tom, jak se používají v rámci Azure Pipelines, najdete v části Životní cyklus agentů a potenciální zpoždění při přidělování.
Agenty můžete nakonfigurovat pomocí agentProfile vlastnosti v prostředku Spravované fondy DevOps. Následující příklad určuje agenta Stateless .
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2025-09-20",
"location": "eastus",
"properties": {
...
"agentProfile": {
"kind": "Stateless"
}
}
}
]
}
Agenty můžete nakonfigurovat pomocí parametru agent-profile při vytváření nebo aktualizaci fondu.
Následující příklad určuje agenta Stateless bez pohotovostních agentů.
az mdp pool create \
--agent-profile agent-profile.json
# other parameters omitted for space
Následující příklad ukazuje obsah souboru agent-profile.json .
{
"Stateless": {}
}
Agenty můžete nakonfigurovat pomocí agentProfile vlastnosti v prostředku Spravované fondy DevOps. Následující příklad určuje agenta Stateless .
resource managedDevOpsPools 'Microsoft.DevOpsInfrastructure/pools@2025-09-20' = {
name: 'fabrikam-managed-pool'
location: 'eastus'
properties: {
...
agentProfile: {
kind: 'Stateless'
}
}
}
Když nastavíte stav agentana Fresh agent pokaždé, pro každou úlohu se zařídí nový agent. Po dokončení úlohy se agent zahodí.
Stavové fondy
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2025-09-20",
"location": "eastus",
"properties": {
...
"agentProfile": {
"maxAgentLifetime": "7.00:00:00",
"gracePeriodTimeSpan": "00:30:00",
"kind": "Stateful"
}
}
}
]
}
Agenty můžete nakonfigurovat pomocí parametru agent-profile při vytváření nebo aktualizaci fondu.
Následující příklad určuje agenta Stateful se sedmidenní maximální životností a třicetiminutovým obdobím odkladu.
az mdp pool create \
--agent-profile agent-profile.json
# other parameters omitted for space
Následující příklad ukazuje obsah agent-profile.json souboru.
{
"Stateful":
{
"maxAgentLifetime": "7.00:00:00",
"gracePeriodTimeSpan": "00:30:00"
}
}
resource managedDevOpsPools 'Microsoft.DevOpsInfrastructure/pools@2025-09-20' = {
name: 'fabrikam-managed-pool'
location: 'eastus'
properties: {
...
agentProfile: {
kind: 'Stateful'
maxAgentLifetime: '7.00:00:00'
gracePeriodTimeSpan:'00:30:00'
}
}
}
Když povolíte Stejný agent může používat více sestavení (nastavení "kind": "stateful" v šablonách prostředků nebo nastavení { "stateful": {...} } v Azure CLI), agenti ve fondu jsou stavoví. Stavové fondy můžete nakonfigurovat pomocí následujících nastavení:
Maximální doba provozu pro pohotovostní agenty (maxAgentLifetime) konfiguruje maximální dobu trvání agenta ve stavovém fondu, než se vypne a zahodí. Formát maximální doby platnosti pro záložní agenty je dd.hh:mm:ss. Výchozí hodnota Max time to live pro agenty v pohotovostním režimu je nastavena na maximální povolenou dobu trvání sedm dnů (7.00:00:00).
Odkladová doba (gracePeriodTimeSpan) určuje dobu, kterou agent ve stavovém fondu vyčkává na nové úlohy, než se po dokončení všech aktuálních úloh a úloh ve frontě vypne. Formát pro období odkladu je dd.hh:mm:ss a výchozí nastavení je bez období odkladu.
Důležité
Pokud je úloha spuštěná, když vyprší maximální doba živosti pro pohotovostní agenty, agent se nevypne, dokud se úloha nedokončí, není-li úloha již spuštěna déle než dva dny. Jednotlivé úlohy ve spravovaných fondech DevOps se můžou spouštět maximálně dva dny, i když jsou spuštěné v pohotovostním agentovi s více než dvěma dny nakonfigurovanými pro maximální dobu provozu pro pohotovostní agenty. (Spravovaný fond DevOps podporuje kanály, které běží déle než dva dny, jejich rozdělením do několika kratších úloh, které se dokončí za dva dny nebo méně.)
Agenti v bezstavových poolech se po každé úloze vypnou a zahodí. Pokud jsou splněny některé z následujících podmínek, agenti ve stavových fondech budou nadále spuštěni:
- Pokud se po dokončení první úlohy zařadí jiná úloha do fronty, spravované fondy DevOps odešlou úlohu zařazenou do fronty agentovi, který spustil první úlohu, místo aby ji vypnul.
- Pokud je pro fond nakonfigurované období odkladu, agenti před vypnutím čekají na nové úlohy po dobu trvání určenou obdobím odkladu.
- Pokud jsou povoleni pohotovostní agenti a image agenta splňuje kritéria aktivního období zřizování, agent pokračuje v běhu a čeká na úlohy.
Agenti, kteří běží ve stavových skupinách, jsou vypnuti a zahozeni, pokud běží nepřetržitě po dobu trvání určenou maximální dobou provozu pro agenty v pohotovostním režimu, i když jsou splněny předchozí podmínky. Pokud je například pro pohotovostní agenty nakonfigurovaný maximální doba provozu po dobu tří dnů a režim pohotovostního agenta je nastavený na ručně, režim celého týdne (počítače dostupné 24/7) se agenti restartují po třech nepřetržitých dnech provozu.
Důležité
Agenty ve stavových skupinách lze po dokončení úlohy vypnout a odstranit, pokud neexistuje žádná doba odkladu, žádné aktivní období zřizování pro pohotovostní agenty ani žádné úlohy ve frontě určené pro agenta. Při zahození agenta dojde ke ztrátě stavu.
Období odkladu umožňují nákladově nejefektivnější způsob spouštění stavových fondů pro kanály s konzistentním zatížením. Období odkladu nevyžadují použití pohotovostního režimu agenta, aby agenti zůstali online a připravení přijímat úlohy.
Pohotovostní režim agenta
Při vytváření fondu je režim pohotovostního agenta ve výchozím nastavení vypnutý. Když je režim pohotovostního agenta vypnutý, nejsou k dispozici žádní pohotovostní agenti, které by bylo možné okamžitě přiřadit k pipeline. Vaše kanály mohou muset čekat od několika sekund do 15 minut, než bude zřízen agent na požádání. Pokud chcete dosáhnout lepšího výkonu, povolte režim pohotovostního agenta a nakonfigurujte plán pohotovostního agenta, který poskytuje kapacitu pro vaši úlohu.
Když konfigurujete plán pohotovostního agenta, spravované fondy DevOps pravidelně porovnávají počet zřízených agentů s počtem pohotovostních agentů, které zadáte v aktuálním schématu zřizování. Spustí nové agenty podle potřeby pro zachování počtu pohotovostních agentů. Pomocí podokna Agenti můžete zobrazit aktuální stav a počet agentů ve vašem fondu.
Důležité
Počet zřizování ve schématu nemůže být větší než maximální počet agentů, kterou nakonfigurujete v nastavení fondu.
Režim pohotovostního agenta můžete nakonfigurovat pomocí následujících nastavení:
-
Vypnuto: Režim pohotovostního agenta je vypnutý a agenti jsou zřizováni na vyžádání, když jsou úlohy zařazeny do fronty.
-
Ruční: Nakonfigurujte plán ručně pohotovostního režimu.
-
Automaticky: Použijte automatický pohotovostní plán založený na historii využití agenta. Můžete ho nakonfigurovat pro náklady a výkon.
Pohotovostní agenty můžete nakonfigurovat pomocí resourcePredictionsProfile části agentProfile vlastnosti. Nastavte "kind": "Manual" na schéma zahájení od začátku, schéma dne v týdnu nebo schéma celého týdne a zadejte podrobnosti schématu v části resourcePredictions. Chcete-li konfigurovat automatické pohotovostní agenty, nastavte "kind": "Automatic". Zakažte záložní agenty vynecháním části ResourcePredictionsProfile. Podrobnosti o konfiguraci jednotlivých typů škálování najdete v následujících částech.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2025-09-20",
"location": "eastus",
"properties": {
...
"agentProfile": {
"kind": "Stateless",
"resourcePredictionsProfile": {
"kind": "Manual"
},
"resourcePredictions": {...}
}
}
}
]
}
Agenty můžete nakonfigurovat pomocí parametru agent-profile při vytváření nebo aktualizaci fondu.
Pohotovostní agenty můžete nakonfigurovat pomocí resourcePredictionsProfile části parametru agent-profile .
"Manual": {} Pomocí tohoto nastavení můžete nakonfigurovat zahájení od nuly, šablonu pro všední dny nebo pro celý týden a zadat podrobnosti šablony v této části resourcePredictions. Pokud chcete nakonfigurovat automatické pohotovostní agenty, použijte "Automatic": {} nastavení. Podrobnosti o konfiguraci jednotlivých typů škálování najdete v následujících částech.
az mdp pool create \
--agent-profile agent-profile.json
# other parameters omitted for space
Následující příklad ukazuje obsah agent-profile.json souboru:
{
"Stateless": {},
"resourcePredictionsProfile": {
"Manual": {}
},
"resourcePredictions": {...}
}
Pohotovostní agenty můžete nakonfigurovat pomocí resourcePredictionsProfile části agentProfile vlastnosti.
"kind": "Manual" Pomocí tohoto nastavení můžete nakonfigurovat zahájení od nuly, šablonu pro všední dny nebo pro celý týden a zadat podrobnosti šablony v této části resourcePredictions. Pokud chcete nakonfigurovat automatické pohotovostní agenty, použijte kind: 'Automatic' nastavení. Zakažte záložní agenty vynecháním části ResourcePredictionsProfile. Podrobnosti o konfiguraci jednotlivých typů škálování najdete v následujících částech.
resource managedDevOpsPools 'Microsoft.DevOpsInfrastructure/pools@2025-09-20' = {
name: 'fabrikam-managed-pool'
location: 'eastus'
properties: {
...
agentProfile: {
kind: 'Stateless'
resourcePredictionsProfile: {
kind: 'Manual'
}
resourcePredictions: {...}
}
}
}
Příručka
Ruční režim je nejvhodnější pro týmy, které znají vzory využití kanálů kontinuální integrace a průběžného doručování (CI/CD). Při použití ruční možnosti je potřeba definovat schéma předběžného zřizování. Schéma definujete na základě vašeho porozumění tomu, jaké agenty ve fondu se budou pravděpodobně používat a kolik agentů se bude pravděpodobně používat. Zadáte počet agentů pro zajištění, kteří splňují projektovanou poptávku.
Můžete vytvořit vlastní plán nasazení nebo si vybrat některý z předdefinovaných. Časové pásmo můžete nakonfigurovat tak, aby používalo k určení plánů. Výchozí hodnota pro časové pásmo předběžného nastavení je (UTC) Koordinovaný univerzální čas.
Ruční pohotovostní agenty můžete nakonfigurovat jedním z následujících tří způsobů:
Každý úvodní průvodce předběžného nastavení má následující společná nastavení (kromě nastavení specifických pro tohoto úvodního průvodce):
-
Časové pásmo předpřipravení: Umožňuje nakonfigurovat časové pásmo pro časové úseky ve schématu předpřipravení. Výchozí hodnota pro Časové pásmo předběžného zřizování je (UTC) Koordinovaný univerzální čas.
-
Procento pohotovostního agenta: Nakonfiguruje procento pohotovostních agentů, které chcete použít pro každou image. Můžete zadat
* , abyste zajistili, že jsou všechny image zřízeny stejně, nebo můžete zadat celé číslo od 0 do 100, které představuje procento. Pokud zadáte procento, musí se součet pro všechny obrázky rovnat 100. Pokud máte jeden obrázek, zadejte * nebo 100. Pokud používáte šablony Azure Resource Manager (šablony ARM), můžete nakonfigurovat nastavení Procento agentaStandby v části images. Další informace najdete v tématu Konfigurace imagí.
Ruční zřizování agenta v pohotovostním režimu můžete zadat v části resourcePredictionsProfileagentProfile. Můžete nakonfigurovat podrobnosti v resourcePredictions.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2025-09-20",
"location": "eastus",
"properties": {
...
"agentProfile": {
"kind": "Stateless",
"resourcePredictionsProfile": {
"kind": "Manual"
},
"resourcePredictions": {
"timeZone": "Eastern Standard Time",
"daysData": [
{},
{
"00:00:00": 1,
"04:00:00": 0
},
{},
{},
{},
{},
{}
]
}
}
}
}
]
}
Pomocí vlastnosti timeZone nastavte požadované časové pásmo vašeho schématu. Výchozí hodnota je UTC. Chcete-li načíst seznam názvů časových pásem pro tuto vlastnost, viz TimeZoneInfo.GetSystemTimeZones – metoda.
Pomocí seznamu můžete definovat plán pro pohotovostní agenty daysData . Seznam daysData může obsahovat jednu nebo sedm položek.
Seznam daysData se sedmi položkami odpovídá dnům v týdnu, počínaje nedělí. Každá z těchto sedmi položek může obsahovat nula nebo více "time": count záznamů, přičemž se zadává čas ve formátu 24 hodin a počet pohotovostních agentů. Zadaný počet pohotovostních agentů se udržuje až do další "time": count položky, která může být ve stejný den nebo následující den.
daysData Seznam s jednou položkou definuje schéma celého týdne, kde jedna "time": count položka odpovídá počtu pohotovostních agentů po celý týden.
Následující příklad je schéma ručního pohotovostního agenta. Používá hodnotu Eastern Standard Time s jedním agentem zřízeným od pondělí do pátku od 9:00 (počet pohotovostních agentů 1) do 17:00 (počet pohotovostních agentů 0).
{
"kind": "Stateless",
"resourcePredictions": {
"timeZone": "Eastern Standard Time",
"daysData": [
{},
{
"09:00:00": 1,
"17:00:00": 0
},
{
"09:00:00": 1,
"17:00:00": 0
},
{
"09:00:00": 1,
"17:00:00": 0
},
{
"09:00:00": 1,
"17:00:00": 0
},
{
"09:00:00": 1,
"17:00:00": 0
},
{}
]
},
"resourcePredictionsProfile": {
"kind": "Manual"
}
}
Jedna daysData položka obsahuje slovník časů a počet pohotovostních agentů. Každá "time" : count položka uvádí počet pohotovostních agentů, které se mají naplánovat od zadaného času, ve 24hodinovém formátu. Po sobě jdoucí "time" : count položky určují posloupnost počtu naplánovaných agentů pro daný den.
"daysData": [
{}, # Schedule of standby agent count adjustments for Sunday
{ # Schedule of standby agent count adjustments for Monday
"09:00:00": 1, # Adjust standby agent count to 1
"17:00:00": 0 # Adjust standby agent count to 0
},
{ # Schedule of standby agent count adjustments for Tuesday
"09:00:00": 1,
"17:00:00": 0
},
{ # Schedule of standby agent count adjustments for Wednesday
"09:00:00": 1,
"17:00:00": 0
},
{ # Schedule of standby agent count adjustments for Thursday
"09:00:00": 1,
"17:00:00": 0
},
{ # Schedule of standby agent count adjustments for Friday
"09:00:00": 1,
"17:00:00": 0
},
{} # Schedule of standby agent count adjustments for Saturday
]
Počet pohotovostních agentů se automaticky nenuluje zpět na nulu na konci dne nebo na konci týdne. Zadání prázdné daysData položky pro tento den nezpůsobí deaktivaci pohotovostních agentů. Prázdná daysData položka znamená, že pro tento den nedošlo k žádným změnám plánu počtu pohotovostních agentů. Chcete-li nastavit pohotovostního agenta na nulu počínaje konkrétním časovým obdobím, musíte explicitně zadat "time" : count položku s count hodnotou 0.
Příklady
Pokud nechcete provádět žádné úpravy počtu pohotovostních agentů zadaných na závěr předchozího dne (nebo týdne, pokud konfigurujete první období týdne), zadejte daysData položku s nulovými položkami:
{}
Pokud chcete naplánovat jednoho pohotovostního agenta tak, aby se spustil v 09:00:00 a zastavil v 17:00:00 (s použitím časového pásma specifikovaného vlastností resourcePredictions), zadejte následující konfiguraci:
{
"09:00:00": 1,
"17:00:00": 0
}
Pokud chcete naplánovat jednoho pohotovostního agenta od půlnoci až do 09:00:00, následovaného 10 pohotovostními agenty až do 17:00:00, zadejte následující konfiguraci:
{
"00:00:00": 1,
"09:00:00": 10,
"17:00:00": 0
}
Chcete-li naplánovat, aby byl pohotovostní agent dostupný od 09:00:00 zadaného dne a zastavil se následující 17:00:00 den, použijte dvě po sobě jdoucí daysData položky:
{
"09:00:00": 1
},
{
"17:00:00": 0
}
Agenty můžete nakonfigurovat pomocí parametru agent-profile při vytváření nebo aktualizaci fondu.
az mdp pool create \
--agent-profile agent-profile.json
# other parameters omitted for space
Následující příklad ukazuje obsah souboru agent-profile.json . Můžete zadat ruční zřizování standby agenta v části resourcePredictionsProfile parametru agent-profile. Nakonfigurujte podrobnosti v resourcePredictions části:
{
"Stateless": {},
"resourcePredictionsProfile": {
"Manual": {}
},
"resourcePredictions": {
"timeZone": "Eastern Standard Time",
"daysData": [
{},
{
"00:00:00": 1,
"04:00:00": 0
},
{},
{},
{},
{},
{}
]
}
}
Zadejte časové pásmo pro své schéma pomocí vlastnosti timeZone. Výchozí hodnota je UTC. Chcete-li načíst seznam názvů časových pásem pro tuto vlastnost, viz TimeZoneInfo.GetSystemTimeZones – metoda.
Seznam daysData definuje plán pro pohotovostní agenty. Seznam daysData může obsahovat jednu nebo sedm položek.
Seznam daysData se sedmi položkami odpovídá dnům v týdnu, počínaje nedělí. Každá z těchto sedmi položek může obsahovat nula nebo více "time": count záznamů, přičemž se zadává čas ve formátu 24 hodin a počet pohotovostních agentů. Zadaný počet pohotovostních agentů se udržuje až do další "time": count položky, která může být ve stejný den nebo následující den.
daysData Seznam s jednou položkou definuje schéma celého týdne, kde jedna "time": count položka odpovídá počtu pohotovostních agentů po celý týden.
Následující příklad je schéma ručního pohotovostního agenta. Schéma používá hodnotu Eastern Standard Time s jedním agentem zřízeným od pondělí do pátku od 9:00 do 17:00 (počet 1 pohotovostních agentů) až do 17:00 (počet 0 pohotovostních agentů):
{
"Stateless": {},
"resourcePredictionsProfile": {
"Manual": {}
},
"resourcePredictions": {
"timeZone": "Eastern Standard Time",
"daysData": [
{},
{
"09:00:00": 1,
"17:00:00": 0
},
{
"09:00:00": 1,
"17:00:00": 0
},
{
"09:00:00": 1,
"17:00:00": 0
},
{
"09:00:00": 1,
"17:00:00": 0
},
{
"09:00:00": 1,
"17:00:00": 0
},
{}
]
}
}
Jedna daysData položka obsahuje slovník časů a počet pohotovostních agentů. Každá "time" : count položka uvádí počet pohotovostních agentů, které se mají naplánovat od zadaného času, ve 24hodinovém formátu. Po sobě jdoucí "time" : count položky určují posloupnost počtu naplánovaných agentů pro daný den.
"daysData": [
{}, # Schedule of standby agent count adjustments for Sunday
{ # Schedule of standby agent count adjustments for Monday
"09:00:00": 1, # Adjust standby agent count to 1
"17:00:00": 0 # Adjust standby agent count to 0
},
{ # Schedule of standby agent count adjustments for Tuesday
"09:00:00": 1,
"17:00:00": 0
},
{ # Schedule of standby agent count adjustments for Wednesday
"09:00:00": 1,
"17:00:00": 0
},
{ # Schedule of standby agent count adjustments for Thursday
"09:00:00": 1,
"17:00:00": 0
},
{ # Schedule of standby agent count adjustments for Friday
"09:00:00": 1,
"17:00:00": 0
},
{} # Schedule of standby agent count adjustments for Saturday
]
Počet pohotovostních agentů se automaticky nenuluje zpět na nulu na konci dne nebo na konci týdne. Zadání prázdné daysData položky pro tento den nezpůsobí deaktivaci pohotovostních agentů. Prázdná daysData položka znamená, že pro tento den nedošlo k žádným změnám plánu počtu pohotovostních agentů. Chcete-li nastavit pohotovostního agenta na nulu počínaje konkrétním časovým obdobím, musíte explicitně zadat "time" : count položku s count hodnotou 0.
Příklady
Pokud nechcete upravit zadaný počet pohotovostních agentů na závěr předchozího dne (nebo týdne, pokud konfigurujete první období týdne), zadejte daysData položku s nulovými položkami:
{}
Pokud chcete naplánovat spuštění 09:00:00 a zastavení 17:00:00 jednoho pohotovostního agenta (pomocí časového pásma, které zadáte ve resourcePredictions vlastnosti), zadejte následující konfiguraci:
{
"09:00:00": 1,
"17:00:00": 0
}
Pokud chcete naplánovat jednoho pohotovostního agenta od půlnoci až do 09:00:00, následovaného 10 pohotovostními agenty až do 17:00:00, zadejte následující konfiguraci:
{
"00:00:00": 1,
"09:00:00": 10,
"17:00:00": 0
}
Chcete-li naplánovat, aby byl pohotovostní agent dostupný od 09:00:00 zadaného dne a zastavil se následující 17:00:00 den, použijte dvě po sobě jdoucí daysData položky:
{
"09:00:00": 1
},
{
"17:00:00": 0
}
Ruční zřizování agenta v pohotovostním režimu můžete zadat v části resourcePredictionsProfileagentProfile. Podrobnosti v resourcePredictions části můžete nakonfigurovat:
resource managedDevOpsPools 'Microsoft.DevOpsInfrastructure/pools@2025-09-20' = {
name: 'fabrikam-managed-pool'
location: 'eastus'
properties: {
...
agentProfile: {
kind: 'Stateless'
resourcePredictionsProfile: {
kind: 'Manual'
}
resourcePredictions: {
timeZone: 'Eastern Standard Time'
daysData: [
{}
{
'00:00:00': 1
'04:00:00': 0
}
{}
{}
{}
{}
{}
]
}
}
}
}
Pomocí vlastnosti timeZone nastavte požadované časové pásmo vašeho schématu. Výchozí hodnota je UTC. Chcete-li načíst seznam názvů časových pásem pro tuto vlastnost, viz TimeZoneInfo.GetSystemTimeZones – metoda.
Seznam daysData definuje plán pro pohotovostní agenty. Seznam daysData může obsahovat jednu nebo sedm položek.
Seznam daysData se sedmi položkami se mapuje na dny v týdnu počínaje nedělí. Každá z těchto sedmi položek může obsahovat nula nebo více 'time': count záznamů, přičemž se zadává čas ve formátu 24 hodin a počet pohotovostních agentů. Zadaný počet pohotovostních agentů se udržuje až do další 'time': count položky, která může být ve stejný den nebo následující den.
daysData Seznam s jednou položkou definuje schéma celého týdne, kde jedna 'time': count položka odpovídá počtu pohotovostních agentů po celý týden.
Následující příklad představuje schéma ručního nasazení pohotovostního agenta, které využívá hodnotu Eastern Standard Time, s jedním agentem určeným od pondělí do pátku, od 9:00 (počet pohotovostních agentů 1) do 17:00 (počet pohotovostních agentů 0):
{
kind: 'Stateless'
resourcePredictions: {
timeZone: 'Eastern Standard Time'
daysData: [
{}
{
'09:00:00': 1
'17:00:00': 0
}
{
'09:00:00': 1
'17:00:00': 0
}
{
'09:00:00': 1
'17:00:00': 0
}
{
'09:00:00': 1
'17:00:00': 0
}
{
'09:00:00': 1
'17:00:00': 0
}
{}
]
}
resourcePredictionsProfile: {
kind: 'Manual'
}
}
Jedna daysData položka obsahuje slovník časů a počet pohotovostních agentů. Každá 'time' : count položka uvádí počet pohotovostních agentů, které se mají naplánovat od zadaného času, ve 24hodinovém formátu. Po sobě jdoucí 'time' : count položky určují posloupnost počtu naplánovaných agentů pro daný den.
daysData: [
{} // Schedule of standby agent count adjustments for Sunday
{ // Schedule of standby agent count adjustments for Monday
'09:00:00': 1 // Adjust standby agent count to 1
'17:00:00': 0 // Adjust standby agent count to 0
}
{ // Schedule of standby agent count adjustments for Tuesday
'09:00:00': 1
'17:00:00': 0
}
{ // Schedule of standby agent count adjustments for Wednesday
'09:00:00': 1
'17:00:00': 0
}
{ // Schedule of standby agent count adjustments for Thursday
'09:00:00': 1
'17:00:00': 0
}
{ // Schedule of standby agent count adjustments for Friday
'09:00:00': 1
'17:00:00': 0
}
{} // Schedule of standby agent count adjustments for Saturday
]
Počet pohotovostních agentů se na konci dne ani na konci týdne automaticky nevynuluje na nulu a zadání prázdné daysData položky pro daný den nezakáže pohotovostní agenty. Prázdná daysData položka znamená, že pro tento den nedošlo k žádným změnám plánu počtu pohotovostních agentů. Chcete-li nastavit pohotovostního agenta na nulu počínaje konkrétním časovým obdobím, musíte explicitně zadat "time" : count položku s count hodnotou 0.
Příklady
Pokud nechcete provádět žádné úpravy počtu pohotovostních agentů zadaných na závěr předchozího dne (nebo týdne, pokud konfigurujete první období týdne), zadejte daysData položku s nulovými položkami:
{}
Pokud chcete naplánovat spuštění jediného pohotovostního agenta na začátku 09:00:00 a jeho zastavení na konci 17:00:00 (přičemž se použije časové pásmo zadané ve vlastnosti resourcePredictions), zadejte následující konfiguraci:
{
'09:00:00': 1
'17:00:00': 0
}
Pokud chcete naplánovat jednoho pohotovostního agenta od půlnoci až do 09:00:00, následovaného 10 pohotovostními agenty až do 17:00:00, zadejte následující konfiguraci:
{
'00:00:00': 1
'09:00:00': 10
'17:00:00': 0
}
Chcete-li naplánovat, aby byl pohotovostní agent dostupný od 09:00:00 zadaného dne a zastavil se následující 17:00:00 den, použijte dvě po sobě jdoucí daysData položky:
{
'09:00:00': 1
}
{
'17:00:00': 0
}
Začátek od nuly
Pokud se rozhodnete začít úplně od začátku, můžete jako schéma zřizování přidat seznam období zřizování. Každé zřizovací období se skládá z počátečního dne, koncového dne, časového pásma, času zahájení, času ukončení a počtu. Období nasazení se nemůžou vzájemně překrývat.
| Vlastnost |
Popis |
|
Vícedenní |
Když vyberete tuto možnost, můžete nakonfigurovat den počáteční i den koncový pro schéma zřizování. |
|
Do dalšího období |
Když vyberete tuto možnost, období zřizování probíhá od hodnoty Počáteční čas až do začátku dalšího období zřizování. |
|
Počáteční den |
Den, kdy začíná zřizovací období. |
|
Koncový den |
Den, kdy končí období provisioningu. Vyžaduje se, pokud je zvolena možnost vícedenní. |
|
Počáteční čas |
Čas, kdy začíná období poskytování. |
|
Čas ukončení |
Čas ukončení období zřizování Je požadováno, pokud není vybráno "Do příštího období". |
|
Počet |
Počet pohotovostních agentů, kteří se mají přidělit. Toto číslo musí být větší než nula a nesmí překročit hodnotu Maximální agenti v Nastavení fondu. |
Po vytvoření období zřizování můžete období odstranit nebo upravit ze seznamu schémat předběžného zřizování.
Následující příklad ukazuje, jak nakonfigurovat ruční schéma s jedním agentem zřízeným v pondělí ráno od 12:00 do 5:00 EST.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2025-09-20",
"location": "eastus",
"properties": {
...
"agentProfile": {
"kind": "Stateless",
"resourcePredictionsProfile": {
"kind": "Manual"
},
"resourcePredictions": {
"timeZone": "Eastern Standard Time",
"daysData": [
{},
{
"00:00:00": 1,
"04:00:00": 0
},
{},
{},
{},
{},
{}
]
}
}
}
}
]
}
{
"Stateless": {},
"resourcePredictionsProfile": {
"Manual": {}
},
"resourcePredictions": {
"timeZone": "Eastern Standard Time",
"daysData": [
{},
{
"00:00:00": 1,
"04:00:00": 0
},
{},
{},
{},
{},
{}
]
}
}
resource managedDevOpsPools 'Microsoft.DevOpsInfrastructure/pools@2025-09-20' = {
name: 'fabrikam-managed-pool'
location: 'eastus'
properties: {
...
agentProfile: {
kind: 'Stateless'
resourcePredictionsProfile: {
kind: 'Manual'
}
resourcePredictions: {
timeZone: 'Eastern Standard Time'
daysData: [
{}
{
'00:00:00': 1
'04:00:00': 0
}
{}
{}
{}
{}
{}
]
}
}
}
}
Schéma dne v týdnu
Pokud vyberete schéma dne v týdnu, můžete zadat počáteční a koncový čas, mezi kterými je zadaný počet pohotovostních agentů v pohotovostním režimu každý pracovní den.
| Vlastnost |
Popis |
|
Počáteční čas |
Čas, kdy začíná období poskytování. |
|
Čas ukončení |
Čas ukončení období zřizování |
|
Počet provisioningů |
Počet pohotovostních agentů, kteří se mají přidělit. Toto číslo musí být větší než nula a nesmí být větší než Maximální počet agentů nakonfigurovaná v nastavení poolu. |
Následující příklad konfiguruje čtyři agenty pro použití během pracovní doby a žádné agenty mimo pracovní dobu a o víkendech, s využitím východního standardního času (UTC-5).
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2025-09-20",
"location": "eastus",
"properties": {
...
"agentProfile": {
"kind": "Stateless",
"resourcePredictionsProfile": {
"kind": "Manual"
},
"resourcePredictions": {
"timeZone": "Eastern Standard Time",
"daysData": [
{},
{
"09:00:00": 4,
"17:00:00": 0
},
{
"09:00:00": 4,
"17:00:00": 0
},
{
"09:00:00": 4,
"17:00:00": 0
},
{
"09:00:00": 4,
"17:00:00": 0
},
{
"09:00:00": 4,
"17:00:00": 0
},
{}
]
}
}
}
}
]
}
{
"Stateless": {},
"resourcePredictionsProfile": {
"Manual": {}
},
"resourcePredictions": {
"timeZone": "Eastern Standard Time",
"daysData": [
{},
{
"09:00:00": 4,
"17:00:00": 0
},
{
"09:00:00": 4,
"17:00:00": 0
},
{
"09:00:00": 4,
"17:00:00": 0
},
{
"09:00:00": 4,
"17:00:00": 0
},
{
"09:00:00": 4,
"17:00:00": 0
},
{}
]
}
}
resource managedDevOpsPools 'Microsoft.DevOpsInfrastructure/pools@2025-09-20' = {
name: 'fabrikam-managed-pool'
location: 'eastus'
properties: {
...
agentProfile: {
kind: 'Stateless'
resourcePredictionsProfile: {
kind: 'Manual'
}
resourcePredictions: {
timeZone: 'Eastern Standard Time'
daysData: [
{}
{
'09:00:00': 4
'17:00:00': 0
}
{
'09:00:00': 4
'17:00:00': 0
}
{
'09:00:00': 4
'17:00:00': 0
}
{
'09:00:00': 4
'17:00:00': 0
}
{
'09:00:00': 4
'17:00:00': 0
}
{}
]
}
}
}
}
Schéma celého týdne
Pokud zvolíte schéma celého týdne, můžete zadat počet agentů, které chcete mít po celou dobu k dispozici.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2025-09-20",
"location": "eastus",
"properties": {
...
"agentProfile": {
"kind": "Stateless",
"resourcePredictionsProfile": {
"kind": "Manual"
},
"resourcePredictions": {
"timeZone": "Eastern Standard Time",
"daysData": [
{
"00:00:00": 1
}
]
}
}
}
}
]
}
{
"Stateless": {},
"resourcePredictionsProfile": {
"Manual": {}
},
"resourcePredictions": {
"timeZone": "Eastern Standard Time",
"daysData": [
{
"00:00:00": 1
}
]
}
}
resource managedDevOpsPools 'Microsoft.DevOpsInfrastructure/pools@2025-09-20' = {
name: 'fabrikam-managed-pool'
location: 'eastus'
properties: {
...
agentProfile: {
kind: 'Stateless'
resourcePredictionsProfile: {
kind: 'Manual'
}
resourcePredictions: {
timeZone: 'Eastern Standard Time'
daysData: [
{
'00:00:00': 1
}
]
}
}
}
}
Automaticky
Pokud neznáte vzory využití a chcete se spolehnout na automatické prognózování na základě minulých dat, vyberte Možnost Automaticky. Mezi náklady a výkonem agenta můžete vyrovnávat pomocí posuvníku s následujícími pěti možnostmi. Spravované fondy DevOps provádějí dotaz na základě historických dat z uplynulých tří týdnů (pokud jsou k dispozici). Organizuje relace ve frontě v rámci poolu do pětiminutových období a přiřazuje zadaný percentil ke každé hodině, aby nedocházelo ke špičkám.
-
Nákladově nejefektivnější (
MostCostEffective): desátý percentil.
-
Nákladově efektivnější (
MoreCostEffective): 25. percentil.
-
Vyvážená (výchozí) (
Balanced): 50. percentil.
-
Vyšší výkon (
MorePerformance): percentil 75.
-
Nejlepší výkon (
BestPerformance): 90. percentil.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2025-09-20",
"location": "eastus",
"properties": {
...
"agentProfile": {
"kind": "Stateless",
"resourcePredictionsProfile": {
"predictionPreference": "Balanced",
"kind": "Automatic"
}
}
}
}
]
}
{
"Stateless": {},
"resourcePredictionsProfile": {
"Automatic": {
"predictionPreference": "Balanced"
}
}
}
resource managedDevOpsPools 'Microsoft.DevOpsInfrastructure/pools@2025-09-20' = {
name: 'fabrikam-managed-pool'
location: 'eastus'
properties: {
...
agentProfile: {
kind: 'Stateless'
resourcePredictionsProfile: {
kind: 'Automatic'
predictionPreference: 'Balanced'
}
}
}
}
Životní cyklus agentů a potenciální zpoždění přidělení
Pokud povolíte pohotovostní agenty pomocí schématu stateless, musíte nainstalovat a nakonfigurovat agenta Azure Pipelines, než přejdete ze stavu ready do stavu přidělený a spustíte kanál.
Když spravované fondy DevOps zřizují nové agenty, pokusí se stáhnout nejnovějšího agenta Azure Pipelines, aby byl již stažen na pohotovostních agentech, než přejdou do stavu připravenosti. Spuštění, připojení a zahájení úlohy může trvat 10 sekund až minutu v závislosti na rychlosti SKU fondu, použitých obrazech a zatížení sítě. Pokud navíc v pipeline úloze zadáte určitá nastavení, může to vést k opětovnému stažení a spuštění jiného agenta. Regrese a vrácení zpět agenta mohou také způsobit znovustažení agenta.
Připravení agenti mají vždy potenciální zpoždění, protože spravované fondy DevOps používají tohoto agenta efemérním způsobem, což znamená, že zapojujeme a spouštíme agenta úloh jednou na úlohu. Pokud se u připravených agentů při vyzvednutí úloh z Azure DevOps zobrazí zpoždění, zvažte následující otázky:
- Máte připravené agenty? Nejběžnějším problémem je nedorozumění, kdy by agenti měli být předem zřízeni. Pokud jsou splněny následující podmínky, musí být počítače spuštěny od začátku:
- Počet úloh zařazených do fronty je větší než počet pohotovostních agentů ve fondu.
- Úlohy se zařadí do fronty mimo plán předběžného zřizování.
- Počet pohotovostních agentů je nastavený na prázdný.
- Správně konfigurujete pohotovostní agenty, kteří mají více imagí? Pokud neurčíte pomocí příkazu ImageOverride, který obrázek má být použit ve vašem kanálu, úlohy budou cílit na první obrázek. V závislosti na nastavení škálování možná nebudete mít k dispozici tolik agentů, kolik očekáváte, protože některé jsou přidělené jiným imagím.
- Používáte ve svých datových tocích poptávku
ImageVersionOverride? Když použijete poptávku ImageVersionOverride k určení jiné verze image, než je nakonfigurovaná v nastavení fondu, spustí se každý agent na vyžádání pomocí zadané verze image. Pohotovostní agenti jsou zřízeni pomocí verzí imagí zadaných v konfiguraci fondu. Pokud použijete ImageVersionOverride, žádní záložní agenti nebudou odpovídat této verzi a spustí se nový agent.
- Zpomalují nastavení proxy serveru, virtuální sítě nebo brány firewall vašemu fondu? Potenciální zpomalení jakéhokoli nastavení sítě vede k delší době spuštění agenta a jeho připojení k Azure DevOps.
- Přepisujete agentovu verzi? Spravované fondy DevOps ve výchozím nastavení běží na nejnovější verzi agenta úloh Azure DevOps. Nastavení v YAML pipeline (například
Agent.Version požadavek) a nastavení nástroje Azure DevOps organizace můžou vynutit, aby pipeline používaly starší verze správce úloh, které si po přidělení stroje vyžádají opětovné stažení.
Související obsah