рд╣рдордиреЗ рд╕реЗрд▓реЗрдХреНрдЯреЗрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдкреНрд░рджрд╛рддрд╛ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдЙрддреНрдкрд╛рдж рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░-рдПрдЬрд╝-рдХреЛрдб рдкрджреНрдзрддрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрд╕рд╛рдзрди рдкреНрд░рдмрдВрдзрди рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдкреНрд░рджрд╛рддрд╛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕реЗрд╡рд╛ рд╕рдВрд╕рд╛рдзрди рдкреНрд░рдмрдВрдзрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╡реАрдкреАрд╕реА рд╕реЗрд╡рд╛ рдУрдкрдирд╕реНрдЯреИрдХ рдкрд░ рдмрдирд╛рдИ рдЧрдИ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдУрдкрдирд╕реНрдЯреИрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреНрд▓рд╛рдЙрдб рдХреА рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдореВрд▓ рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╣рдордиреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдПрдкреАрдЖрдИ рдХреЗ рдПрдХ рд╕реЗрдЯ рдореЗрдВ рд▓рд╛рдкрддрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдЬрдЯрд┐рд▓ рд╕рдордЧреНрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдХрд╛рдо рдХреЛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рддрд╛ рд╣реИред рдУрдкрдирд╕реНрдЯреИрдХ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдХреБрдЫ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛рдПрдБ рдкреНрд░рддреНрдпрдХреНрд╖ рдЙрдкрдпреЛрдЧ рд╕реЗ рдмрдВрдж рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ
рд╕реЗрд▓реЗрдХреНрдЯреЗрд▓ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдкреНрд░рджрд╛рддрд╛ рдореЗрдВ рдЕрдм рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡реАрдкреАрд╕реА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ:
- рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдФрд░ рдЙрдирдХреЗ рдХреЛрдЯрд╛;
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдЙрдирдХреА рднреВрдорд┐рдХрд╛рдПрдБ рдФрд░ рдЯреЛрдХрди;
- рдЕрдВрддрд░-рдХреНрд╖реЗрддреНрд░реАрдп рдФрд░ рд╡реАрдЖрд░рдЖрд░рдкреА рд╕рд╣рд┐рдд рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдмрдиреЗрдЯ;
- рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд▓рд╛рдЗрд╕реЗрдВрд╕.
рдкреНрд░рджрд╛рддрд╛ рд╡реАрдкреАрд╕реА рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЧреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рдкреНрд░рджрд╛рддрд╛ рджреЛрдиреЛрдВ рд╣реА рдУрдкрди-рд╕реЛрд░реНрд╕ рд╣реИрдВ, рдЙрдирдХрд╛ рд╡рд┐рдХрд╛рд╕ рдЬреАрдердм рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
- рдкреБрд╕реНрддрдХрд╛рд▓рдп рднрдВрдбрд╛рд░
рдЧреЛ-рд╕реЗрд▓реНрд╡рдкреАрд╕реАрдХреНрд▓рд╛рдЗрдВрдЯ , - рдкреНрд░рджрд╛рддрд╛ рднрдВрдбрд╛рд░
рдЯреЗрд░рд╛рдлреЙрд░реНрдо-рдкреНрд░рджрд╛рддрд╛ рд╕реЗрд▓реЗрдХреНрдЯреЗрд▓ .
рдЕрдиреНрдп рдХреНрд▓рд╛рдЙрдб рд╕рдВрд╕рд╛рдзрдиреЛрдВ, рдЬреИрд╕реЗ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди, рдбрд┐рд╕реНрдХ, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдУрдкрдирд╕реНрдЯреИрдХ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рджреЛрдиреЛрдВ рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд┐рдВрдХ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ:
- рдЪрдпрди рд╕рдВрд╕рд╛рдзрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг:
рдЯреЗрд░рд╛рдлреЙрд░реНрдо-рдкреНрд░рджрд╛рддрд╛ рд╕реЗрд▓реЗрдХреНрдЯреЗрд▓ , - рдУрдкрдирд╕реНрдЯреИрдХ рд╕рдВрд╕рд╛рдзрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг:
рдЯреЗрд░рд╛рдлреЙрд░реНрдо-рдкреНрд░рджрд╛рддрд╛ рдУрдкрдирд╕реНрдЯреИрдХ .
рдкреНрд░рд╛рд░рдВрдн рдХрд░рдирд╛
рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдкреИрдХреЗрдЬ рдХреЗ рдирд┐рд░реНрджреЗрд╢ рдФрд░ рд▓рд┐рдВрдХ рдпрд╣рд╛рдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ
рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рджрд╛рддрд╛ рдХреЛ рдПрдХ рд╕реЗрд▓реЗрдХреНрдЯреЗрд▓ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдЗрд╕рдореЗрдВ рдмрдирд╛рдИ рдЧрдИ рд╣реИ
рд╕реЗрд▓реЗрдХреНрдЯреЗрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╛ рддреИрдпрд╛рд░ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдорд╛рд░реЗ рдЬреАрдердм рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ:
рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕рд╣рд┐рдд рднрдВрдбрд╛рд░ рдХреЛ рджреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
- рдореЙрдбреНрдпреВрд▓, рдЬрд┐рд╕рдореЗрдВ рдЫреЛрдЯреЗ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рдореЙрдбреНрдпреВрд▓ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗрдЯ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддреЗ рд╣реИрдВ;
- рдЙрджрд╛рд╣рд░рдг, рдЬрд┐рд╕рдореЗрдВ рдкрд░рд╕реНрдкрд░ рдЬреБрдбрд╝реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдПрдХ рдкреВрд░реЗ рд╕реЗрдЯ рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ, рд╕реЗрд▓реЗрдХреНрдЯреЗрд▓ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдмрдирд╛рдиреЗ рдФрд░ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдЗрдП рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВред
рд╕реНрдерд╛рдиреАрдп рдбрд┐рд╕реНрдХ рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг
рдЖрдЗрдП рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ, рдПрдХ рднреВрдорд┐рдХрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдПрдХ рд╕реНрдерд╛рдиреАрдп рдбрд┐рд╕реНрдХ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:
рдлрд╛рдЗрд▓ рдореИрдВ vars.tf рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд░реНрд╡рд░ рдЬрд╝реЛрди рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЖрд░рдпреВ-3рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде:
variable "server_vcpus" {
default = 4
}
variable "server_ram_mb" {
default = 8192
}
variable "server_root_disk_gb" {
default = 8
}
variable "server_image_name" {
default = "Ubuntu 18.04 LTS 64-bit"
}
рдлрд╛рдЗрд▓ рдореИрдВ main.tf рд╕реЗрд▓реЗрдХреНрдЯреЗрд▓ рдкреНрд░рджрд╛рддрд╛ рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
provider "selectel" {
token = "${var.sel_token}"
}
рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ SSH рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
module "server_local_root_disk" {
...
server_ssh_key = "${file("~/.ssh/id_rsa.pub")}"
}
рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЖрдк рдПрдХ рдЕрд▓рдЧ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреБрдВрдЬреА рдХреЛ рдлрд╝рд╛рдЗрд▓ рдкрде рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ; рдЖрдк рдорд╛рди рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдЧреЗ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рд╣реИрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ_рд╕рд╛рде_рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ ╨╕ рд╕рд░реНрд╡рд░_рд▓реЛрдХрд▓_рд░реВрдЯ_рдбрд┐рд╕реНрдХ, рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддреЗ рд╣реИрдВред
рдЖрдЗрдП рдЗрди рдореЙрдбреНрдпреВрд▓реЛрдВ рдХреЛ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рджреЗрдЦреЗрдВред
рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдФрд░ рдПрдХ рднреВрдорд┐рдХрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдирд╛
рдкрд╣рд▓рд╛ рдореЙрдбреНрдпреВрд▓ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдФрд░ рдЙрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рднреВрдорд┐рдХрд╛ рд╡рд╛рд▓рд╛ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рддрд╛ рд╣реИ:
рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдУрдкрдирд╕реНрдЯреИрдХ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдФрд░ рдЙрд╕рдХреЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред рдореЙрдбреНрдпреВрд▓ рд╕рд░рд▓ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рддреАрди рд╕рдВрд╕реНрдерд╛рдУрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИ:
- рдЪрдпрди_vpc_project_v2,
- рдЪрдпрди_vpc_user_v2,
- рдЪрдпрди_vpc_role_v2.
рд╕реНрдерд╛рдиреАрдп рдбрд┐рд╕реНрдХ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд░реНрд╡рд░ рдмрдирд╛рдирд╛
рджреВрд╕рд░рд╛ рдореЙрдбреНрдпреВрд▓ рдУрдкрдирд╕реНрдЯреИрдХ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдЬреЛ рд╕реНрдерд╛рдиреАрдп рдбрд┐рд╕реНрдХ рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред
рдЖрдкрдХреЛ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреБрдЫ рддрд░реНрдХреЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП openstack_compute_instance_v2:
resource "openstack_compute_instance_v2" "instance_1" {
...
lifecycle {
ignore_changes = ["image_id"]
}
vendor_options {
ignore_resize_confirmation = true
}
}
рддрд░реНрдХ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░реЗрдВ рдЖрдкрдХреЛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ id рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдПред рд╡реАрдкреАрд╕реА рд╕реЗрд╡рд╛ рдореЗрдВ, рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЫрд╡рд┐рдпрд╛рдВ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдПрдХ рдмрд╛рд░ рдФрд░ рдЙрд╕реА рд╕рдордп рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рдХреА рдЬрд╛рддреА рд╣реИрдВ id рднреА рдмрджрд▓рддрд╛ рд╣реИ. рдпрд╣ рдУрдкрдирд╕реНрдЯреИрдХ рдШрдЯрдХ - рдЧреНрд▓рд╛рдВрд╕ рдХреА рдЦрд╝рд╛рд╕рд┐рдпрдд рдХреЗ рдХрд╛рд░рдг рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдЗрдХрд╛рдИ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рд╕рд░реНрд╡рд░ рдпрд╛ рдбрд┐рд╕реНрдХ рдХреЛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рддрд░реНрдХ рд╣реИ рдЫрд╡рд┐_рдЖрдИрдбреА рдкреНрд░рдпреБрдХреНрдд id рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЫрд╡рд┐, рдлрд┐рд░ рдЙрд╕ рдЫрд╡рд┐ рдХреЗ рдЕрджреНрдпрддрди рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЯреЗрд░рд╛рдлрд╝реЙрд░реНрдо рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдиреЗ рд╕реЗ рд╕рд░реНрд╡рд░ рдпрд╛ рдбрд┐рд╕реНрдХ рдлрд┐рд░ рд╕реЗ рдмрди рдЬрд╛рдПрдЧреАред рдПрдХ рддрд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░реЗрдВ рдЖрдкрдХреЛ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдиреЛрдЯ: рддрд░реНрдХ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░реЗрдВ рдХрд╛рдлреА рд╕рдордп рдкрд╣рд▓реЗ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рдерд╛:
рддрд░реНрдХ рдЕрдирджреЗрдЦрд╛_рдЖрдХрд╛рд░_рдкреБрд╖реНрдЯрд┐ рд╕реНрдерд╛рдиреАрдп рдбрд┐рд╕реНрдХ, рдХреЛрд░, рдпрд╛ рд╕рд░реНрд╡рд░ рдореЗрдореЛрд░реА рдХрд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХред рдРрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди рдПрдХ рдЕрдиреБрд░реЛрдз рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдУрдкрдирд╕реНрдЯреИрдХ рдиреЛрд╡рд╛ рдШрдЯрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЖрдХрд╛рд░ рдмрджрд▓реЗрдВ. рдЕрдиреБрд░реЛрдз рдХреЗ рдмрд╛рдж рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдиреЛрд╡рд╛ рдЖрдХрд╛рд░ рдмрджрд▓реЗрдВ рд╕рд░реНрд╡рд░ рдХреЛ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ рд╕рддреНрдпрд╛рдкрд┐рдд_рдЖрдХрд╛рд░ рдмрджрд▓реЗрдВ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреБрд╖реНрдЯрд┐ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдиреЛрд╡рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрд░рд╡рд╛рдЗрдпреЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рди рдХрд░реЗред
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рддрд░реНрдХ рдЯреЗрд░рд╛рдлрд╝реЙрд░реНрдо рдХреЛ рд╕реНрдерд┐рддрд┐ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рд╕рддреНрдпрд╛рдкрд┐рдд_рдЖрдХрд╛рд░ рдмрджрд▓реЗрдВ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдФрд░ рдЗрд╕рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж рд╕рд░реНрд╡рд░ рдХреЗ рд╕рдХреНрд░рд┐рдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд░рд╣реЗрдВред рддрд░реНрдХ рдУрдкрдирд╕реНрдЯреИрдХ рдЯреЗрд░рд╛рдлрд╝реЙрд░реНрдо рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг 1.10.0 рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИ:
рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рдирд╛
рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рджрд╛рддрд╛ рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдФрд░ рдУрдкрдирд╕реНрдЯреИрдХ рдкреНрд░рджрд╛рддрд╛ рд╕реЗрд▓реЗрдХреНрдЯреЗрд▓ рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдП рдмрд┐рдирд╛, рдЗрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ . рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕реА рдХрд╛рд░рдг рд╕реЗ рд╣рдо рдХреЗрд╡рд▓ рдХрдорд╛рдВрдб рдирд╣реАрдВ рдЪрд▓рд╛ рд╕рдХрддреЗ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд▓рд╛рдЧреВ рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдЕрдВрджрд░ред рд╣рдореЗрдВ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рд▓рд╛рдЧреВ рдХрд░реЗрдВ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ_рд╕рд╛рде_рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдмрд╛рдХреА рд╕рдм рдЪреАрдЬрд╝реЛрдВ рдХреЗ рд▓рд┐рдПред
рдиреЛрдЯ: рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЕрднреА рддрдХ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рд╣реБрдИ рд╣реИ, рдЖрдк рдЬреАрдердм рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдБ
$ ls
README.md main.tf vars.tf
рд╣рдо рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░рддреЗ рд╣реИрдВ:
$ terraform init
рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдЕрдкрдиреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рднреА рдореЙрдбреНрдпреВрд▓ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдореЙрдбреНрдпреВрд▓ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ_рд╕рд╛рде_рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛. рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрди рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЗ рд▓рд┐рдП рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдорд╛рди рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВ:
- sel_account рдЖрдкрдХреЗ рд╕реЗрд▓реЗрдХреНрдЯреЗрд▓ рдЦрд╛рддрд╛ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде;
- sel_token рд╕реЗрд▓реЗрдХреНрдЯреЗрд▓ рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреА рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде;
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдУрдкрдирд╕реНрдЯреИрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рдеред
рдкрд╣рд▓реЗ рджреЛ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЗ рдорд╛рди рдпрд╣реАрдВ рд╕реЗ рд▓рд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП
рдЕрдВрддрд┐рдо рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЗ рд▓рд┐рдП, рдЖрдк рдХрд┐рд╕реА рднреА рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдЖ рд╕рдХрддреЗ рд╣реИрдВред
рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдорд╛рдиреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдПрд╕рдИрдПрд▓_рдЦрд╛рддрд╛, SEL_TOKEN ╨╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдЖрджреЗрд╢ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ:
$ env
TF_VAR_sel_account=SEL_ACCOUNT
TF_VAR_sel_token=SEL_TOKEN
TF_VAR_user_password=USER_PASSWORD
terraform apply -target=module.project_with_user
рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЯреЗрд░рд╛рдлреЙрд░реНрдо рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ рд╡рд╣ рдХреМрди рд╕реЗ рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдФрд░ рдкреБрд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП рдкреВрдЫреЗрдЧрд╛:
Plan: 3 to add, 0 to change, 0 to destroy.
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: yes
рдПрдХ рдмрд╛рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рднреВрдорд┐рдХрд╛ рдмрди рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рд╢реЗрд╖ рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
$ env
TF_VAR_sel_account=SEL_ACCOUNT
TF_VAR_sel_token=SEL_TOKEN
TF_VAR_user_password=USER_PASSWORD
terraform apply
рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рддреЗ рд╕рдордп, рдмрд╛рд╣рд░реА рдЖрдИрдкреА рдкрддреЗ рдХреЗ рд╕рд╛рде рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ рдЬрд╣рд╛рдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╕рд░реНрд╡рд░ рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рд╣реЛрдЧрд╛:
module.server_local_root_disk.openstack_networking_floatingip_associate_v2.association_1: Creating...
floating_ip: "" => "x.x.x.x"
рдЖрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЖрдИрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрд╕рдПрд╕рдПрдЪ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдирд╛рдИ рдЧрдИ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдВрдкрд╛рджрди рд╕рдВрд╕рд╛рдзрди
рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЙрдиреНрд╣реЗрдВ рд╕рдВрд╢реЛрдзрд┐рдд рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдорд╛рдиреЛрдВ рдХреЛ рдмрджрд▓рдХрд░ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдХреЛрд░ рдФрд░ рдореЗрдореЛрд░реА рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рд╛рдПрдВ рд╕рд░реНрд╡рд░_vcpus ╨╕ рд╕рд░реНрд╡рд░_рд░реИрдо_рдПрдордмреА рдлрд╛рдЗрд▓ рдореИрдВ рдЙрджрд╛рд╣рд░рдг/vpc/server_local_root_disk/main.tf:
- server_vcpus = "${var.server_vcpus}"
- server_ram_mb = "${var.server_ram_mb}"
+ server_vcpus = 8
+ server_ram_mb = 10240
рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд╛рдБрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдВрдЧреЗ:
$ env
TF_VAR_sel_account=SEL_ACCOUNT
TF_VAR_sel_token=SEL_TOKEN
TF_VAR_user_password=USER_PASSWORD
terraform plan
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдиреЗ рд╕рдВрд╕рд╛рдзрди рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдпрд╛ openstack_compute_instance_v2 ╨╕ openstack_compute_flavor_v2.
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрдирд╛рдИ рдЧрдИ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЛ рд░реАрдмреВрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдирдИ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд▓рд╛рдЧреВ, рдЬрд┐рд╕реЗ рд╣рдо рдкрд╣рд▓реЗ рд╣реА рд▓реЙрдиреНрдЪ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВред
рд╕рднреА рдирд┐рд░реНрдорд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
рд╣рдорд╛рд░реЗ рдпрд╣рд╛рдВ
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рдиреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рдЕрдЧрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВ, рд╣рдо рдкрд╣рд▓реЗ рдмрдирд╛рдП рдЧрдП рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░ рджреЗрдВрдЧреЗред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдореВрд▓ рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
$ env
TF_VAR_sel_account=SEL_ACCOUNT
TF_VAR_sel_token=SEL_TOKEN
TF_VAR_user_password=USER_PASSWORD
terraform destroy -target=module.server_local_root_disk
рдлрд┐рд░ рд╕реЗрд▓реЗрдХреНрдЯреЗрд▓ рд╡реАрдкреАрд╕реА рдПрдкреАрдЖрдИ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:
$ env
TF_VAR_sel_account=SEL_ACCOUNT
TF_VAR_sel_token=SEL_TOKEN
TF_VAR_user_password=USER_PASSWORD
terraform destroy -target=module.project_with_user
рджреЛрдиреЛрдВ рд╣реА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЖрдкрдХреЛ рд╕рднреА рдСрдмреНрдЬреЗрдХреНрдЯреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:
Do you really want to destroy all resources?
Terraform will destroy all your managed infrastructure, as shown above.
There is no undo. Only 'yes' will be accepted to confirm.
Enter a value: yes
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╣реИ
рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддрд╛ рд╣реИ, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рднреВрдорд┐рдХрд╛ рд╡рд╛рд▓рд╛ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдмрдврд╝рд╛рддрд╛ рд╣реИред рдлрд╛рдЗрд▓ рдореИрдВ vars.tf рдЖрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдиреЛрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛, рдЙрдирдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрд╕реНрдХрд░рдг, рдЖрджрд┐ред
рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рдорд╛рди рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╣рдо рдореЙрдбреНрдпреВрд▓ рдЖрд░рдВрдн рдХрд░рдирд╛ рдФрд░ рдореЙрдбреНрдпреВрд▓ рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ_рд╕рд╛рде_рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдФрд░ рдлрд┐рд░ рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдмрдирд╛рдирд╛:
$ terraform init
$ env
TF_VAR_sel_account=SEL_ACCOUNT
TF_VAR_sel_token=SEL_TOKEN
TF_VAR_user_password=USER_PASSWORD
terraform apply -target=module.project_with_user
$ env
TF_VAR_sel_account=SEL_ACCOUNT
TF_VAR_sel_token=SEL_TOKEN
TF_VAR_user_password=USER_PASSWORD
terraform apply
рд╣рдо рдУрдкрдирд╕реНрдЯреИрдХ рдореИрдЧреНрдирдо рдШрдЯрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдкреНрд░рдмрдВрдзрди рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВрдЧреЗред рдЖрдк рд╣рдорд╛рд░реЗ рдХрд┐рд╕реА рдПрдХ рдореЗрдВ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдХреНрд▓рд╕реНрдЯрд░ рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╕рдордп, рдбрд┐рд╕реНрдХ рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЗрдВ рдмрдирд╛рдИ рдЬрд╛рдПрдВрдЧреА рдФрд░ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдШрдЯрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рддреИрдпрд╛рд░реА рдореЗрдВ рд▓рдЧрднрдЧ 4 рдорд┐рдирдЯ рд▓рдЧрддреЗ рд╣реИрдВ, рдЗрд╕ рджреМрд░рд╛рди рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛:
module.kubernetes_cluster.openstack_containerinfra_cluster_v1.cluster_1: Still creating... (3m0s elapsed)
рдПрдХ рдмрд╛рд░ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рдиреЗ рдкрд░, рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд╕рдВрдХреЗрдд рджреЗрдЧрд╛ рдХрд┐ рдХреНрд▓рд╕реНрдЯрд░ рддреИрдпрд╛рд░ рд╣реИ рдФрд░ рдЗрд╕рдХреА рдЖрдИрдбреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛:
module.kubernetes_cluster.openstack_containerinfra_cluster_v1.cluster_1: Creation complete after 4m20s (ID: 3c8...)
Apply complete! Resources: 6 added, 0 changed, 0 destroyed.
рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд░реНрдорд┐рдд рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ Kubectl рдЖрдкрдХреЛ рдХреНрд▓рд╕реНрдЯрд░ рдПрдХреНрд╕реЗрд╕ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ рдЦрд╛рддреЗ рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдирд╛рдП рдЧрдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдЬрд╛рдПрдВ:
рдЕрдЧрд▓рд╛, рдЬреИрд╕реЗ рд▓рд┐рдВрдХ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ
рд▓реЙрдЧрд┐рди рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдЙрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬреЛ рдЖрдкрдиреЗ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдирд╛рдпрд╛ рдерд╛ред рдЕрдЧрд░ рдЖрдкрдиреЗ рдзреЛрдЦрд╛ рдирд╣реАрдВ рджрд┐рдпрд╛ рд╣реИ vars.tf рдпрд╛ main.tf рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдирд╛рдо рд╣реЛрдЧрд╛ tf_user. рдЖрдкрдХреЛ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЗ рдорд╛рди рдХреЛ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ TF_VAR_рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛_рдкрд╛рд╕рд╡рд░реНрдб, рдЬреЛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд▓рд╛рдЧреВ рдкрд╣рд▓реЗред
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдЕрдВрджрд░ рдЖрдкрдХреЛ рдЯреИрдм рдкрд░ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛ Kubernetes:
рдпрд╣реАрдВ рдкрд░ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдерд┐рдд рд╣реИред рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ Kubectl рдЖрдк "рдПрдХреНрд╕реЗрд╕" рдЯреИрдм рдкрд░ рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдЗрдВрд╕реНрдЯрд╛рд▓реЗрд╢рди рдирд┐рд░реНрджреЗрд╢ рдЙрд╕реА рдЯреИрдм рдкрд░ рд╕реНрдерд┐рдд рд╣реИрдВред Kubectl рдФрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ config.yaml.
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж Kubectl рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдХреНрдпреВрдмрдХреЛрдиреНрдлрд┐рдЧ рдЖрдк рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
$ kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-9578f5c87-g6bjf 1/1 Running 0 8m
kube-system coredns-9578f5c87-rvkgd 1/1 Running 0 6m
kube-system heapster-866fcbc879-b6998 1/1 Running 0 8m
kube-system kube-dns-autoscaler-689688988f-8cxhf 1/1 Running 0 8m
kube-system kubernetes-dashboard-7bdb5d4cd7-jcjq9 1/1 Running 0 8m
kube-system monitoring-grafana-84c97bb64d-tc64b 1/1 Running 0 8m
kube-system monitoring-influxdb-7c8ccc75c6-dzk5f 1/1 Running 0 8m
kube-system node-exporter-tf-cluster-rz6nggvs4va7-minion-0 1/1 Running 0 8m
kube-system node-exporter-tf-cluster-rz6nggvs4va7-minion-1 1/1 Running 0 8m
kube-system openstack-cloud-controller-manager-8vrmp 1/1 Running 3 8m
prometeus-monitoring grafana-76bcb7ffb8-4tm7t 1/1 Running 0 8m
prometeus-monitoring prometheus-75cdd77c5c-w29gb 1/1 Running 0 8m
рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдлрд╛рдЗрд▓ рдореИрдВ main.tf рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ:
cluster_node_count = "${var.cluster_node_count}"
рдпрд╣ рдорд╛рди рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ vars.tf:
variable "cluster_node_count" {
default = 2
}
рдЖрдк рдпрд╛ рддреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ vars.tf, рдпрд╛ рд╕реАрдзреЗ рдЖрд╡рд╢реНрдпрдХ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ main.tf:
- cluster_node_count = "${var.cluster_node_count}"
+ cluster_node_count = 3
рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдерд╛, рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд▓рд╛рдЧреВ:
$ env
TF_VAR_sel_account=SEL_ACCOUNT
TF_VAR_sel_token=SEL_TOKEN
TF_VAR_user_password=USER_PASSWORD
terraform apply
рдЬрдм рдиреЛрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрджрд▓рддреА рд╣реИ, рддреЛ рдХреНрд▓рд╕реНрдЯрд░ рдЙрдкрд▓рдмреНрдз рд░рд╣реЗрдЧрд╛ред рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдиреЛрдб рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЗрд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдмрд┐рдирд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
tf-cluster-rz6nggvs4va7-master-0 Ready,SchedulingDisabled master 8m v1.12.4
tf-cluster-rz6nggvs4va7-minion-0 Ready <none> 8m v1.12.4
tf-cluster-rz6nggvs4va7-minion-1 Ready <none> 8m v1.12.4
tf-cluster-rz6nggvs4va7-minion-2 Ready <none> 3m v1.12.4
рдирд┐рд╖реНрдХрд░реНрд╖
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╣рдо рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдореБрдЦреНрдп рддрд░реАрдХреЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реБрдП
рд╕реЗрд▓реЗрдХреНрдЯреЗрд▓ рдЯреЗрд░рд╛рдлрд╝реЙрд░реНрдо рдкреНрд░рджрд╛рддрд╛ рдореЗрдВ рдкрд╛рдП рдЧрдП рдХрд┐рд╕реА рднреА рдмрдЧ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ
рд╕реНрд░реЛрдд: www.habr.com