Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
წყარო: https://github.com/antonbabenko/terraform-best-practices/tree/master/examples/small-terraform
ეს Terraform კოდის სტრუქტურის მაგალითი განკუთვნილია მცირე ზომის ინფრასტრუქტურისთვის რომელიც იყენებს შემდეგ კომპონენტებს:
მაგალითი შეიცავს კოდს, როგორც Terraform-ის კონფიგურაციის სტრუქტურირების მაგალითს მცირე ზომის ინფრასტრუქტურისთვის, სადაც არ არის გამოყენებული გარე დამოკიდებულებები(Dependencies).
შესანიშნავია დასაწყებად და რეფაქტირებისთვის
შესანიშნავია მცირე რესურსის მოდულებისთვის
კარგია მცირე და ხაზოვანი ინფრასტრუქტურის მოდულებისთვის (მაგალითად terraform-aws-atlantis)
კარგია მცირე რაოდენობის რესურსებისთვის (20-30-ზე ნაკლები)
ყველა რესურსისთვის საერთო მდგომარეობის(State) ფაილს შეუძლია Terraform-თან მუშაობის პროცესი შეანელოს, თუ რესურსების რაოდენობა იზრდება (განიხილეთ -target
არგუმენტის გამოყენება სამიზნე რესურსების რაოდენობის შესაზღუდად)
ეს დოკუმენტი არის მცდელობა სისტემატიურად აღიწეროს Terraform-ის გამოყენების საუკეთესო პრაქტიკები და მოგაწოდოთ მითითებები ყველაზე გავრცელებულ პრობლემებზე, რომლებსაც აწყდებიან Terraform-ის მომხმარებლები.
Terraform არის ერთერთი ძლიერი (თუ არა დღესდღეისობით ყველაზე ძლიერი) და ერთერთი ყველაზე ხშირად გამოყენებადი ხელსაწყო რომელიც გაძლევთ საშუალებას მართოთ ინფრასტრუქტურა როგორც კოდი (IaC). ის საშუალებას გაძლევთ შექმნათ სხვადასხვა რესურსები და არ ზღუდავს მათ ინტეგრაციასა და მხარდაჭერაში.
ამ წიგნში აღწერილი ზოგიერთი ინფორმაცია შეიძლება არ ჩანდეს საუკეთესო პრაქტიკად. მე ვიცი ეს, ვეხმარები მკითხველს გამიჯნოს თუ რა არის საუკეთესო პრაქტიკა და რა არის კიდევ ერთი გზა ამის გამეორებისა.
ამ წიგნის შექმნა დაიწყო მზიან მადრიდში 2018 წელს და ის ხელმისაწვდომია შემდეგ მისამართზე: https://www.terraform-best-practices.com/.
წლების შემდეგ ის განახლდა უფრო აქტუალური პრაქტიკები რომლებიც ხელმისაწვდომი გახდა Terraform 1.0-ის შემდეგ. საბოლოოდ, ეს წიგნი შეიცავს უდაოდ ყველაზე საუკეთესო პრაქტიკებსა და რეკომენდაციებს Terraform-ის მომხმარებლებისათვის.
Please contact me if you want to become a sponsor.
დამეკონტაქტეთ თუ გსურთ დახმარება გამიწიოთ ამ წიგნის თარგმნაში სხვა ენაზე.
მსურს ყოველთვის მივიღო უკუკავშირი და ახალი იდეები საზოგადოებისგან რაც მომცემს საშუალებას განვაახლო წიგნი დროდადრო.
თუ დაინტერესებული ხართ კონკრეტული საკითხებით, გახსენით ან მონიშნეთ issue, რომელიც გსურთ რომ უფრო დეტალურად იქნას განხილული. თუ გაქვთ კონტექნი კონკრეტული მიმართულებით რომელიც გსურთ რომ გააზიაროთ, დაწერეთ და გააკეთეთ pull-request (ამ ეტაპზე არ არის აუცილებელი იდეალურად დაწერილი ტექსტი გქონდეთ).
ეს წიგნი შექმნილია ანტონ ბაბენკოს, სხვადასხვა კონტრიბუტორებისა და მთარგმნელების მიერ.
ეს ნამუშევარი გახლავთ Apache 2 License-ის ქვეშ. იხილეთ LICENSE მეტი ინფორმაციისთვის.
ამ წიგნში მოცემულ ინფორმაციის ვალიდურობაზე მისი ავტორები და კონტრიბუტორები ვერ მოგცემენ გარანტიას. გთხოვთ გაითვალისწინოთ რომ, ამ წიგნში მოყვანილი ინფორმაციას ვრცელდება უფასოდ, არანაირი ხელშეკრულება ან კონტრაქტი არ არსებობს თქვენსა და ამ კონტენტთან/პროექტთან ნებისმიერ ასოცირებულ პირს შორის.ავტორები და კონტრიბუტორები არ იღებენ და ამით უარს აცხადებენ პასუხისმგებლობაზე რომელიმე მხარის წინაშე ნებისმიერი დანაკარგის, დაზიანების ან შეფერხების გამო, რომელიც გამოწვეულია ამ კონტენტში შემავალ, ასოცირებულ ან დაკავშირებულ ინფორმაციაში შეცდომით ან უმოქმედობით, მიუხედავად იმისა, ასეთი შეცდომები ან გამოტოვებები გამოწვეულია დაუდევრობისა, უბედური შემთხვების ან სხვა მიზეზით.
Copyright © 2018-2022 ანტონ ბაბენკო.
ეს Terraform კოდის სტრუქტურის მაგალითი განკუთვნილია დიდი ზომის ინფრასტრუქტურისთვის რომელიც იყენებს შემდეგ კომპონენტებს:
2 AWS ანგარიში
2 რეგიონი
2 გამოყოფილი გარემო (prod
და stage
რესურსების გაზიარების გარეშე). თითოეული გარემო მუშაობს გამოყოფილ AWS ანგარიშში და მოიცავს რესურსებს ორივე რეგიონში
თითოეული გარემო იყენებს თვითნაწერ მოდულს modules/network
რომელიც ლოკალურად დირექტორიაში ინახება.
იდეალურია პროექტებისთვის, სადაც ინფრასტრუქტურა ლოგიკურად არის გამოყოფილი (ცალკე AWS ანგარიშები)
კარგია, როდესაც არ არის საჭირო AWS ანგარიშებს შორის გაზიარებული რესურსების ცვლილება (ერთი გარემო = ერთი AWS ანგარიში = ერთი სახელმწიფო ფაილი)
კარგია, როდესაც არ არის საჭირო გარემოს შორის ცვლილებების ორკესტრირება
კარგია, როდესაც ინფრასტრუქტურის რესურსები განსხვავებულია თითო გარემოში და მიზანმიმართულად და მათი განზოგადება შეუძლებელია (მაგ., ზოგიერთი რესურსი არ არის ერთ გარემოში ან ზოგიერთ რეგიონში)
რაც უფრო იზრდება პროექტი, უფრო რთული იქნება ამ გარემოს ერთმანეთთან განახლების შენარჩუნება. განიხილეთ ინფრასტრუქტურის მოდულების გამოყენება (თაროზე მოთავსებული ან შიდა) განმეორებადი ამოცანებისთვის.
წყარო:
თითოეული გარემო იყენებს მზა ინფრასტრუქტურის მოდულის (alb
) განსხვავებულ ვერსიას რომლის კოდის წყაროც არის
დიდ პროექტში, როგორიც აქ არის აღწერილი, Terragrunt-ის გამოყენების სარგებელი ძალიან თვალსაჩინო ხდება. იხილეთ .