Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Distribuera Azure-funktionen till Kubernetes-kluster.
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.
Ingångar
connectionType
-
Tjänstanslutningstyp
string
. Obligatoriskt. Tillåtna värden: Azure Resource Manager
, Kubernetes Service Connection
. Standardvärde: Kubernetes Service Connection
.
Välj en anslutningstyp för Kubernetes-tjänsten.
-
Kubernetes Service Connection
– Gör att du kan ange en KubeConfig-fil, ange ett tjänstkonto eller importera en AKS-instans med alternativet Azure-prenumeration. Om du importerar en AKS-instans med alternativet Azure-prenumeration krävs Kubernetes-klusteråtkomst vid konfigurationstiden för tjänstanslutning. -
Azure Resource Manager
– Låter dig välja en AKS-instans. Har inte åtkomst till Kubernetes-klustret vid konfigurationstillfället för tjänstanslutning.
Mer information finns i Kommentarer.
dockerRegistryServiceConnection
-
Docker-registertjänstanslutning
string
. Obligatoriskt.
Välj en Docker-registertjänstanslutning.
kubernetesServiceConnection
-
Kubernetes-tjänstanslutning
Indataalias: kubernetesServiceEndpoint
.
string
. Krävs när connectionType = Kubernetes Service Connection
.
Välj en Kubernetes-tjänstanslutning.
azureSubscriptionConnection
-
Azure-prenumeration
Indataalias: azureSubscriptionEndpoint
.
string
. Krävs när connectionType = Azure Resource Manager
.
Välj Azure Resource Manager-prenumerationen, som innehåller Azure Container Registry.Obs: Om du vill konfigurera en ny tjänstanslutning väljer du Azure-prenumerationen i listan och klickar på "Auktorisera". Om din prenumeration inte finns med i listan eller om du vill använda ett befintligt huvudnamn för tjänsten kan du konfigurera en Azure-tjänstanslutning med knappen "Lägg till" eller "Hantera".
azureResourceGroup
-
resursgrupp
string
. Krävs när connectionType = Azure Resource Manager
.
Välj en Azure-resursgrupp.
kubernetesCluster
-
Kubernetes-kluster
string
. Krävs när connectionType = Azure Resource Manager
.
Välj ett Azure-hanterat kluster.
namespace
-
Kubernetes-namnområde
string
.
Kubernetes-namnrymd.
secretName
-
hemligt namn
string
.
Kubernetes-hemlighet som innehåller funktionskonfigurationsdata (till exempel AzureWebJobsStorage: Azure storage connection string
).
dockerHubNamespace
-
Docker Hub-namnområde
string
.
Docker Hub-namnrymd. Krävs för privat Docker Hub-lagringsplats.
appName
-
programnamn
string
. Obligatoriskt.
Programnamn. De Kubernetes-objekt som skapats använder det här namnet. Detta bör följa Kubernetes namngivningskonventioner för resursnamn.
functionRootDirectory
-
Funktionsrotkatalog
string
.
Funktionsrotkatalog. Ska innehålla host.json. Docker build och push utförs från den här katalogen.
waitForStability
-
Vänta på stabilitet
boolean
. Standardvärde: true
.
Vänta tills Kubernetes-objekten når önskat tillstånd.
arguments
-
argument
string
.
Skicka argument till kommandot. Exempel:
--no-docker --service-type NodePort.
Alternativ för uppgiftskontroll
Alla aktiviteter har kontrollalternativ utöver sina aktivitetsindata. Mer information finns i Kontrollalternativ och vanliga uppgiftsegenskaper.
Utdatavariabler
Ingen.
Anmärkningar
Överväganden för Kubernetes-tjänstanslutning vid åtkomst till AKS
Du kan skapa en Kubernetes-tjänstanslutning med något av följande alternativ.
- KubeConfig
- Servicekonto
- Azure-prenumeration
När du väljer alternativet Azure-prenumeration måste Kubernetes vara tillgängligt för Azure DevOps vid tjänstanslutningskonfigurationen. Det kan finnas olika orsaker till att det inte går att skapa en tjänstanslutning, till exempel att du skapat ett privat kluster eller att klustret har lokala konton inaktiverade. I dessa fall kan Azure DevOps inte ansluta till klustret vid konfigurationstiden för tjänstanslutning och du ser en fastnad Skärmen Läser in namnområden.
Från och med Kubernetes 1.24 skapas inte längre långlivade token som standard. Kubernetes rekommenderar att du inte använder långlivade token. Det innebär att uppgifter som använder en Kubernetes-tjänstanslutning som skapats med alternativet Azure-prenumeration inte har åtkomst till den permanenta token som krävs för att autentisera och inte kan komma åt ditt Kubernetes-kluster. Detta resulterar också i dialogrutan frozen Loading namespaces .
Använda Azure Resource Manager-tjänstanslutningen för att få åtkomst till AKS
För AKS-kunder är Anslutningstypen för Azure Resource Manager-tjänsten den bästa metoden för att ansluta till ett privat kluster eller ett kluster som har inaktiverat lokala konton. Den här metoden är inte beroende av klusteranslutningen när du skapar en tjänstanslutning. Åtkomsten till AKS skjuts upp till pipelinekörning, vilket har följande fördelar:
- Åtkomst till ett (privat) AKS-kluster kan utföras från en lokalt installerad agent eller skalningsuppsättningsagent med siktlinje till klustret.
- En token skapas för varje uppgift som använder en Azure Resource Manager-tjänstanslutning. Detta säkerställer att du ansluter till Kubernetes med en kortlivad token, vilket är Kubernetes-rekommendationen.
- AKS kan nås även när lokala konton är inaktiverade.
Vanliga frågor och svar om tjänstanslutning
Jag får följande felmeddelande: Det gick inte att hitta någon hemlighet som är associerad med tjänstkontot. Vad händer?
Du använder kubernetes-tjänstanslutningen med azure-prenumerationsalternativet. Vi uppdaterar den här metoden för att skapa långlivade token. Detta förväntas vara tillgängligt i mitten av maj. Vi rekommenderar dock att du börjar använda Anslutningstypen för Azure-tjänsten och inte o använda långlivade token enligt Kubernetes-vägledning.
Jag använder AKS och vill inte ändra något, kan jag fortsätta att använda uppgifter med Kubernetes-tjänstanslutningen?
Vi uppdaterar den här metoden för att skapa långlivade token. Detta förväntas vara tillgängligt i mitten av maj. Tänk dock på att den här metoden är emot Kubernetes-vägledning.
Jag använder Kubernetes-uppgifter och Kubernetes-tjänstanslutning men inte AKS. Borde jag vara orolig?
Aktiviteterna fortsätter att fungera som tidigare.
Kommer Kubernetes-tjänstanslutningstypen att tas bort?
Våra Kubernetes-uppgifter fungerar med alla Kubernetes-kluster, oavsett var de körs. Kubernetes-tjänstanslutningen fortsätter att finnas.
Jag är AKS-kund och allt fungerar bra, ska jag agera?
Det finns inget behov av att ändra något. Om du använder Kubernetes-tjänstanslutningen och valde Azure-prenumeration när du skapade den bör du känna till Kubernetes-vägledningen om hur du använder långlivade token.
Jag skapar en Kubernetes-miljö och har inget alternativ för att använda tjänstanslutningar
Om du inte kan komma åt din AKS när miljön skapas kan du använda en tom miljö och ange connectionType
indata till en Azure Resource Manager-tjänstanslutning.
Jag har AKS konfigurerat med Azure Active Directory RBAC och min pipeline fungerar inte. Löser de här uppdateringarna det?
Åtkomst till Kubernetes när AAD RBAC är aktiverat är inte relaterat till att skapa token. För att förhindra en interaktiv fråga stöder vi kubelogin- i en framtida uppdatering.
Kravspecifikation
Krav | Beskrivning |
---|---|
Pipelinetyper | YAML, klassisk version, klassisk version |
Körs på | Agent, DeploymentGroup |
Krav | Ingen |
Kapaciteter | Den här aktiviteten uppfyller inte några krav på efterföljande uppgifter i jobbet. |
Kommandobegränsningar | Vilken som helst |
variabler som kan | Vilken som helst |
Agentversion | Alla agentversioner som stöds. |
Aktivitetskategori | Rulla ut |