Megosztás a következőn keresztül:


AzureFunctionOnKubernetes@1 – Azure-függvény a Kubernetes v1-en

Azure-függvény üzembe helyezése a Kubernetes-fürtön.

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.

Bevitelek

connectionType - Szolgáltatáskapcsolat típusa
string. Kötelező. Engedélyezett értékek: Azure Resource Manager, Kubernetes Service Connection. Alapértelmezett érték: Kubernetes Service Connection.

Válasszon egy Kubernetes-szolgáltatás kapcsolattípust.

  • Kubernetes Service Connection – Lehetővé teszi Egy KubeConfig-fájl megadását, egy szolgáltatásfiók megadását vagy egy AKS-példány importálását az Azure-előfizetés lehetőséggel. Egy AKS-példány Azure-előfizetéssel történő importálásához Kubernetes-fürthozzáféréshez van szükség a Szolgáltatáskapcsolat konfigurációs időpontban.
  • Azure Resource Manager – Lehetővé teszi egy AKS-példány kiválasztását. Nem fér hozzá a Kubernetes-fürthöz a Szolgáltatáskapcsolat konfigurációs ideje alatt.

További információ: Megjegyzések.


dockerRegistryServiceConnection - Docker beállításjegyzék-szolgáltatáskapcsolat
string. Kötelező.

Válasszon egy Docker-beállításjegyzék-szolgáltatáskapcsolatot.


kubernetesServiceConnection - Kubernetes-szolgáltatáskapcsolat
Bemeneti alias: kubernetesServiceEndpoint. string. Akkor szükséges, ha connectionType = Kubernetes Service Connection.

Válasszon egy Kubernetes-szolgáltatáskapcsolatot.


azureSubscriptionConnection - Azure-előfizetés
Bemeneti alias: azureSubscriptionEndpoint. string. Akkor szükséges, ha connectionType = Azure Resource Manager.

Válassza ki a Azure Container Registry tartalmazó Azure Resource Manager-előfizetést. Megjegyzés: Új szolgáltatáskapcsolat konfigurálásához válassza ki az Azure-előfizetést a listából, és kattintson az Engedélyezés gombra. Ha az előfizetése nem szerepel a listában, vagy meglévő szolgáltatásnevet szeretne használni, az "Add" vagy a "Manage" (Hozzáadás) vagy a "Manage" (Kezelés) gombbal beállíthat egy Azure-szolgáltatáskapcsolatot.


azureResourceGroup - Erőforráscsoport
string. Akkor szükséges, ha connectionType = Azure Resource Manager.

Válasszon ki egy Azure-erőforráscsoportot.


kubernetesCluster - Kubernetes-fürt
string. Akkor szükséges, ha connectionType = Azure Resource Manager.

Válasszon ki egy Felügyelt Azure-fürtöt.


namespace - Kubernetes-névtér
string.

Kubernetes-névtér.


secretName - Titkos kód neve
string.

Függvénykonfigurálási adatokat tartalmazó Kubernetes-titkos kód (például AzureWebJobsStorage: Azure storage connection string).


dockerHubNamespace - Docker Hub névtér
string.

Docker Hub névtér. A privát Docker Hub adattárhoz szükséges.


appName - Alkalmazás neve
string. Kötelező.

Alkalmazás neve. A létrehozott Kubernetes-objektumok ezt a nevet használják. Ennek az erőforrásnevek Kubernetes-elnevezési konvencióit kell követnie.


functionRootDirectory - Függvény gyökérkönyvtára
string.

Függvény gyökérkönyvtára. Tartalmaznia kell a host.json fájlt. A Docker buildelése és leküldése ebből a könyvtárból történik.


waitForStability - Várjon a stabilitásra
boolean. Alapértelmezett érték: true.

Várja meg, amíg a Kubernetes-objektumok elérik a kívánt állapotot.


arguments - Érvek
string.

Adjon át argumentumokat a parancsnak. Például:
--no-docker --service-type NodePort.


Feladatvezérlési lehetőségek

Minden feladathoz tartoznak vezérlési lehetőségek is a feladat bemenetei mellett. További információ: Vezérlési beállítások és gyakori feladattulajdonságok.

Kimeneti változók

Nincsenek.

Megjegyzések

A Kubernetes-szolgáltatás kapcsolati szempontjai az AKS elérésekor

Az alábbi lehetőségek bármelyikével létrehozhat Kubernetes-szolgáltatáskapcsolatot.

  • KubeConfig
  • Szolgáltatásfiók
  • Azure-előfizetés

Képernyőkép a Kubernetes-szolgáltatás kapcsolat-hitelesítési módszerének kiválasztásáról.

Az Azure-előfizetés lehetőség kiválasztásakor a Kubernetesnek elérhetőnek kell lennie az Azure DevOps számára a szolgáltatás kapcsolatkonfigurációjának időpontjában. Előfordulhat, hogy a szolgáltatáskapcsolat nem hozható létre, például privát fürtöt hozott létre , vagy a fürt helyi fiókjai le vannak tiltva. Ezekben az esetekben az Azure DevOps nem tud csatlakozni a fürthöz a szolgáltatáskapcsolat konfigurációs ideje alatt, és elakadt a névterek betöltése képernyő.

Képernyőkép egy Kubernetes-szolgáltatás kapcsolathitelesítési párbeszédpaneljének kiválasztásáról, amely elakadt a névterek betöltésekor.

A Kubernetes 1.24-től kezdve a hosszú élettartamú tokenek alapértelmezés szerint nem jönnek létre. A Kubernetes a hosszú élettartamú tokenek használatát javasolja. Ennek eredményeképpen az Azure-előfizetés lehetőséggel létrehozott Kubernetes-szolgáltatáskapcsolatot használó feladatok nem rendelkeznek hozzáféréssel a hitelesítéshez szükséges állandó jogkivonathoz, és nem férnek hozzá a Kubernetes-fürthöz. Ez a névterek befagyasztott betöltése párbeszédpanelt is eredményezi.

Az AKS elérése az Azure Resource Manager szolgáltatáskapcsolat használatával

Az AKS-ügyfelek számára az Azure Resource Manager szolgáltatás kapcsolattípusa biztosítja a legjobb módszert egy privát fürthöz vagy egy helyi fiókokat letiltó fürthöz való csatlakozáshoz. Ez a módszer nem függ a fürtkapcsolattól a szolgáltatáskapcsolat létrehozásakor. Az AKS-hez való hozzáférést a rendszer a folyamat futtatókörnyezetére halasztja, amely a következő előnyökkel jár:

  • A (privát) AKS-fürthöz való hozzáférés egy saját üzemeltetésű vagy méretezési csoportügynökből, a fürtre való látóvonallal végezhető el.
  • Minden olyan feladathoz létrejön egy jogkivonat, amely Azure Resource Manager szolgáltatáskapcsolatot használ. Ez biztosítja, hogy rövid élettartamú jogkivonattal csatlakozzon a Kuberneteshez, ami a Kubernetes-javaslat.
  • Az AKS akkor is elérhető, ha a helyi fiókok le vannak tiltva.

Szolgáltatáskapcsolat – gyakori kérdések

A következő hibaüzenet jelenik meg: Nem található a szolgáltatásfiókhoz társított titkos kód. Mi történik?

A Kubernetes szolgáltatáskapcsolatot használja az Azure-előfizetéssel. Ezt a módszert úgy frissítjük, hogy hosszú élettartamú jogkivonatokat hozzon létre. Ez várhatóan május közepén lesz elérhető. Javasoljuk azonban, hogy kezdje el használni az Azure-szolgáltatás kapcsolattípusát, és ne használjon hosszú élettartamú jogkivonatokat a Kubernetes útmutatója szerint.

Az AKS-t használom, és nem szeretnék semmit módosítani, továbbra is használhatok feladatokat a Kubernetes szolgáltatáskapcsolattal?

Ezt a módszert úgy frissítjük, hogy hosszú élettartamú jogkivonatokat hozzon létre. Ez várhatóan május közepén lesz elérhető. Vegye figyelembe azonban, hogy ez a megközelítés nem vonatkozik a Kubernetes útmutatására.

A Kubernetes-feladatokat és a Kubernetes-szolgáltatáskapcsolatot használom, de az AKS-t nem. Aggódnom kellene?

A tevékenységek a korábbiakhoz hasonlóan fognak működni.

Eltávolítja a Kubernetes-szolgáltatás kapcsolattípusát?

A Kubernetes-feladatok bármely Kubernetes-fürttel működnek, függetlenül attól, hogy hol futnak. A Kubernetes szolgáltatáskapcsolat továbbra is fennáll.

AKS-ügyfél vagyok, és minden rendben van.

Semmit sem kell megváltoztatni. Ha a Kubernetes szolgáltatáskapcsolatot használja, és a létrehozás során kiválasztotta az Azure-előfizetést, vegye figyelembe a Kubernetes hosszú élettartamú jogkivonatok használatával kapcsolatos útmutatóját.

Kubernetes-környezetet hozok létre, és nincs lehetőségem szolgáltatáskapcsolatok használatára

Ha nem fér hozzá az AKS-hez a környezet létrehozásakor, használhat üres környezetet, és beállíthatja a connectionType bemenetet egy Azure Resource Manager szolgáltatáskapcsolatra.

Az AKS az Azure Active Directory RBAC-vel van konfigurálva, és a folyamatom nem működik. Ezek a frissítések megoldják ezt?

A Kubernetes elérése az AAD RBAC engedélyezésekor nem kapcsolódik a jogkivonatok létrehozásához. Az interaktív kérések elkerülése érdekében egy későbbi frissítésben támogatjuk a kubelogin használatát.

Követelmények

Követelmény Leírás
Folyamattípusok YAML, klasszikus build, klasszikus kiadás
Futtatás Ügynök, DeploymentGroup
Igények None
Képességek Ez a feladat nem felel meg a feladat későbbi tevékenységeire vonatkozó követelményeknek.
Parancskorlátozások Bármelyik
Változók beállítása Bármelyik
Ügynök verziója Minden támogatott ügynökverzió.
Feladatkategória Üzembe helyezés