Sdílet prostřednictvím


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

Snímek obrazovky s výběrem metody ověřování připojení služby Kubernetes

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

Snímek obrazovky s výběrem dialogového okna ověřování připojení služby Kubernetes při 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í