Aracılığıyla paylaş


AzureFunctionOnKubernetes@1 - Kubernetes v1 üzerinde Azure İşlevi görevi

Azure işlevini Kubernetes kümesine dağıtma.

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.

Girişler

connectionType - Hizmet bağlantı türü
string. Gereklidir. İzin verilen değerler: Azure Resource Manager, Kubernetes Service Connection. Varsayılan değer: Kubernetes Service Connection.

Kubernetes hizmeti bağlantı türünü seçin.

  • Kubernetes Service Connection - Bir KubeConfig dosyası sağlamanıza, Hizmet Hesabı belirtmenize veya Azure Aboneliği seçeneğiyle aks örneğini içeri aktarmanıza olanak tanır. Aks örneğini Azure Aboneliği seçeneğiyle içeri aktarmak için Hizmet Bağlantısı yapılandırma zamanında Kubernetes kümesi erişimi gerekir.
  • Azure Resource Manager - Bir AKS örneği seçmenize olanak tanır. Hizmet Bağlantısı yapılandırma zamanında Kubernetes kümesine erişmez.

Daha fazla bilgi için bkz . Açıklamalar.


dockerRegistryServiceConnection - Docker kayıt defteri hizmeti bağlantısı
string. Gereklidir.

Bir Docker kayıt defteri hizmeti bağlantısı seçin.


kubernetesServiceConnection - Kubernetes hizmet bağlantısı
Giriş diğer adı: kubernetesServiceEndpoint. string. olduğunda connectionType = Kubernetes Service Connectiongereklidir.

Bir Kubernetes hizmet bağlantısı seçin.


azureSubscriptionConnection - Azure aboneliği
Giriş diğer adı: azureSubscriptionEndpoint. string. olduğunda connectionType = Azure Resource Managergereklidir.

Azure Container Registry içeren Azure Resource Manager aboneliğini seçin. Not: Yeni hizmet bağlantısını yapılandırmak için listeden Azure aboneliğini seçin ve 'Yetki ver'e tıklayın. Aboneliğiniz listede yoksa veya mevcut bir Hizmet Sorumlusunu kullanmak istiyorsanız , 'Ekle' veya 'Yönet' düğmesini kullanarak bir Azure hizmet bağlantısı kurabilirsiniz.


azureResourceGroup - Kaynak grubu
string. olduğunda connectionType = Azure Resource Managergereklidir.

Bir Azure kaynak grubu seçin.


kubernetesCluster - Kubernetes kümesi
string. olduğunda connectionType = Azure Resource Managergereklidir.

Azure tarafından yönetilen bir küme seçin.


namespace - Kubernetes ad alanı
string.

Kubernetes ad alanı.


secretName - Gizli Dizi Adı
string.

İşlev yapılandırma verilerini içeren Kubernetes gizli dizisi (örn. AzureWebJobsStorage: Azure storage connection string).


dockerHubNamespace - Docker Hub ad alanı
string.

ad alanını Docker Hub. Özel Docker Hub deposu için gereklidir.


appName - Uygulama Adı
string. Gereklidir.

Uygulama Adı. Oluşturulan Kubernetes nesneleri bu adı kullanır. Bu, kaynak adları için Kubernetes adlandırma kurallarına uygun olmalıdır.


functionRootDirectory - İşlev kök dizini
string.

İşlev kök dizini. host.json dosyasını içermelidir. Docker derleme ve gönderme işlemi bu dizinden gerçekleştirilir.


waitForStability - Kararlılığı bekle
boolean. Varsayılan değer: true.

Kubernetes nesnelerinin istenen duruma ulaşmasını bekleyin.


arguments - Bağımsız değişken
string.

Bağımsız değişkenleri komuta geçirin. Örn:
--no-docker --service-type NodePort.


Görev denetim seçenekleri

Tüm görevlerde görev girişlerine ek olarak denetim seçenekleri vardır. Daha fazla bilgi için bkz . Denetim seçenekleri ve ortak görev özellikleri.

Çıkış değişkenleri

Yok.

Açıklamalar

AKS'ye erişirken Kubernetes Hizmet Bağlantısı ile ilgili dikkat edilmesi gerekenler

Aşağıdaki seçeneklerden herhangi biriyle Kubernetes hizmet bağlantısı oluşturabilirsiniz.

  • KubeConfig
  • Hizmet Hesabı
  • Azure Aboneliği

Kubernetes hizmeti bağlantı kimlik doğrulama yöntemini seçme ekran görüntüsü.

Azure Aboneliği seçeneğini belirlediğinizde Kubernetes'e hizmet bağlantısı yapılandırma zamanında Azure DevOps tarafından erişilebilir olması gerekir. Bir hizmet bağlantısının oluşturulamamasının çeşitli nedenleri olabilir. Örneğin, özel bir küme oluşturdunuz veya kümede yerel hesaplar devre dışı bırakılmış olabilir. Bu gibi durumlarda Azure DevOps, hizmet bağlantısı yapılandırma zamanında kümenize bağlanamaz ve takılmış Bir Ad alanları yükleniyor ekranı görürsünüz.

Kubernetes hizmet bağlantısı kimlik doğrulaması iletişim kutusunun ad alanları yüklenirken takıldığını seçme ekran görüntüsü.

Kubernetes 1.24'den başlayarak, uzun süreli belirteçler artık varsayılan olarak oluşturulmaz. Kubernetes, uzun süreli belirteçler kullanmamanızı önerir. Sonuç olarak, Azure Aboneliği seçeneğiyle oluşturulan bir Kubernetes hizmet bağlantısı kullanan görevlerin kimlik doğrulaması için gereken kalıcı belirteçlere erişimi yoktur ve Kubernetes kümenize erişemez. Bunun sonucunda da donmuş Yükleme ad alanları iletişim kutusu açılır.

AKS'ye erişmek için Azure Resource Manager Hizmeti Bağlantısı'nı kullanma

AKS müşterileri için, Azure Resource Manager hizmeti bağlantı türü özel bir kümeye veya yerel hesapları devre dışı bırakılmış bir kümeye bağlanmak için en iyi yöntemi sağlar. Bu yöntem, hizmet bağlantısı oluşturduğunuzda küme bağlantısına bağımlı değildir. AKS'ye erişim, aşağıdaki avantajlara sahip işlem hattı çalışma zamanına ertelenmiştir:

  • Bir (özel) AKS kümesine erişim, kümeye görüş hattı olan şirket içinde barındırılan veya ölçek kümesi aracısından gerçekleştirilebilir.
  • Azure Resource Manager hizmet bağlantısı kullanan her görev için bir belirteç oluşturulur. Bu, Kubernetes'e kubernetes önerisi olan kısa süreli bir belirteçle bağlanmanızı sağlar.
  • Yerel hesaplar devre dışı bırakıldığında bile AKS'ye erişilebilir.

Hizmet bağlantısı hakkında SSS

Şu hata iletisini alıyorum: Hizmet hesabıyla ilişkili gizli dizi bulunamadı. Ne oluyor?

Azure Aboneliği ile Kubernetes hizmet bağlantısı seçeneğini kullanıyorsunuz. Uzun süreli belirteçler oluşturmak için bu yöntemi güncelleştiriyoruz. Bu özelliğin Mayıs ortasında kullanıma sunulması beklenmektedir. Ancak, Kubernetes kılavuzuna göre uzun süreli belirteçleri kullanmamak için Azure hizmet bağlantı türünü kullanmaya başlamanız önerilir.

AKS kullanıyorum ve hiçbir şeyi değiştirmek istemiyorum, Kubernetes hizmet bağlantısıyla görevleri kullanmaya devam edebilir miyim?

Uzun süreli belirteçler oluşturmak için bu yöntemi güncelleştiriyoruz. Bu özelliğin Mayıs ortasında kullanıma sunulması beklenmektedir. Ancak bu yaklaşımın Kubernetes kılavuzuna aykırı olduğunu lütfen unutmayın.

Kubernetes görevlerini ve Kubernetes hizmet bağlantısını kullanıyorum ama AKS'yi kullanmıyorum. Endişelenmeli miyim?

Görevleriniz daha önce olduğu gibi çalışmaya devam edecektir.

Kubernetes hizmeti bağlantı türü kaldırılacak mı?

Kubernetes görevlerimiz, nerede çalıştıklarından bağımsız olarak tüm Kubernetes kümeleriyle çalışır. Kubernetes hizmeti bağlantısı varolmaya devam edecektir.

Aks müşterisiyim ve her şey yolunda, harekete geçeyim mi?

Hiçbir şeyi değiştirmeye gerek yok. Kubernetes hizmet bağlantısını kullanıyorsanız ve oluşturma sırasında Azure Aboneliği'ni seçtiyseniz , uzun süreli belirteçleri kullanma konusunda Kubernetes kılavuzunun farkında olmanız gerekir.

Kubernetes Ortamı oluşturuyorum ve hizmet bağlantılarını kullanma seçeneğim yok

Ortam oluşturma sırasında AKS'nize erişemiyorsanız boş bir ortam kullanabilir ve girişi Azure Resource Manager hizmet bağlantısına ayarlayabilirsinizconnectionType.

Aks'yi Azure Active Directory RBAC ile yapılandırdım ve işlem hattım çalışmıyor. Bu güncelleştirmeler bu sorunu çözecek mi?

AAD RBAC etkinleştirildiğinde Kubernetes'e erişmek belirteç oluşturmayla ilgili değildir. Etkileşimli bir istemi önlemek için, gelecekteki bir güncelleştirmede kubelogin'i destekleyeceğiz.

Gereksinimler

Gereksinim Açıklama
İşlem hattı türleri YAML, Klasik derleme, Klasik sürüm
Üzerinde çalışır Agent, DeploymentGroup
Talep Hiçbiri
Özellikler Bu görev, işteki sonraki görevler için hiçbir talebi karşılamaz.
Komut kısıtlamaları Herhangi biri
Ayarlanabilir değişkenler Herhangi biri
Aracı sürümü Desteklenen tüm aracı sürümleri.
Görev kategorisi Dağıtma