AzureFunctionOnKubernetes@1 – úloha Azure Functions v Kubernetes v1
Nasazení funkce Azure Do clusteru Kubernetes
Syntax
# Azure Function on Kubernetes v1
# Deploy Azure function to Kubernetes cluster.
- task: AzureFunctionOnKubernetes@1
inputs:
# Service Connections
connectionType: 'Kubernetes Service Connection' # 'Azure Resource Manager' | 'Kubernetes Service Connection'. Required. Service connection type. Default: Kubernetes Service Connection.
dockerRegistryServiceConnection: # string. Required. Docker registry service connection.
#kubernetesServiceConnection: # string. Alias: kubernetesServiceEndpoint. Required when connectionType = Kubernetes Service Connection. Kubernetes service connection.
#azureSubscriptionConnection: # string. Alias: azureSubscriptionEndpoint. Required when connectionType = Azure Resource Manager. Azure subscription.
#azureResourceGroup: # string. Required when connectionType = Azure Resource Manager. Resource group.
#kubernetesCluster: # string. Required when connectionType = Azure Resource Manager. Kubernetes cluster.
# Commands
#namespace: # string. Kubernetes namespace.
#secretName: # string. Secret Name.
#dockerHubNamespace: # string. Docker Hub namespace.
appName: # string. Required. Application Name.
#functionRootDirectory: # string. Function root directory.
#waitForStability: true # boolean. Wait for stability. Default: true.
#arguments: # string. Arguments.
Vstupy
connectionType
- Typ připojení služby
string
. Povinná hodnota. Povolené hodnoty: Azure Resource Manager
, Kubernetes Service Connection
. Výchozí hodnota: Kubernetes Service Connection
.
Vyberte typ připojení služby Kubernetes.
Kubernetes Service Connection
– Umožňuje zadat soubor KubeConfig, zadat účet služby nebo importovat instanci AKS s možností Předplatné Azure . Import instance AKS s možností Předplatné Azure vyžaduje přístup ke clusteru Kubernetes v době konfigurace připojení služby.Azure Resource Manager
– Umožňuje vybrat instanci AKS. Nemá přístup ke clusteru Kubernetes v době konfigurace připojení služby.
Další informace najdete v tématu Poznámky.
dockerRegistryServiceConnection
- Připojení služby registru Dockeru
string
. Povinná hodnota.
Vyberte připojení služby registru Dockeru.
kubernetesServiceConnection
- Připojení ke službě Kubernetes
Vstupní alias: kubernetesServiceEndpoint
. string
. Vyžaduje se, když connectionType = Kubernetes Service Connection
.
Vyberte připojení ke službě Kubernetes.
azureSubscriptionConnection
- Předplatné Azure
Vstupní alias: azureSubscriptionEndpoint
. string
. Vyžaduje se, když connectionType = Azure Resource Manager
.
Vyberte předplatné Azure Resource Manager, které obsahuje Azure Container Registry. Poznámka: Pokud chcete nakonfigurovat nové připojení služby, vyberte v seznamu předplatné Azure a klikněte na Autorizovat. Pokud vaše předplatné není uvedené nebo pokud chcete použít existující instanční objekt, můžete nastavit připojení služby Azure pomocí tlačítka Přidat nebo Spravovat.
azureResourceGroup
- Skupina prostředků
string
. Vyžaduje se, když connectionType = Azure Resource Manager
.
Vyberte skupinu prostředků Azure.
kubernetesCluster
- Cluster Kubernetes
string
. Vyžaduje se, když connectionType = Azure Resource Manager
.
Vyberte spravovaný cluster Azure.
namespace
- Obor názvů Kubernetes
string
.
Obor názvů Kubernetes.
secretName
- Název tajného kódu
string
.
Tajný kód Kubernetes obsahující konfigurační data funkce (například AzureWebJobsStorage: Azure storage connection string
).
dockerHubNamespace
- Docker Hub obor názvů
string
.
Docker Hub obor názvů. Vyžaduje se pro privátní úložiště Docker Hub.
appName
- Název aplikace
string
. Povinná hodnota.
Název aplikace. Vytvořené objekty Kubernetes používají tento název. To by se mělo řídit konvencemi vytváření názvů prostředků Kubernetes.
functionRootDirectory
- Kořenový adresář funkce
string
.
Kořenový adresář funkce. Měl by obsahovat soubor host.json. Sestavení a nabízení dockeru se provádí z tohoto adresáře.
waitForStability
- Čekání na stabilitu
boolean
. Výchozí hodnota: true
.
Počkejte, až se objekty Kubernetes dostanou do požadovaného stavu.
arguments
- Argumenty
string
.
Předejte argumenty příkazu. Příklad:
--no-docker --service-type NodePort.
Možnosti ovládání úloh
Všechny úlohy mají kromě vstupů také možnosti ovládání. Další informace najdete v tématu Možnosti ovládacího prvku a běžné vlastnosti úlohy.
Výstupní proměnné
Žádné
Poznámky
Důležité informace o připojení ke službě Kubernetes Service při přístupu k AKS
Připojení ke službě Kubernetes můžete vytvořit pomocí některé z následujících možností.
- KubeConfig
- Service Account
- Předplatné Azure
Při výběru možnosti Předplatné Azure musí být Kubernetes přístupný pro Azure DevOps v době konfigurace připojení služby. Připojení služby může být z různých důvodů, například jste vytvořili privátní cluster nebo cluster má zakázané místní účty. V těchto případech se Azure DevOps nemůže připojit ke clusteru v době konfigurace připojení služby a zobrazí se zablokovaná obrazovka Načítání oborů názvů .
Počínaje Kubernetes 1.24 se už ve výchozím nastavení nevytvářají dlouhodobé tokeny. Kubernetes doporučuje nepoužít dlouhodobé tokeny. V důsledku toho nemají úlohy používající připojení služby Kubernetes vytvořené s možností Předplatné Azure přístup k trvalému tokenu potřebnému k ověření a nemají přístup ke clusteru Kubernetes. Výsledkem je také zablokování dialogového okna Načítání oborů názvů .
Použití připojení ke službě Azure Resource Manager Service Pro přístup k AKS
Pro zákazníky AKS poskytuje typ připojení služby Azure Resource Manager nejlepší způsob připojení k privátnímu clusteru nebo clusteru se zakázanými místními účty. Tato metoda nezávisí na připojení ke clusteru v okamžiku vytvoření připojení služby. Přístup k AKS se odkládá na modul runtime kanálu, který má následující výhody:
- Přístup ke (privátnímu) clusteru AKS je možné provést z agenta v místním prostředí nebo z agenta škálovací sady s přehledem clusteru.
- Token se vytvoří pro každou úlohu, která používá připojení služby Azure Resource Manager. Tím se zajistí, že se připojujete ke Kubernetes pomocí krátkodobého tokenu, což je doporučení Kubernetes.
- K AKS je možné přistupovat i v případě, že jsou místní účty zakázané.
Nejčastější dotazy k připojení služby
Zobrazuje se mi následující chybová zpráva: Nepodařilo se najít žádný tajný kód přidružený k účtu služby. Co se děje?
Používáte připojení ke službě Kubernetes s předplatným Azure. Tuto metodu aktualizujeme tak, aby vytvářela dlouhodobé tokeny. Očekává se, že bude k dispozici v polovině května. Doporučuje se ale začít používat typ připojení služby Azure a podle pokynů Kubernetes nepoužívat dlouhodobé tokeny.
Používám AKS a nechci nic měnit. Můžu dál používat úlohy s připojením ke službě Kubernetes?
Tuto metodu aktualizujeme tak, aby vytvářela dlouhodobé tokeny. Očekává se, že bude k dispozici v polovině května. Mějte ale na paměti, že tento přístup je v rozporu s pokyny Kubernetes.
Používám úlohy Kubernetes a připojení služby Kubernetes, ale ne AKS. Mám se znepokojovat?
Úkoly budou dál fungovat jako předtím.
Odebere se typ připojení ke službě Kubernetes?
Naše úlohy Kubernetes fungují s libovolným clusterem Kubernetes bez ohledu na to, kde jsou spuštěné. Připojení ke službě Kubernetes bude dál existovat.
Jsem zákazník AKS a všechno funguje v pořádku, mám jednat?
Není potřeba nic měnit. Pokud při vytváření používáte připojení ke službě Kubernetes a vybrané předplatné Azure, měli byste znát pokyny Kubernetes k používání dlouhodobých tokenů.
Vytvářím prostředí Kubernetes a nemám možnost používat připojení služeb
Pokud během vytváření prostředí nemáte přístup ke službě AKS, můžete použít prázdné prostředí a nastavit connectionType
vstup na připojení služby Azure Resource Manager.
Mám nakonfigurovanou službu AKS se službou Azure Active Directory RBAC a můj kanál nefunguje. Vyřeší to tyto aktualizace?
Přístup k Kubernetes, když je povolený RBAC AAD, nesouvisí s vytvářením tokenů. Abychom zabránili interaktivní výzvě, budeme kubelogin podporovat v budoucí aktualizaci.
Požadavky
Požadavek | Popis |
---|---|
Typy kanálů | YAML, classic build, verze Classic |
Spustí se | Agent, DeploymentGroup |
Požadavky | Žádné |
Možnosti | Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze. |
Omezení příkazů | Všechny |
Nastavitelné proměnné | Všechny |
Verze agenta | Všechny podporované verze agenta. |
Kategorie úloh | Nasazení |