Pembekal Terraform

Pembekal Terraform



Salah satu alat Infrastruktur sebagai Kod yang popular dan sumber terbuka ialah Terraform. Ia membolehkan pembangun mentakrif dan mengurus infrastruktur anda secara deklaratif. Ia membolehkan mereka mencipta, mengurus dan mengubah suai sumber infrastruktur menggunakan sintaks yang mudah dan konsisten, tanpa mengira platform awan atau penyedia perkhidmatan yang mendasari.

Artikel ini membincangkan cara menggunakan dan mengkonfigurasi penyedia yang berbeza untuk berinteraksi dengan pelbagai platform dan perkhidmatan awan.

Pengenalan kepada Penyedia Terraform

Penyedia Terraform ialah pemalam yang membolehkan kami berinteraksi dengan platform dan perkhidmatan awan yang berbeza menggunakan Terraform. Penyedia ini bertanggungjawab untuk menterjemahkan konfigurasi Terraform ke dalam panggilan API yang diperlukan untuk mengurus sumber pada platform atau perkhidmatan awan tertentu.







Jenis Penyedia dalam Terraform

Di dalam Pendaftaran Terraform , kita boleh melihat tiga jenis penyedia:



Pembekal Rasmi

Pembekal rasmi diselenggara oleh syarikat HashiCorp yang memiliki Terraform. Penyedia ini ialah pilihan terbaik yang tersedia jika kami memerlukan penyedia yang didokumentasikan dengan baik dan terkini.



Penyedia AWS, Microsoft Azure dan Google Cloud Platform boleh menjadi contoh penyedia rasmi dalam Terraform.





Pembekal Rakan Kongsi

Organisasi pihak ketiga mengekalkan penyedia ini dan telah bekerjasama dengan HashiCorp untuk memberikan sokongan rasmi untuk perkhidmatan mereka.

Pembekal GitLab, MongoDB dan CloudFlare ialah beberapa pembekal rakan kongsi yang tersedia untuk pengguna.



Penyedia Komuniti

Pembekal komuniti biasanya dibuat oleh individu atau organisasi komuniti Terraform yang ingin mengurus sumber pada platform atau perkhidmatan awan yang tidak disokong oleh pembekal rasmi atau rakan kongsi.

Beberapa contoh penyedia komuniti ditunjukkan dalam imej berikut:

Cara Menggunakan Penyedia Terraform

Untuk menggunakan penyedia Terraform, kami perlu memasukkan blok pembekal dalam fail konfigurasi kami yang menentukan pembekal yang kami mahu gunakan dan sebarang parameter konfigurasi yang diperlukan seperti bukti kelayakan atau wilayah.

Setelah pembekal dikonfigurasikan, kami boleh menggunakan sumber dan sumber data yang disediakan oleh pembekal dalam konfigurasi Terraform kami untuk mengurus sumber pada platform atau perkhidmatan awan.

Mari buat fail konfigurasi Terraform mudah yang mencipta tika EC2 dalam platform awan AWS.

pembekal 'aws' {

versi = '~> 3.0'

wilayah = 'kami-timur-2'

}

sumber 'aws_instance' 'myEC2' {

yang = 'ami-0a561b65214a47cac'

instance_type = 't3. kecil'

tag = {

Nama = 'contoh baru'

}

}

Mula-mula, kami mentakrifkan blok pembekal, menentukan penyedia AWS dan kawasan tempat sumber dicipta. Kemudian, kami mentakrifkan blok sumber kami sebagai terdiri daripada aws_instance sebagai jenis sumber, 'myEC2' sebagai nama sumber dan 'ami', 'instance_type' dan 'tag' sebagai atribut. Jenis sumber boleh dibahagikan kepada dua bahagian: Pembekal dan Sumber. Dalam kes ini, 'aws' ialah penyedia dan 'contoh' ialah sumber. Selain itu, jika seseorang perlu menyediakan sepuluh kejadian EC2, atribut 'kira' boleh digunakan dengan sepuluh sebagai nilai.

Kini, kita boleh melaksanakan aliran Terraform yang termasuk melaksanakan terraform init, pelan terraform dan terraform menggunakan arahan untuk mencipta sumber yang kami takrifkan.

Menggunakan penyedia AWS Terraform, kami boleh mengakses platform awan AWS dan berinteraksi dengan perkhidmatannya dengan cekap tanpa menggunakan Konsol Pengurusan AWS.

Menggunakan Berbilang Pembekal dalam Terraform

Daripada menggunakan satu pembekal, Terraform membenarkan kami menggunakan berbilang penyedia dalam fail konfigurasi Terraform yang sama untuk berinteraksi dengan pelbagai jenis perkhidmatan dan platform awan.

Untuk pemahaman anda, mari kita berikan contoh di mana kami menggunakan enjin pengiraan dalam Google Cloud Platform, repositori dalam GitHub dan baldi S3 dalam platform awan AWS.

pembekal 'google' {

projek = 'projek pertama'

wilayah = 'kami-barat1'

}

pembekal 'github' {

token = 'TOKEN_GITHUB_ANDA'

}

pembekal 'aws' {

versi = '~> 3.0'

wilayah = 'kami-barat-2'

}

sumber 'google_compute_instance' 'gcpInstance' {

nama = 'contoh baru'

jenis_mesin = 'n1-standard-1'

zon = 'kami-barat1-a'

cakera_but {

initialize_params {

imej = 'debian-cloud/debian-10'

}

}

}

sumber 'github_repository' 'gitRepo' {

nama = 'repo baharu'

penerangan = 'Ini adalah repositori baharu saya'

}

sumber 'aws_s3_bucket' 'awsBucket' {

baldi = 'baldi baru'

acl = 'swasta'

}

Sebagai langkah pertama, kami mentakrifkan blok pembekal kami untuk menentukan penyedia (Google, GitHub dan AWS) dan maklumat yang diperlukan seperti rantau, nama projek, dll. Kemudian, kami mengisytiharkan sumber kami menggunakan tiga blok sumber: “gcpInstance”, “ gitRepo', dan 'awsBucket'.

Mula-mula, kami mencipta enjin pengiraan dalam Platform Awan Google dengan 'contoh baharu' sebagai nama, 'n1-standard-1' sebagai jenis mesin dan 'us-west1-a' sebagai zon ketersediaan. Ia menggunakan Debian sebagai OS hos. Kemudian, kami mencipta repositori GitHub bernama 'new-repo' dan penerangan yang sesuai. Akhir sekali, baldi S3 dibuat dengan 'baldi baharu' sebagai nama dan 'peribadi' sebagai nilai ACL (Senarai Kawalan Akses).

Dengan tiga penyedia Terraform tersebut, kami boleh berinteraksi dengan mudah dengan platform awan dan perkhidmatan mereka.

Amalan Terbaik untuk Bekerja dengan Penyedia Terraform

Versi Penyedia

Kami harus menentukan versi pembekal kerana ia membantu memastikan konsistensi dan mengelakkan tingkah laku yang tidak dijangka akibat perubahan yang melanggar dalam versi yang lebih baharu.

Pengesahan Pembekal

Kami boleh menggunakan mekanisme pengesahan selamat seperti kunci API dan token akses untuk mengesahkan dan membenarkan Terraform untuk berinteraksi dengan platform atau perkhidmatan awan masing-masing.

Dokumentasi Pembekal

Pembekal selalunya mempunyai pilihan konfigurasi, ciri dan had tertentu. Memahami tutorial ini membantu kami menggunakan pembekal dengan berkesan dan mengelakkan perangkap biasa.

Kemas Kini Pembekal

Penyedia mungkin mengeluarkan pembetulan pepijat, peningkatan prestasi dan ciri baharu. Mengikuti perkembangan terkini membolehkan kami memanfaatkan peningkatan terkini dan mengekalkan keserasian dengan ekosistem penyedia.

Sokongan Komuniti

Kami boleh menggunakan forum dalam talian, papan perbincangan dan saluran komuniti untuk menyelesaikan cabaran harian yang dihadapi semasa menggunakan penyedia.

Pengendalian Ralat dan Penyelesaian Masalah

Amalan yang baik untuk membiasakan diri dengan mesej ralat, log dan teknik penyahpepijatan pembekal supaya ia akan membantu kami mendiagnosis dan menyelesaikan isu dengan lebih cekap.

Kesimpulan

Kami mengambil pengenalan ringkas kepada penyedia Terraform. Kami membincangkan cara menggunakan dan mengkonfigurasikannya untuk berinteraksi dengan pelbagai platform dan perkhidmatan awan dan cara menggunakan berbilang penyedia untuk mengurus sumber merentas platform dan perkhidmatan awan yang berbeza melalui contoh yang mudah difahami.