Ez a cikk azt tárgyalja, hogyan használhatja és konfigurálja a különböző szolgáltatókat a különféle felhőplatformokkal és -szolgáltatásokkal való interakcióhoz.
Bevezetés a Terraform szolgáltatókba
A Terraform szolgáltatók olyan beépülő modulok, amelyek lehetővé teszik számunkra, hogy különböző felhőplatformokkal és -szolgáltatásokkal kommunikáljunk a Terraform használatával. Ezek a szolgáltatók felelősek a Terraform konfiguráció API-hívásokká történő lefordításáért, amely szükséges az erőforrások kezeléséhez egy adott felhőplatformon vagy szolgáltatáson.
A szolgáltatók típusai a Terraformban
Ban,-ben Terraform nyilvántartás , háromféle szolgáltatót láthatunk:
Hivatalos szolgáltatók
A hivatalos szolgáltatókat a Terraformot birtokló HashiCorp cég tartja karban. Ezek a szolgáltatók a legjobb megoldás, ha a jól dokumentált és naprakész szolgáltatókra van szükségünk.
Az AWS, a Microsoft Azure és a Google Cloud Platform szolgáltatói példák lehetnek a Terraform hivatalos szolgáltatóira.
Partnerszolgáltatók
Harmadik fél szervezetek tartják fenn ezeket a szolgáltatókat, és partneri viszonyt kötöttek a HashiCorp-pal, hogy hivatalos támogatást nyújtsanak szolgáltatásaikhoz.
A GitLab, a MongoDB és a CloudFlare szolgáltatók olyan partnerszolgáltatók, amelyek elérhetők a felhasználók számára.
Közösségi szolgáltatók
A közösségi szolgáltatókat jellemzően a Terraform közösség magánszemélyei vagy szervezetei hozzák létre, akik az erőforrásokat olyan felhőplatformon vagy szolgáltatáson szeretnék kezelni, amelyet hivatalos vagy partnerszolgáltató nem támogat.
Néhány példa közösségi szolgáltatókra a következő képen látható:
A Terraform Provider használata
A Terraform szolgáltató használatához be kell foglalnunk egy szolgáltatói blokkot a konfigurációs fájlunkba, amely meghatározza a használni kívánt szolgáltatót és a szükséges konfigurációs paramétereket, például a hitelesítő adatokat vagy a régiót.
A szolgáltató konfigurálása után a szolgáltató által a Terraform konfigurációban biztosított erőforrásokat és adatforrásokat használhatjuk a felhőplatformon vagy -szolgáltatáson lévő erőforrások kezelésére.
Hozzon létre egy egyszerű Terraform konfigurációs fájlt, amely létrehoz egy EC2 példányt az AWS felhőplatformon.
szolgáltató 'jaj' {verzió = '~> 3,0'
régió = 'us-kelet-2'
}
forrás 'aws_instance' 'myEC2' {
ami = 'ami-0a561b65214a47cac'
példány_típus = 't3. kicsi'
tags = {
Név = 'új példány'
}
}
Először meghatározzuk a szolgáltatói blokkot, megadva az AWS-szolgáltatót és az erőforrások létrehozásának régióját. Ezután az erőforrásblokkot úgy határozzuk meg, hogy erőforrástípusként aws_instance, erőforrásnévként „myEC2”, attribútumként pedig „ami”, „instance_type” és „tags” áll. Az erőforrás típusa két részre osztható: Szolgáltató és Erőforrás. Ebben az esetben az „aws” a szolgáltató, a „példány” pedig az erőforrás. Továbbá, ha valakinek tíz EC2-példányt kell létrehoznia, a „count” attribútum használható tíz értékkel.
Most végre tudjuk hajtani a Terraform folyamatot, amely magában foglalja a terraform init, terraform plan és terraform application parancsok végrehajtását az általunk meghatározott erőforrás létrehozásához.
A Terraform AWS szolgáltató segítségével az AWS felügyeleti konzol használata nélkül is elérhetjük az AWS felhőplatformot, és hatékonyan kommunikálhatunk szolgáltatásaival.
Több szolgáltató használata Terraformban
Ahelyett, hogy egyetlen szolgáltatót használnánk, a Terraform lehetővé teszi, hogy több szolgáltatót használjunk ugyanazon Terraform konfigurációs fájlon belül, hogy különféle típusú szolgáltatásokkal és felhőplatformokkal kommunikáljunk.
A megértés kedvéért nézzünk meg egy példát, ahol számítási motort helyezünk üzembe a Google Cloud Platformban, egy adattárat a GitHubban és egy S3 tárolót az AWS felhőplatformon.
szolgáltató 'Google' {projekt = 'első projekt'
régió = 'us-west1'
}
szolgáltató 'github' {
token = 'YOUR_GITHUB_TOKEN'
}
szolgáltató 'jaj' {
verzió = '~> 3,0'
régió = 'us-nyugat-2'
}
forrás 'google_compute_példány' 'gcpInstance' {
név = 'új példány'
gép_típusa = 'n1-standard-1'
zóna = 'us-west1-a'
boot_disk {
inicializálás_paraméterek {
kép = 'debian-cloud/debian-10'
}
}
}
forrás 'github_repository' 'gitRepo' {
név = 'új repo'
leírás = 'Ez az új tárhelyem'
}
forrás 'aws_s3_bucket' 'awsBucket' {
vödör = 'új vödör'
acl = 'magán'
}
Első lépésként meghatározzuk szolgáltatói blokkjainkat a szolgáltatók (Google, GitHub és AWS) és a szükséges információk, például régió, projektnév stb. megadásához. Ezután három erőforrásblokk segítségével deklaráljuk erőforrásainkat: „gcpInstance”, „ gitRepo” és „awsBucket”.
Először is létrehozunk egy számítási motort a Google Cloud Platformban, amelynek neve az „új példány”, géptípusa „n1-standard-1”, elérhetőségi zóna pedig „us-west1-a”. A Debiant használja gazdagép operációs rendszerként. Ezután létrehozunk egy „new-repo” nevű GitHub-tárolót és egy megfelelő leírást. Végül egy S3 gyűjtőhely készül, amelynek neve a „new-bucket”, ACL (Hozzáférési vezérlőlista) értéke pedig „private”.
Ezzel a három Terraform szolgáltatóval könnyen kommunikálhatunk felhőplatformokkal és szolgáltatásaikkal.
A Terraform szolgáltatókkal való munka legjobb gyakorlatai
Szolgáltatói verziószámítás
Meg kell adnunk a szolgáltató verzióját, mert ez segíti a konzisztenciát, és elkerüli a váratlan viselkedést az újabb verziók törési változásai miatt.
Szolgáltató hitelesítése
Használhatjuk a biztonságos hitelesítési mechanizmusokat, például az API-kulcsokat és a hozzáférési jogkivonatokat a Terraform hitelesítésére és engedélyezésére, hogy interakcióba lépjen a megfelelő felhőplatformmal vagy szolgáltatással.
Szolgáltatói dokumentáció
A szolgáltatók gyakran meghatározott konfigurációs opciókkal, szolgáltatásokkal és korlátozásokkal rendelkeznek. Ennek az oktatóanyagnak a megértése segít a szolgáltató hatékony használatában és a gyakori buktatók elkerülésében.
Szolgáltatói frissítések
A szolgáltatók hibajavításokat, teljesítményjavításokat és új funkciókat adhatnak ki. A naprakészen tartás lehetővé teszi számunkra, hogy kihasználjuk a legújabb fejlesztéseket, és fenntartsuk a kompatibilitást a szolgáltató ökoszisztémájával.
Közösségi támogatás
Az online fórumok, vitalapok, közösségi csatornák segítségével megoldhatjuk a szolgáltatók igénybevétele során felmerülő mindennapi kihívásokat.
Hibakezelés és hibaelhárítás
Jó gyakorlat, ha megismerkedünk a szolgáltató hibaüzeneteivel, naplóival és hibakeresési technikáival, így ez segít a problémák hatékonyabb diagnosztizálásában és megoldásában.
Következtetés
Röviden bemutattuk a Terraform szolgáltatókat. Könnyen érthető példákon keresztül megvitattuk, hogyan használhatók és konfigurálhatók a különféle felhőplatformokkal és -szolgáltatásokkal való interakcióhoz, és hogyan lehet több szolgáltatót használni az erőforrások kezeléséhez a különböző felhőplatformokon és -szolgáltatásokon keresztül.