Az Azure Export for Terraform működése
Ez a cikk bemutatja az Azure Export for Terraform munkafolyamatait. Ebben a cikkben megismerheti az eszköz ajánlott eljárásokkal kapcsolatos útmutatását, az aktuális korlátozásokat és a korlátozások enyhítésének módját.
Interaktív mód
Alapértelmezés szerint az Azure Export for Terraform interaktív módban fut. Ha interaktív módban fut, az elérhető billentyűparancsok a képernyő alján jelennek meg.
Task | Billentyűparancsok |
---|---|
Navigációs | |
Válassza ki az előző elemet az erőforráslistában. | ↑ -or- k |
Válassza ki a következő elemet az erőforráslistában. | ↓ -or- j |
Ugrás az erőforráslista előző lapjára. | ← -or- h -or- Page Up |
Ugrás az erőforráslista következő lapjára. | → -or- l -or- Page Down |
Ugrás az erőforráslista elejére. | g -or- Home |
Ugrás az erőforráslista végére. | G -or- end |
Kihagyandó erőforrások kiválasztása | |
Erőforrás kihagyása (vagy megszüntetés, ha "Kihagyás" jelöléssel van megjelölve) | Törlés |
Szűrési műveletek | |
Szűrő definiálása szöveg alapján az erőforráslistában. | / |
Az aktuális szűrő törlése | Esc |
Műveletek mentése | |
Mentse az erőforráslista leképezési fájlját. A kimeneti fájlt a kihagyás (de a szűrés nem) befolyásolja. | S |
Exportálja az erőforrásokat állapotba (ha --hcl-only nincs megadva), és létrehozza a konfigurációt. |
W |
Felhasználó felület | |
Az aktuális erőforrásra vonatkozó javaslatok megjelenítése. | R |
Erőforrás-exportálási hibák megjelenítése (ha vannak ilyenek). | E |
Súgó megjelenítése. | ? |
Kilép | |
Lépjen ki az interaktív módból. | K |
Minden erőforrás esetében az Azure Export for Terraform megpróbálja felismerni a megfelelő Terraform-erőforrástípust. Ha talál egyezést, a vonal a következő jelzővel van megjelölve: 💡.
Ha az erőforrás nem oldható fel, a Terraform-erőforrás címét a következő űrlapon kell megadnia: <resource type>.<resource name>
. Hivatkozhat például azurerm_linux_virtual_machine.test
egy Terraform-erőforrástípusra azurerm_linux_virtual_machine , míg a test
konfigurációs fájlokban használt virtuális gép nevére.
A kijelölt erőforráshoz elérhető erőforrástípus(ok) megtekintéséhez nyomja le az r billentyűt.
Bizonyos esetekben vannak olyan Azure-erőforrások, amelyek nem rendelkeznek megfelelő Terraform-erőforrásokkal, például ha az erőforrás nem támogatja a Terraformot. Előfordulhat, hogy egyes erőforrások egy másik erőforrás kiépítésének mellékhatásaként is létrejönnek – ilyen például a virtuális gép kiépítésekor létrehozott operációsrendszer-lemezerőforrás. Ezekben az esetekben kihagyhatja az erőforrásokat anélkül, hogy bármit hozzárendelt volna.
Miután áttekintette az összes importálni kívánt erőforrást, nyomja le a w billentyűt a Terraform-konfiguráció létrehozásához, és (ha --hcl-only
nincs kiválasztva) a Terraform állapotba történő importáláshoz.
Nem interaktív mód
Alapértelmezés szerint az Azure Export for Terraform interaktív módban fut. Ha meg szeretné adni, hogy az eszköz ne interaktív módban fusson, adja meg a jelölőt --non-interactive
.
aztfexport [command] --non-interactive <scope>
Fontos
Ha a Terraformhoz készült Azure Exportot futtató címtár nem üres, a jelölő használatához hozzá kell adnia a --overwrite
jelölőt --hcl-only
.
Ajánlott eljárások az alapvető munkafolyamatokhoz
Alapvető szinten az Azure Export bármely felhasználójának két lehetőség közül kell választania:
Az alábbi alszakaszok útmutatást nyújtanak arra vonatkozóan, hogy a forgatókönyv alapján melyik lehetőséget érdemes használni.
Infrastruktúra kezelése
Előfordulhat, hogy nem kell állapotba exportálnia, ha még nem ellenőrizte, hogy a konfigurált erőforrások a kívánt módon viselkednek-e a környezetben.
Ha biztos benne, hogy munkafolyamatokkal terraform init plan apply
szeretné kezelni a Terraformban található erőforrások készletét, az állapotba való exportálás elengedhetetlen.
Ha még nem biztos abban, hogy kezelni szeretné az erőforrásokat, ajánlott a --hcl-only
jelzőt átadni.
Meglévő infrastruktúra
Olyan helyzetekben, amikor meglévő Terraform-környezetekbe exportál, hasznos lehet terraformterv-ekvivalensnek tekinteni--hcl-only
, különösen a meglévő környezetekhez való hozzáfűzés előtt.
A terraform apply
parancs egyenértékű az erőforrások exportálásával , amely során konfigurációjuk a már meglévő állapotba van állítva. Ebben a forgatókönyvben a leképezési fájl használatával időt takaríthat meg az erőforrások listázásához és leképezéséhez.
Infrastruktúra felderítése
Ha nem tudja biztosan, hogy mely erőforrások léteznek egy környezetben, a jelölő megadásával ellenőrizheti.--generate-mapping-file
A témával kapcsolatos további információkért lásd : A testreszabott erőforrás-kiválasztás és -elnevezés feltárása az Azure Export for Terraform használatával.
Korlátozások
Az Azure Export for Terraform egy összetett eszköz, amely megpróbálja az Azure-infrastruktúrát Terraform-kódmá és állapottá alakítani. Jelenlegi ismert korlátait az alábbi alszakaszok ismertetik.
Írásvédett tulajdonságok
Az AzureRM bizonyos tulajdonságai írásvédettek, és nem szerepelnek a Terraformhoz készült Azure Export által létrehozott kódban. A probléma megoldásához definiálja a tulajdonságot a HCL-kódba való exportálás után.
Tulajdonságközi korlátozások
Az AzureRM-szolgáltató két olyan tulajdonságot állíthat be, amelyek ütköznek egymással. Ha az Azure Export for Terraform ütköző tulajdonságokat olvas be, mindkét tulajdonságot ugyanarra az értékre állíthatja, annak ellenére, hogy a felhasználó csak egyet konfigurál. További bonyodalmak merülnek fel, ha több tulajdonságközi korlátozás létezik ugyanazon a létrehozott konfiguráción belül. A probléma megoldásához tudnia kell, hogy hol találhatók a tulajdonságközi ütközések a konfigurációban.
Erőforrás-hatókörön kívüli infrastruktúra
Ha az Azure Export for Terraformot használja az erőforrás-hatókörök megcélzásához, a konfigurációhoz szükséges erőforrások a megadott hatókörön kívül is létezhetnek. Ilyen például egy szerepkör-hozzárendelés. A felhasználónak azonosítania kell a hatókörön kívüli erőforrásokat.
Írásvédett tulajdonságok
Az Azure Export nem tud írásvédett tulajdonságokat (például jelszavakat) létrehozni a konfigurációjában. Az új erőforráskészletek létrehozásához ismernie kell a csak írási tulajdonságokat, és meg kell határoznia őket egy konfigurációban.
Kód módosítása a kódolási szabványoknak megfelelően
Van néhány szükséges művelet, ha a felhasználó módosítani szeretné a kódját, hogy megfeleljen a kódolási szabványoknak. Ezekre a lépésekre csak akkor lenne szükség, ha a felhasználó a kódot nemandbox környezetekben szeretné használni.
Tulajdonság által definiált erőforrások
Az Azure-ban bizonyos erőforrások definiálhatók egy szülő Terraform-erőforrás vagy egy egyéni Terraform-erőforrás tulajdonságaként. Ilyen például egy alhálózat. Az Azure Export for Terraform egyéni erőforrásként definiálja az erőforrást, de ajánlott a meglévő kódolási konfigurációval egyezni.
Explicit függőségek
Az Azure Export for Terraform jelenleg csak explicit függőségeket deklarálhat. Ismernie kell az erőforrások közötti kapcsolatok leképezését a kód újrabontásához a szükséges implicit függőségek belefoglalásához.
Rögzített értékek
Az Azure Export for Terraform jelenleg kemény kódú sztringeket hoz létre. Ajánlott eljárásként ezeket az értékeket újra kell átképeznie változókra. Továbbá, ha a jelölő használatával teszi elérhetővé az --full-properties
összes tulajdonságot, bizonyos bizalmas információk (például titkos kódok) megjelennek a létrehozott konfigurációban. Ajánlott eljárások használata a kód láthatóságának védelméhez.
További lépések
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: