Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ezzel a feladattal üzembe helyezhet, konfigurálhat vagy frissíthet egy Kubernetes-fürtöt az Azure Container Service-ben helm-parancsok futtatásával.
Szinopszis
# Package and deploy Helm charts v0
# Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands.
- task: HelmDeploy@0
inputs:
# Kubernetes Cluster
#connectionType: 'Azure Resource Manager' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout && command != package && command != save. Connection Type. Default: Azure Resource Manager.
#azureSubscription: # string. Alias: azureSubscriptionEndpoint. Required when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Azure subscription.
#azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Resource group.
#kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Kubernetes cluster.
#useClusterAdmin: false # boolean. Optional. Use when connectionType = Azure Resource Manager && command != logout && command != package && command != save. Use cluster admin credentials. Default: false.
#kubernetesServiceConnection: # string. Alias: kubernetesServiceEndpoint. Required when connectionType = Kubernetes Service Connection && command != logout && command != package && command != save. Kubernetes Service Connection.
#namespace: # string. Optional. Use when command != logout && command != package && command != save. Namespace.
# Azure Container Registry
#azureSubscriptionForACR: # string. Alias: azureSubscriptionEndpointForACR. Required when command == save. Azure subscription for Container Registry.
#azureResourceGroupForACR: # string. Required when command == save. Resource group.
#azureContainerRegistry: # string. Required when command == save. Azure Container Registry.
# Commands
command: 'ls' # 'create' | 'delete' | 'expose' | 'get' | 'init' | 'install' | 'login' | 'logout' | 'ls' | 'package' | 'rollback' | 'save' | 'upgrade' | 'uninstall'. Required. Command. Default: ls.
#chartType: 'Name' # 'Name' | 'FilePath'. Required when command == install || command == upgrade. Chart Type. Default: Name.
chartName: # string. Required when chartType == Name. Chart Name.
#chartPath: # string. Required when chartType == FilePath || command == package. Chart Path.
#chartVersion: # string. Alias: version. Optional. Use when command == package || command == install || command == upgrade. Version.
#releaseName: # string. Optional. Use when command == install || command == upgrade. Release Name.
#overrideValues: # string. Optional. Use when command == install || command == upgrade. Set Values.
#valueFile: # string. Optional. Use when command == install || command == upgrade. Value File.
#destination: '$(Build.ArtifactStagingDirectory)' # string. Optional. Use when command == package. Destination. Default: $(Build.ArtifactStagingDirectory).
#canaryimage: false # boolean. Optional. Use when command == init. Use canary image version. Default: false.
#upgradetiller: true # boolean. Optional. Use when command == init. Upgrade Tiller. Default: true.
#updatedependency: false # boolean. Optional. Use when command == install || command == package. Update Dependency. Default: false.
#save: true # boolean. Optional. Use when command == package. Save. Default: true.
#install: true # boolean. Optional. Use when command == upgrade. Install if release not present. Default: true.
#recreate: false # boolean. Optional. Use when command == upgrade. Recreate Pods. Default: false.
#resetValues: false # boolean. Optional. Use when command == upgrade. Reset Values. Default: false.
#force: false # boolean. Optional. Use when command == upgrade. Force. Default: false.
#waitForExecution: true # boolean. Optional. Use when command == init || command == install || command == upgrade. Wait. Default: true.
#arguments: # string. Optional. Use when command != login && command != logout. Arguments.
#chartNameForACR: # string. Required when command == save. Chart Name For Azure Container Registry.
#chartPathForACR: # string. Required when command == save. Chart Path for Azure Container Registry.
# TLS
#enableTls: false # boolean. Optional. Use when command != login && command != logout && command != package && command != save. Enable TLS. Default: false.
#caCert: # string. Required when enableTls == true && command != login && command != logout && command != package && command != save. CA certificate.
#certificate: # string. Required when enableTls == true && command != login && command != logout && command != package && command != save. Certificate.
#privatekey: # string. Required when enableTls == true && command != login && command != logout && command != package && command != save. Key.
# Advanced
#tillernamespace: # string. Optional. Use when command != login && command != logout && command != package && command != save. Tiller namespace.
#failOnStderr: false # boolean. Optional. Use when command != login && command != logout && command != package && command != save. Fail on Standard Error. Default: false.
#publishPipelineMetadata: true # boolean. Optional. Use when command != login && command != logout && command != package && command != save. Publish pipeline metadata. Default: true.
Bemenetek
connectionType
-
kapcsolattípus
string.
command != logout && command != package && command != saveesetén kötelező. Engedélyezett értékek: Azure Resource Manager, Kubernetes Service Connection, None. Alapértelmezett érték: Azure Resource Manager.
Megadja a kapcsolat típusát.
-
Kubernetes Service Connection– Adja megKubernetes Service Connection, hogy bármely Kubernetes-fürthöz csatlakozni szeretnekubeconfigvagy az Azure-szolgáltatásfiók használatával. Lehetővé teszi KubeConfig-fájl megadását, szolgáltatásfiók megadását vagy AKS-példány importálását az Azure-előfizetés lehetőséggel. Az AKS-példány Azure-előfizetés beállítással történő importálásához Kubernetes-fürthozzáférés szükséges a Szolgáltatáskapcsolat konfigurációs ideje alatt. -
Azure Resource Manager– Adja meg az Azure Kubernetes-szolgáltatáshoz való csatlakozáshoz szükségesAzure Resource Manageraz Azure Service Connection használatával. Nem fér hozzá a Kubernetes-fürthöz a Szolgáltatáskapcsolat konfigurációs ideje alatt. -
None– Helyileg tárolt, előre létrehozott Kubernetes-konfiguráció használata.
További információ: Szolgáltatáskapcsolat az alábbi Megjegyzések szakaszban.
Azure-előfizetés azureSubscription -
Bemeneti alias: azureSubscriptionEndpoint.
string.
connectionType = Azure Resource Manager && command != logout && command != package && command != saveesetén kötelező.
Az Azure Service Connection neve. Adja meg a tárolóregisztrációs adatbázist tartalmazó Azure-előfizetést.
azureResourceGroup
-
erőforráscsoport
string.
connectionType = Azure Resource Manager && command != logout && command != package && command != saveesetén kötelező.
Az előfizetésen belüli erőforráscsoport neve. Adjon meg egy Azure-erőforráscsoportot.
kubernetesCluster
-
Kubernetes-fürt
string.
connectionType = Azure Resource Manager && command != logout && command != package && command != saveesetén kötelező.
Az AKS-fürt neve. Adjon meg egy Felügyelt Azure-fürtöt.
useClusterAdmin
-
Fürt rendszergazdai hitelesítő adatainak használata
boolean. Opcionális. Használja a connectionType = Azure Resource Manager && command != logout && command != package && command != save. Alapértelmezett érték: false.
A fürt rendszergazdai hitelesítő adatait használja az alapértelmezett fürtfelhasználói hitelesítő adatok helyett.
kubernetesServiceConnection
-
Kubernetes szolgáltatáskapcsolat
Bemeneti alias: kubernetesServiceEndpoint.
string.
connectionType = Kubernetes Service Connection && command != logout && command != package && command != saveesetén kötelező.
Kubernetes-szolgáltatáskapcsolatot ad meg.
namespace
-
névtér
string. Opcionális. Használja a command != logout && command != package && command != save.
Az a névtér, amelyen a kubectl parancsokat futtatja. Ha nincs megadva, a tevékenység az alapértelmezett névteret használja. Adja meg a használni kívánt Kubernetes-névteret. A Tiller névteret a tevékenység speciális szakaszában vagy a --tiller-namespace lehetőség argumentumként való átadásával adhatja meg.
azureSubscriptionForACR
-
Azure-előfizetés a Container Registry
Bemeneti alias: azureSubscriptionEndpointForACR.
string.
command == saveesetén kötelező.
Az Azure Container Registryt tartalmazó Azure-előfizetést adja meg.
azureResourceGroupForACR
-
erőforráscsoport
string.
command == saveesetén kötelező.
A tárolóregisztrációs adatbázissal rendelkező Azure-erőforráscsoportot adja meg.
azureContainerRegistry
-
Azure Container Registry-
string.
command == saveesetén kötelező.
Megadja a Helm-diagramok leküldéséhez használandó Azure Container Registryt.
command
-
parancs
string. Szükséges. Engedélyezett értékek: create, delete, expose, get, init, install, login, logout, ls, package, rollback, save, upgrade, uninstall. Alapértelmezett érték: ls.
Helm-parancsot ad meg.
chartType
-
diagramtípus
string.
command == install || command == upgradeesetén kötelező. Engedélyezett értékek: Name, FilePath (Fájl elérési útja). Alapértelmezett érték: Name.
A diagramadatok megadásának módját adja meg. Megadhatja a diagram nevét, illetve a diagram mappa/fájl elérési útját.
chartName
-
diagramnév
string.
chartType == Nameesetén kötelező.
A telepítendő diagramhivatkozás neve. Ez lehet EGY URL-cím vagy egy diagram neve. Ha például a diagram neve stable/mysql, a tevékenység helm install stable/mysqlfut.
chartPath
-
diagram elérési útja
string.
chartType == FilePath || command == packageesetén kötelező.
A telepítendő diagram elérési útja. Ez lehet egy csomagolt diagram elérési útja, vagy egy kicsomagolt diagramkönyvtár elérési útja. Ha például ./redisad meg, a feladat helm install ./redisfut. Ha összetevőként közzétett diagramot használ, akkor az elérési út $(System.DefaultWorkingDirectory)/ARTIFACT-NAME/Charts/CHART-NAME.
chartVersion
-
verzió
Bemeneti alias: version.
string. Opcionális. Használja a command == package || command == install || command == upgrade.
Megadja a telepíteni kívánt diagramverziót. Ha nem adja meg a diagramverziót, a feladat telepíti a legújabb verziót. Állítsa a diagramon szereplő verziót erre a szemver verzióra.
releaseName
-
kiadási név
string. Opcionális. Használja a command == install || command == upgrade.
A kiadás neve. Ha nem adja meg a kiadás nevét, a feladat automatikusan létrehoz egyet. A releaseName bemenet csak install és upgrade parancsokra érvényes.
overrideValues
-
Értékek beállítása
string. Opcionális. Használja a command == install || command == upgrade.
A parancssor értékeit adja meg. Ez a bemenet több vagy különálló értéket is megadhat vesszővel: key1=val1,key2=val2.
Több értéket is megadhat, ha azokat egy új vonallal elválasztja, az alábbiak szerint:
- key1=val1
- key2=val2
Ha új sorokat tartalmazó értékkel rendelkezik, használja a valueFile lehetőséget. Ellenkező esetben a feladat elválasztóként kezeli az új sort. A feladat ezeket a beállított értékeket használva hozza létre a Helm parancsot. Az értéket például a következőhöz hasonló paranccsal állíthatja be: helm install --set key1=val1 ./redis.
valueFile
-
Értékfájl
string. Opcionális. Használja a command == install || command == upgrade.
YaML-fájlban vagy URL-címen megadott értékeket ad meg. Például a myvalues.yaml eredményének megadása helm install --values=myvals.yaml.
destination
-
Cél
string. Opcionális. Használja a command == package. Alapértelmezett érték: $(Build.ArtifactStagingDirectory).
YaML-fájlban vagy URL-címen megadott értékeket ad meg.
canaryimage
-
Canary-rendszerkép verziójának használata.
boolean. Opcionális. Használja a command == init. Alapértelmezett érték: false.
A canary Tiller rendszerképét adja meg. Használja a Tiller legújabb előzetes verzióját.
upgradetiller
-
Tiller frissítése
boolean. Opcionális. Használja a command == init. Alapértelmezett érték: true.
Ha true, ez a bemenet frissíti a Tillert, ha a Tiller már telepítve van.
updatedependency
-
Függőségi frissítése
boolean. Opcionális. Használja a command == install || command == package. Alapértelmezett érték: false.
Ha true, ez a bemenet frissíti a Helm-függőség frissítését a diagram telepítése előtt. A requirements.yaml függőségeit a csomagolás előtt frissíti a charts/ könyvtárba.
save
-
Mentés
boolean. Opcionális. Használja a command == package. Alapértelmezett érték: true.
Menti a csomagolt diagramot a helyi diagramtárházba truebeállítás esetén.
install
-
Telepítés, ha a kiadás nem jelenik meg.
boolean. Opcionális. Használja a command == upgrade. Alapértelmezett érték: true.
Ha egy ilyen nevű kiadás még nem létezik, ez a bemenet futtat egy telepítést.
recreate
-
Podok újbóli létrehozása.
boolean. Opcionális. Használja a command == upgrade. Alapértelmezett érték: false.
Szükség esetén elvégzi az erőforrás podok újraindítását.
resetValues
-
Alaphelyzetbe állítási értékek.
boolean. Opcionális. Használja a command == upgrade. Alapértelmezett érték: false.
Alaphelyzetbe állítja az értékeket a diagramba épített értékekre.
force
-
Kényszerítés
boolean. Opcionális. Használja a command == upgrade. Alapértelmezett érték: false.
Szükség esetén kényszeríti az erőforrás frissítését egy törlési vagy újbóli műveleten keresztül.
waitForExecution
-
Várakozási
boolean. Opcionális. Használja a command == init || command == install || command == upgrade. Alapértelmezett érték: true.
Letiltja a műveletet, amíg a parancs végrehajtása befejeződik.
arguments
-
argumentumok
string. Opcionális. Használja a command != login && command != logout.
A Helm parancs beállításai.
enableTls
-
TLS- engedélyezése
boolean. Opcionális. Használja a command != login && command != logout && command != package && command != save. Alapértelmezett érték: false.
Engedélyezi az SSL használatát Helm és Tiller között.
caCert
-
hitelesítésszolgáltatói tanúsítvány
string.
enableTls == true && command != login && command != logout && command != package && command != saveesetén kötelező.
A Tiller- és Helm-ügyfél tanúsítványának kiállításához használt hitelesítésszolgáltatói tanúsítvány.
certificate
-
tanúsítvány
string.
enableTls == true && command != login && command != logout && command != package && command != saveesetén kötelező.
Adja meg a Tiller-tanúsítványt vagy a Helm-ügyféltanúsítványt.
privatekey
-
kulcs
string.
enableTls == true && command != login && command != logout && command != package && command != saveesetén kötelező.
Adja meg a Tiller vagy a Helm ügyfélkulcsot.
tillernamespace
-
Tiller-névtér
string. Opcionális. Használja a command != login && command != logout && command != package && command != save.
Adja meg Tiller Kubernetes-névterét.
failOnStderr
-
Normál hiba
boolean. Opcionális. Használja a command != login && command != logout && command != package && command != save. Alapértelmezett érték: false.
Ha ez a bemenet true, ez a feladat meghiúsul, ha a hibafolyamatba bármilyen hiba van beírva, vagy ha az adatok a Standard hibafolyamba vannak írva. Ellenkező esetben a feladat a kilépési kódra támaszkodik a hiba megállapításához.
publishPipelineMetadata
-
Folyamat metaadatainak közzététele
boolean. Opcionális. Használja a command != login && command != logout && command != package && command != save. Alapértelmezett érték: true.
Ha ez a bemenet true, a feladat összegyűjti és közzéteszi az üzembehelyezési metaadatokat.
chartNameForACR
-
Azure Container Registry- diagramneve
string.
command == saveesetén kötelező.
A diagram neve az Azure Container Registryben.
chartPathForACR
-
Azure Container Registry- diagramútvonala
string.
command == saveesetén kötelező.
Az Azure Container Registry diagramkönyvtárának elérési útja.
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ők és gyakori feladattulajdonságok.
Kimeneti változók
Ez a feladat a következő kimeneti változókat határozza meg, amelyeket az alsóbb rétegbeli lépésekben, feladatokban és szakaszokban használhat fel.
helmExitCode
A megadott Helm-parancs végrehajtásából kibocsátott kilépési kód.
helmOutput
A megadott Helm-parancs végrehajtásából kibocsátott kimenet.
Megjegyzések
A HelmDeploy@0 használatával üzembe helyezhet, konfigurálhat vagy frissíthet Egy Kubernetes-fürtöt az Azure Container Service-ben Helm-parancsok futtatásával. A Helm egy olyan eszköz, amely leegyszerűsíti a Kubernetes-alkalmazások üzembe helyezését és kezelését a diagramok nevű csomagolási formátum használatával.
A Helm használatával meghatározhatja, verziószámozhatja, megoszthatja, telepítheti és frissítheti még a legösszetettebb Kubernetes-alkalmazást is.
- A Helm segítségével több Kubernetes-jegyzékfájlt (yaml) kombinálhat, például a szolgáltatást, az üzembe helyezéseket, a konfigurációtérképeket és egyebeket egyetlen, Helm-diagramoknak nevezett egységben. Nem kell tokenizációt vagy templatáló eszközt kitalálnia vagy használnia.
- A Helm-diagramok segítségével kezelheti az alkalmazásfüggőségeket, üzembe helyezheti és egységként visszaállíthatja azokat. Emellett könnyen létrehozható, verziószámozhat, közzétehet és megosztható más partnercsapatokkal.
Az Azure Pipelines beépített támogatást nyújt a Helm-diagramokhoz:
- A Helm-eszköz telepítőfeladata a Helm megfelelő verziójának az ügynökökre való telepítéséhez használható.
- A Helm-csomag és az üzembe helyezési feladat használható az alkalmazás csomagolására és kubernetes-fürtön való üzembe helyezésére. A feladat segítségével telepítheti vagy frissítheti a Tillert egy Kubernetes-névtérre, biztonságosan csatlakozhat Tillerhez tLS-en keresztül diagramok üzembe helyezéséhez, vagy futtathat bármilyen Helm-parancsot, például lint.
- A Helm-feladat egy Azure-szolgáltatáskapcsolat használatával támogatja az Azure Kubernetes-szolgáltatáshoz való csatlakozást. Bármely Kubernetes-fürthöz csatlakozhat kubeconfig vagy szolgáltatásfiók használatával.
- A Helm-üzemelő példányok a Kubectl feladattal kiegészíthetők; például létrehozás/frissítés, imagepullsecret és mások.
Szolgáltatáskapcsolat
HelmDeploy@0 két szolgáltatáskapcsolattípussal működik: Azure Resource Manager és Kubernetes Service Connection. A két kapcsolattípus konfigurálásával kapcsolatos példákért lásd példákat.
Megjegyzés
Nincs szükség szolgáltatáskapcsolatra, ha egy Kubernetes-fürtre hivatkozó környezeti erőforrás már meg van adva a folyamat fázisában.
Kubernetes-szolgáltatáskapcsolati szempontok az AKS elérésekor
Kubernetes-szolgáltatáskapcsolatot az alábbi lehetőségek bármelyikével hozhat létre.
- KubeConfig
- Szolgáltatásfiók
- Azure-előfizetés
Az Azure-előfizetés beállítás kiválasztásakor a Kubernetesnek elérhetőnek kell lennie az Azure DevOps számára a szolgáltatáskapcsolat konfigurációs ideje alatt. Előfordulhat, hogy a szolgáltatáskapcsolat nem hozható létre, például privát fürtöt, vagy a fürt helyi fiók le van 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őn.
A Kubernetes 1.24-től kezdve a hosszú élettartamú jogkivonatok már nem jönnek létre alapértelmezés szerint. A Kubernetes azt javasolja, hogy ne használjuk a hosszú élettartamú jogkivonatokat. Ennek eredményeképpen a Azure-előfizetési beállítással 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 azt is eredményezi, hogy a befagyasztott A névterek betöltése párbeszédpanelen.
Az Azure Resource Manager szolgáltatáskapcsolat használata az AKS eléréséhez
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és a folyamat futtatókörnyezetére halasztható, amelynek az alábbi előnyei vannak:
- A (privát) AKS-fürthöz való hozzáférés egy saját üzemeltetésű vagy méretezési csoport ügynökéből, a fürt felé irányuló látóvonallal végezhető el.
- A rendszer létrehoz egy jogkivonatot minden olyan feladathoz, amely Azure Resource Manager-szolgáltatáskapcsolatot használ. Ez biztosítja, hogy rövid élettartamú jogkivonattal csatlakozzon a Kuberneteshez, amely 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 az Azure-előfizetés lehetőséggel használja. 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 az Azure-szolgáltatás kapcsolattípusát használja, és ne használjon hosszú élettartamú jogkivonatokat Kubernetes-útmutató.
AKS-t használok, és nem szeretnék semmit módosítani, használhatom továbbra is a 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ő. Ne feledje azonban, hogy ez a megközelítés nem Kubernetes-útmutató.
A Kubernetes-feladatokat és a Kubernetes-szolgáltatáskapcsolatot használom, de az AKS-t nem. Aggódnom kell?
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ármilyen 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, cselekednem kell?
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, ismernie kell a hosszú élettartamú jogkivonatok Kubernetes-útmutatót.
Létrehozok egy Kubernetes-környezetet, és nincs lehetőségem szolgáltatáskapcsolatok használatára
Ha nem fér hozzá az AKS-hez a környezet létrehozása során, üres környezetet használhat, é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 folyamat nem működik. Ezek a frissítések megoldják ezt?
Az AAD RBAC engedélyezésekor a Kubernetes elérése nem kapcsolódik a jogkivonatok létrehozásához. Az interaktív kérések megakadályozása érdekében egy későbbi frissítésben támogatni fogjuk kubelogin.
Parancsértékek
A parancs bemenete a következő helm-parancsok egyikét fogadja: create/delete/expose/get/init/install/login/logout/ls/package/rollback/upgrade. A példákat a Példák szakaszban találja.
Az egyes parancsbemenetek feladatbemenetek készletére képeznek le. A tevékenységbemenethez leképezett parancsok a YAML szintaxisblokkjában és a tevékenységbemenetek táblában vannak kijelölve
Hibaelhárítás
A HelmDeploy-feladat "ismeretlen jelző: --wait" hibát jelez, miközben a Helm 3.0.2-es verzióján futtatja a "helm init --wait --client-only" parancsot.
A Helm 2 és a Helm 3 között van néhány kompatibilitástörő változás. Ezek egyike magában foglalja a tiller eltávolítását, ezért helm init parancs már nem támogatott. Parancs eltávolítása: init a Helm 3.0+ verziók használatakor.
A Helm 3 használatakor, ha a System.debug értéke igaz, és a Helm-frissítés a használt parancs, a folyamat akkor is meghiúsul, ha a frissítés sikeres volt.
Ez a Helm 3 ismert problémája, mivel naplókat ír a stderrbe. A Helm üzembe helyezési feladat sikertelenként van megjelölve, ha az stderr naplói vagy a kilépési kód nem nulla. Állítsa be a feladatbemeneti failOnStderr: false értéket az stderrre nyomtatott naplók figyelmen kívül hagyásához.
Példák
Azure Erőforrás-kezelő
Ez a YAML-példa bemutatja, hogyan hivatkozik az Azure Resource Manager a Kubernetes-fürtre. Ez a helm-parancsok egyikével és a parancshoz szükséges megfelelő értékekkel használható:
variables:
azureSubscriptionEndpoint: Contoso
azureContainerRegistry: contoso.azurecr.io
azureResourceGroup: Contoso
kubernetesCluster: Contoso
- task: HelmDeploy@0
displayName: Helm deploy
inputs:
connectionType: Azure Resource Manager
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureResourceGroup: $(azureResourceGroup)
kubernetesCluster: $(kubernetesCluster)
Kubernetes-szolgáltatáskapcsolat
Ez a YAML-példa bemutatja, hogyan használja a Kubernetes-szolgáltatáskapcsolatot a Kubernetes-fürtre való hivatkozáshoz. Ez a helm-parancsok egyikével és a parancshoz szükséges megfelelő értékekkel használható:
- task: HelmDeploy@0
displayName: Helm deploy
inputs:
connectionType: Kubernetes Service Connection
kubernetesServiceEndpoint: Contoso
Parancsok
A parancs bemenete a következő helm-parancsok egyikét fogadja: create/delete/expose/get/init/install/login/logout/ls/package/rollback/upgrade.
Ez a YAML-példa az ls parancsot mutatja be:
- task: HelmDeploy@0
displayName: Helm list
inputs:
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureResourceGroup: $(azureResourceGroup)
kubernetesCluster: $(kubernetesCluster)
command: ls
arguments: --all
init parancs
Ez a YAML-példa a init parancsot mutatja be:
- task: HelmDeploy@0
displayName: Helm init
inputs:
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureResourceGroup: $(azureResourceGroup)
kubernetesCluster: $(kubernetesCluster)
command: init
upgradetiller: true
waitForExecution: true
arguments: --client-only
telepítési parancs
Ez a YAML-példa a telepítési parancsot mutatja be:
- task: HelmDeploy@0
displayName: Helm install
inputs:
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureResourceGroup: $(azureResourceGroup)
kubernetesCluster: $(kubernetesCluster)
command: install
chartType: FilePath
chartPath: Application/charts/sampleapp
csomagparancs
Ez a YAML-példa a csomag parancsot mutatja be:
- task: HelmDeploy@0
displayName: Helm package
inputs:
command: package
chartPath: Application/charts/sampleapp
destination: $(Build.ArtifactStagingDirectory)
frissítési parancs
Ez a YAML-példa a frissítési parancsot mutatja be:
- task: HelmDeploy@0
displayName: Helm upgrade
inputs:
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureResourceGroup: $(azureResourceGroup)
kubernetesCluster: $(kubernetesCluster)
command: upgrade
chartType: filepath
chartPath: $(Build.ArtifactStagingDirectory)/sampleapp-v0.2.0.tgz
releaseName: azuredevopsdemo
install: true
waitForExecution: false
Mentés parancs
Ez a YAML-példa bemutatja a mentési parancsot:
- task: HelmDeploy@0
displayName: Helm save
inputs:
command: save
chartNameForACR: mycontainerregistry.azurecr.io/helm/hello-world:v1
chartPathForACR: Application/charts/sampleapp
azureSubscriptionEndpointForACR: $(azureSubscriptionEndpointForACR)
azureResourceGroupForACR: $(azureResourceGroupForACR)
azureContainerRegistry: $(azureContainerRegistry)
Helm-diagramok csomagolása és aláírása
Ebben a szakaszban megtudhatja, hogyan csomagolhat és írhat alá Helm-diagramokat egy folyamatban.
Privát-nyilvános kulcspár létrehozása a helm-diagram gpg használatával történő aláírásához
Töltse le GPG.
Indítsa el a parancssort rendszergazdai módban. Futtassa az alábbi parancsot egy privát-nyilvános kulcspár létrehozásához a helm-diagram gpg használatával való aláírásához. A kulcs létrehozásakor a rendszer kérni fogja a felhasználónevet és az e-mail-címet. A "név e-mail-cím" később a létrehozott privát-nyilvános kulcspár elnevezésére szolgál.
gpg --full-generate-key
létrehozásaA rendszer kérni fogja a jelszó megadását. Adja meg az értéket, és kattintson az OK gombra.
A kulcs létrehozása után az alábbi paranccsal megtekintheti a titkos és a nyilvános kulcsokat tartalmazó kulcsok listáját.
A titkos kulcsok listájának megtekintése
gpg --list-secret-keys
A nyilvános kulcsok listájának megtekintése
gpg --list-keys
A privát és nyilvános kulcsokat 2 különböző fájlban tárolhatja a gpg kiterjesztéssel, az alábbiak szerint.
- Titkos kulcs esetén
gpg --export-secret-key AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00 contoso@microsoft.com > C:/somepath/privatekeys.gpgA privatekeys.gpg fájl exportálva lesz a fent említett elérési útra.
- Nyilvános kulcs esetén
gpg --export-key AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00 contoso@microsoft.com > C:/somepath/publickey.gpgA publickey.gpg fájl exportálva lesz a fent említett elérési útra.
Az Azure DevOpsban mentse a privatekey.gpg fájlt a tárban biztonságos fájlok szakaszban.
Példa
pool:
name: Hosted Ubuntu 1604
variables:
# The below variable should be secure
HelmKeyPassphrase: contoso@123
keyName: contoso contoso@microsoft.com
azureSubscriptionEndpoint: contoso
azureResourceGroup: contoso
kubernetesCluster: contoso
steps:
- task: DownloadSecureFile@1
displayName: Download Secure file
inputs:
secureFile: privatekey.gpg
name: privateKeyRing
- task: HelmInstaller@0
displayName: Install Helm 2.12.0
inputs:
helmVersion: 2.12.0
- task: HelmDeploy@0
displayName: helm init
inputs:
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureResourceGroup: $(azureResourceGroup)
kubernetesCluster: $(kubernetesCluster)
command: init
arguments: --client-only
- task: HelmDeploy@0
displayName: helm package
inputs:
command: package
chartPath: Application/charts/sampleapp
arguments: --sign --key "$(keyName)" --keyring $(privateKeyRing.secureFilePath)
env:
HelmKeyPassphrase: $(HelmKeyPassphrase)
Követelmények
| Követelmény | Leírás |
|---|---|
| Folyamattípusok | YAML, klasszikus build, klasszikus kiadás |
| Futtatás bekapcsolva | Ügynök, DeploymentGroup |
| Követelmények | Egyik sem |
| képességek | Ez a tevékenység nem felel meg a feladat későbbi tevékenységeire vonatkozó követelményeknek. |
| parancskorlátozások | Bármely |
| Változók beállítása | Bármely |
| Ügynök verziója | Minden támogatott ügynökverzió. |
| Tevékenységkategória | Üzembe helyezés |