A Terraform Azure-beli használatakor felmerülő gyakori problémák elhárítása
Ez a cikk a Terraform Azure-on való használatakor előforduló gyakori problémákat és lehetséges megoldásokat sorolja fel.
Ha a Terraformra jellemző problémába ütközik, használja a HashiCorp közösségi támogatási csatornáit.
HashiCorp Terraform specifikus támogatási csatornák
- Kérdések, használati esetek és hasznos minták: A HashiCorp közösségi portál Terraform szakasza
- Szolgáltatóval kapcsolatos kérdések: A HashiCorp közösségi portál Terraform-szolgáltatók szakasza
A szolgáltató regisztrációs állapota nem listázható
Hibaüzenet:
Hiba: A szolgáltatóregisztrációs állapot nem listázható, lehetséges, hogy ez érvénytelen hitelesítő adatok miatt van, vagy a szolgáltatásnév nem rendelkezik engedéllyel a Resource Manager API használatára, Azure-hiba: erőforrások. ProvidersClient#List: Hiba a következő kérésre válaszolva: StatusCode=403 – Eredeti hiba: autorest/azure: A szolgáltatás hibát adott vissza. Status=403 Code="AuthorizationFailed" Message="A "000000000-0000-0000-0000-00000000000" objektumazonosítójú ügyfél "000000000-0000-0000-0000-0000 A 0-00000000000000 nem rendelkezik engedéllyel a "Microsoft.Resources/subscriptions/subscriptions/providers/read" művelet végrehajtására az "/subscriptions/00000000-0000-0000-0000-00000000000" hatókörön keresztül, vagy a hatókör érvénytelen. Ha a hozzáférés nemrég lett engedélyezve, frissítse a hitelesítő adatait.”
Háttér: Ha Terraform-parancsokat futtat a Cloud Shellből, és meghatározott bizonyos Terraform-/Azure-környezeti változókat, időnként ütközések is megjelenhetnek. A környezeti változók és az általuk képviselt Azure-érték az alábbi táblázatban található:
Környezeti változó | Azure-érték |
---|---|
ARM_SUBSCRIPTION_ID | Azure-előfizetés azonosítója |
ARM_TENANT_ID | Microsoft-fiók bérlőazonosítója |
ARM_CLIENT_ID | Azure-szolgáltatásnév alkalmazásazonosítója |
ARM_CLIENT_Standard kiadás CRET | Azure-szolgáltatásnév jelszava |
Ok: Az írás során a Cloud Shellben futó Terraform-szkript felülírja a környezeti és ARM_TENANT_ID
a környezeti változókat az ARM_SUBSCRIPTION_ID
aktuális Azure-előfizetés értékeinek használatával. Ennek eredményeképpen, ha a környezeti változók által hivatkozott szolgáltatásnév nem rendelkezik jogosultságokkal az aktuális Azure-előfizetéshez, a Terraform-műveletek sikertelenek lesznek.
Hiba történt az állapotzár beszerzésekor
Hibaüzenet:
Hiba: Hiba történt az állapotzár beszerzésekor; Hibaüzenet: 2 hiba történt:
* az állapotblob már zárolva van
* blob metaadatai "terraformlockid" üres volt
A Terraform egy állapotzárat szerez be, amely megvédi az állapotot attól, hogy egyszerre több felhasználó írja őket. Oldja meg a fenti problémát, és próbálkozzon újra. A legtöbb parancs esetében letilthatja a zárolást a "-lock=false" jelzővel, de ez nem ajánlott.
Háttér: Ha Terraform-parancsokat futtat egy Terraform-állapotfájlon, és ez a hiba az egyetlen megjelenő üzenet, az alábbi okok jelentkezhetnek. Helyi és távoli állapotfájlokra vonatkozik.
Ok: Ennek a hibának két lehetséges oka lehet. Az első az, hogy egy Terraform-parancs már fut az állapotfájlon, és zárolást kényszerített a fájlra, így semmi sem törik meg. A második lehetséges ok az, hogy a parancsok futtatásakor megszakadt a kapcsolat az állapotfájl és a parancssori felület között. Ez a megszakítás leggyakrabban távoli állapotfájlok használatakor fordul elő.
Megoldás: Először győződjön meg arról, hogy még nem futtat parancsokat az állapotfájlon. Ha helyi állapotfájllal dolgozik, ellenőrizze, hogy vannak-e parancsokat futtató termináljai. Másik lehetőségként ellenőrizze az üzembehelyezési folyamatokat, és ellenőrizze, hogy a futó valami használja-e az állapotfájlt. Ha ez nem oldja meg a problémát, lehetséges, hogy a második ok aktiválta a hibát. Egy Azure Storage-fióktárolóban tárolt távoli állapotfájl esetén keresse meg a fájlt, és használja a bérlet megszakítása gombot.
Ha más háttérrendszereket használ az állapotfájl tárolásához, a javaslatokért tekintse meg a HashiCorp dokumentációját.
VPN-hibák
A VPN-hibák megoldásáról további információt a hibrid VPN-kapcsolatok hibaelhárítása című cikkben talál.