Terraform เชชเซเชฐเชฆเชพเชคเชพ Selectel

Terraform เชชเซเชฐเชฆเชพเชคเชพ Selectel

เช…เชฎเซ‡ Selectel เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชเช• เช…เชงเชฟเช•เซƒเชค เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ เชชเซเชฐเซ‹เชตเชพเชˆเชกเชฐ เชฒเซ‹เชจเซเชš เช•เชฐเซเชฏเซเช‚ เช›เซ‡. เช† เช‰เชคเซเชชเชพเชฆเชจ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“เชจเซ‡ เช‡เชจเซเชซเซเชฐเชพเชธเซเชŸเซเชฐเช•เซเชšเชฐ-เชเช-เช•เซ‹เชก เชชเชฆเซเชงเชคเชฟ เชฆเซเชตเชพเชฐเชพ เชธเช‚เชธเชพเชงเชจ เชธเช‚เชšเชพเชฒเชจเชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เชชเซเชฐเชฆเชพเชคเชพ เชนเชพเชฒเชฎเชพเช‚ เชธเซ‡เชตเชพ เชธเช‚เชธเชพเชงเชจ เชธเช‚เชšเชพเชฒเชจเชจเซ‡ เชธเชฎเชฐเซเชฅเชจ เช†เชชเซ‡ เช›เซ‡ "เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชชเซเชฐเชพเช‡เชตเซ‡เชŸ เช•เซเชฒเชพเช‰เชก" (เชคเซเชฏเชพเชฐเชฌเชพเชฆ VPC เชคเชฐเซ€เช•เซ‡ เช“เชณเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡). เชญเชตเชฟเชทเซเชฏเชฎเชพเช‚, เช…เชฎเซ‡ Selectel เชฆเซเชตเชพเชฐเชพ เชชเซ‚เชฐเซ€ เชชเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเชคเซ€ เช…เชจเซเชฏ เชธเซ‡เชตเชพเช“ เชฎเชพเชŸเซ‡ เชธเช‚เชธเชพเชงเชจ เชธเช‚เชšเชพเชฒเชจ เช‰เชฎเซ‡เชฐเชตเชพเชจเซ€ เชฏเซ‹เชœเชจเชพ เชฌเชจเชพเชตเซ€เช เช›เซ€เช.

เชœเซ‡เชฎ เชคเชฎเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชœเชพเชฃเซ‹ เช›เซ‹, VPC เชธเซ‡เชตเชพ OpenStack เชชเชฐ เชฌเชจเซ‡เชฒ เช›เซ‡. เชœเซ‹เช•เซ‡, เช“เชชเชจเชธเซเชŸเซ…เช• เชชเชฌเซเชฒเชฟเช• เช•เซเชฒเชพเช‰เชกเชจเซ‡ เชธเซ‡เชตเชพ เช†เชชเชตเชพ เชฎเชพเชŸเซ‡ เชฎเซ‚เชณ เชธเชพเชงเชจเซ‹ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชคเซเช‚ เชจเชฅเซ€ เชคเซ‡ เชนเช•เซ€เช•เชคเชจเซ‡ เช•เชพเชฐเชฃเซ‡, เช…เชฎเซ‡ เชตเชงเชพเชฐเชพเชจเชพ API เชจเชพ เชธเซ‡เชŸเชฎเชพเช‚ เช—เซเชฎ เชฅเชฏเซ‡เชฒ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพเชจเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เซ€ เช›เซ‡ เชœเซ‡ เชœเชŸเชฟเชฒ เชธเช‚เชฏเซเช•เซเชค เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชจเชพ เชธเช‚เชšเชพเชฒเชจเชจเซ‡ เชธเชฐเชณ เชฌเชจเชพเชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เช•เชพเชฐเซเชฏเชจเซ‡ เชตเชงเซ เช…เชจเซเช•เซ‚เชณ เชฌเชจเชพเชตเซ‡ เช›เซ‡. OpenStack เชฎเชพเช‚ เช‰เชชเชฒเชฌเซเชง เช•เซ‡เชŸเชฒเซ€เช• เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เชธเซ€เชงเชพ เช‰เชชเชฏเซ‹เช—เชฅเซ€ เชฌเช‚เชง เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡ เชฎเชพเชฐเชซเชคเซ‡ เช‰เชชเชฒเชฌเซเชง เช›เซ‡ เช…เชฎเชพเชฐเชพ API.

Selectel Terraform เชชเซเชฐเชฆเชพเชคเชพเชฎเชพเช‚ เชนเชตเซ‡ เชจเซ€เชšเซ‡เชจเชพ VPC เชธเช‚เชธเชพเชงเชจเซ‹เชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เชถเชพเชฎเซ‡เชฒ เช›เซ‡:

  • เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เช…เชจเซ‡ เชคเซ‡เชฎเชจเชพ เช•เซเชตเซ‹เชŸเชพ;
  • เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“, เชคเซ‡เชฎเชจเซ€ เชญเซ‚เชฎเชฟเช•เชพเช“ เช…เชจเซ‡ เชŸเซ‹เช•เชจเซเชธ;
  • เชธเชพเชฐเซเชตเชœเชจเชฟเช• เชธเชฌเชจเซ‡เชŸ, เช•เซเชฐเซ‹เชธ-เชฐเชฟเชœเชจเชฒ เช…เชจเซ‡ VRRP เชธเชนเชฟเชค;
  • เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เชฒเชพเช‡เชธเชจเซเชธ.

VPC API เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเซเชฐเชฆเชพเชคเชพ เช…เชฎเชพเชฐเซ€ เชธเชพเชฐเซเชตเชœเชจเชฟเช• Go โ€‹โ€‹เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡. เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เช…เชจเซ‡ เชชเซเชฐเชฆเชพเชคเชพ เชฌเช‚เชจเซ‡ เช“เชชเชจ-เชธเซ‹เชฐเซเชธ เช›เซ‡, เชคเซ‡เชฎเชจเซ‹ เชตเชฟเช•เชพเชธ เช—เซ€เชฅเชฌ เชชเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡:

เช…เชจเซเชฏ เช•เซเชฒเชพเช‰เชก เชธเช‚เชธเชพเชงเชจเซ‹, เชœเซ‡เชฎ เช•เซ‡ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเซ‹, เชกเชฟเชธเซเช•, เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เช•เซเชฒเชธเซเชŸเชฐเซ‹เชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ OpenStack Terraform เชชเซเชฐเชฆเชพเชคเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชฌเช‚เชจเซ‡ เชชเซเชฐเชฆเชพเชคเชพเช“ เชฎเชพเชŸเซ‡ เชธเชคเซเชคเชพเชตเชพเชฐ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ‹ เชจเซ€เชšเซ‡เชจเซ€ เชฒเชฟเช‚เช•เซเชธ เชชเชฐ เช‰เชชเชฒเชฌเซเชง เช›เซ‡:

เชชเซเชฐเชพเชฐเช‚เชญ

เชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ (เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เชชเซ‡เช•เซ‡เชœเซ‹เชจเซ€ เชธเซ‚เชšเชจเชพเช“ เช…เชจเซ‡ เชฒเชฟเช‚เช•เซเชธ เช…เชนเซ€เช‚ เชฎเชณเซ€ เชถเช•เซ‡ เช›เซ‡. เชธเชคเซเชคเชพเชตเชพเชฐ เชตเซ‡เชฌเชธเชพเช‡เชŸ).

เช“เชชเชฐเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชชเซเชฐเชฆเชพเชคเชพเชจเซ‡ Selectel API เช•เซ€เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เชœเซ‡ เช†เชฎเชพเช‚ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡ เชเช•เชพเช‰เชจเซเชŸ เช•เช‚เชŸเซเชฐเซ‹เชฒ เชชเซ‡เชจเชฒเซเชธ.

เชธเชฟเชฒเซ‡เช•เซเชŸเซ‡เชฒ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเชพ เชฎเซ‡เชจเชฟเชซเซ‡เชธเซเชŸเซเชธ เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช…เชฅเชตเชพ เช…เชฎเชพเชฐเชพ เช—เซ€เชฅเชฌ เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚ เช‰เชชเชฒเชฌเซเชง เชคเซˆเชฏเชพเชฐ เช‰เชฆเชพเชนเชฐเชฃเซ‹เชจเชพ เชธเซ‡เชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡: เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ-เช‰เชฆเชพเชนเชฐเชฃเซ‹.

เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชธเชพเชฅเซ‡ เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€ เชฌเซ‡ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เช“เชฎเชพเช‚ เชตเชฟเชญเชพเชœเชฟเชค เชฅเชฏเซ‡เชฒ เช›เซ‡:

  • เชฎเซ‹เชกเซเชฏเซเชฒเซ‹, เชจเชพเชจเชพ เชชเซเชจเชƒเช‰เชชเชฏเซ‹เช—เซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเชพ เชฎเซ‹เชกเซเชฏเซเชฒเซ‹ เชงเชฐเชพเชตเซ‡ เช›เซ‡ เชœเซ‡ เชชเชฐเชฟเชฎเชพเชฃเซ‹เชจเซ‹ เชธเชฎเซ‚เชน เช‡เชจเชชเซเชŸ เชคเชฐเซ€เช•เซ‡ เชฒเซ‡ เช›เซ‡ เช…เชจเซ‡ เชธเช‚เชธเชพเชงเชจเซ‹เชจเชพ เชจเชพเชจเชพ เชธเชฎเซ‚เชนเชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเซ‡ เช›เซ‡;
  • เช‰เชฆเชพเชนเชฐเชฃเซ‹, เช‡เชจเซเชŸเชฐเช•เชจเซ‡เช•เซเชŸเซ‡เชก เชฎเซ‹เชกเซเชฏเซเชฒเซ‹เชจเชพ เชธเช‚เชชเซ‚เชฐเซเชฃ เชธเซ‡เชŸเชจเชพ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชงเชฐเชพเชตเซ‡ เช›เซ‡.

เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซเชฏเชพ เชชเช›เซ€, Selectel API เช•เซ€ เชฌเชจเชพเชตเซ€เชจเซ‡ เช…เชจเซ‡ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชธเชพเชฅเซ‡ เชชเซ‹เชคเชพเชจเซ‡ เชชเชฐเชฟเชšเชฟเชค เช•เชฐเซเชฏเชพ เชชเช›เซ€, เชšเชพเชฒเซ‹ เชตเซเชฏเชตเชนเชพเชฐเซ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชคเชฐเชซ เช†เช—เชณ เชตเชงเซ€เช.

เชธเซเชฅเชพเชจเชฟเช• เชกเชฟเชธเซเช• เชธเชพเชฅเซ‡ เชธเชฐเซเชตเชฐ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ

เชšเชพเชฒเซ‹ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เชœเซ‹เชˆเช, เชญเซ‚เชฎเชฟเช•เชพ เชธเชพเชฅเซ‡เชจเซ‹ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เช…เชจเซ‡ เชธเซเชฅเชพเชจเชฟเช• เชกเชฟเชธเซเช• เชธเชพเชฅเซ‡ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจ: terraform-examples/examples/vpc/server_local_root_disk.

เชซเชพเชˆเชฒเชฎเชพเช‚ vars.tf เชฎเซ‹เชกเซเชฏเซเชฒเซ‹เชจเซ‡ เช•เซ‰เชฒ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเชพ เชคเชฎเชพเชฎ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชตเชฐเซเชฃเชตเซ‡เชฒ เช›เซ‡. เชคเซ‡เชฎเชพเช‚เชจเชพ เช•เซ‡เชŸเชฒเชพเช•เชฎเชพเช‚ เชกเชฟเชซเซ‰เชฒเซเชŸ เชฎเซ‚เชฒเซเชฏเซ‹ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชธเชฐเซเชตเชฐ เชเซ‹เชจเชฎเชพเช‚ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ ru-3a เชจเซ€เชšเซ‡เชจเชพ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชธเชพเชฅเซ‡:

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")}"
}

เชœเซ‹ เชœเชฐเซ‚เชฐเซ€ เชนเซ‹เชฏ, เชคเซ‹ เชคเชฎเซ‡ เชเช• เช…เชฒเช— เชธเชพเชฐเซเชตเชœเชจเชฟเช• เช•เซ€เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เช•เซ€เชจเซ‡ เชซเชพเช‡เชฒ เชชเชพเชฅ เชคเชฐเซ€เช•เซ‡ เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€; เชคเชฎเซ‡ เชธเซเชŸเซเชฐเชฟเช‚เช— เชคเชฐเซ€เช•เซ‡ เชฎเซ‚เชฒเซเชฏ เชชเชฃ เช‰เชฎเซ‡เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เช†เช—เชณ เช† เชซเชพเชˆเชฒเชฎเชพเช‚ เชฎเซ‹เชกเซเชฏเซเชฒเซ‹ เชฒเซ‹เชจเซเชš เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เช›เซ‡ Project_with_user ะธ เชธเชฐเซเชตเชฐ_เชฒเซ‹เช•เชฒ_เชฐเซ‚เชŸ_เชกเชฟเชธเซเช•, เชœเซ‡ เชœเชฐเซ‚เชฐเซ€ เชธเช‚เชธเชพเชงเชจเซ‹เชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเซ‡ เช›เซ‡.

เชšเชพเชฒเซ‹ เช† เชฎเซ‹เชกเซเชฏเซเชฒเซ‹เชจเซ‡ เชตเชงเซ เชตเชฟเช—เชคเชฎเชพเช‚ เชœเซ‹เชˆเช.

เชญเซ‚เชฎเชฟเช•เชพ เชธเชพเชฅเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เช…เชจเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชฌเชจเชพเชตเชตเซ‹

เชชเซเชฐเชฅเชฎ เชฎเซ‹เชกเซเชฏเซเชฒ เชเช• เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เช…เชจเซ‡ เชคเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ เชญเซ‚เชฎเชฟเช•เชพ เชธเชพเชฅเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชฌเชจเชพเชตเซ‡ เช›เซ‡: terraform-examples/modules/vpc/project_with_user.

เชฌเชจเชพเชตเซ‡เชฒ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ OpenStack เชฎเชพเช‚ เชฒเซ‰เช— เช‡เชจ เช•เชฐเซ€ เชถเช•เชถเซ‡ เช…เชจเซ‡ เชคเซ‡เชจเชพ เชธเช‚เชธเชพเชงเชจเซ‹เชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเซ€ เชถเช•เชถเซ‡. เชฎเซ‹เชกเซเชฏเซเชฒ เชธเชฐเชณ เช›เซ‡ เช…เชจเซ‡ เชฎเชพเชคเซเชฐ เชคเซเชฐเชฃ เชธเช‚เชธเซเชฅเชพเช“เชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเซ‡ เช›เซ‡:

  • Selectel_vpc_project_v2,
  • Selectel_vpc_user_v2,
  • Selectel_vpc_role_v2.

เชธเซเชฅเชพเชจเชฟเช• เชกเชฟเชธเซเช• เชธเชพเชฅเซ‡ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชธเชฐเซเชตเชฐ เชฌเชจเชพเชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เชฌเซ€เชœเซเช‚ เชฎเซ‹เชกเซเชฏเซเชฒ OpenStack เช‘เชฌเซเชœเซ‡เช•เซเชŸเชจเชพ เชธเช‚เชšเชพเชฒเชจ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡ เชธเซเชฅเชพเชจเชฟเช• เชกเชฟเชธเซเช• เชธเชพเชฅเซ‡ เชธเชฐเซเชตเชฐ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡.

เชคเชฎเชพเชฐเซ‡ เช•เซ‡เชŸเชฒเซ€เช• เชฆเชฒเซ€เชฒเซ‹ เชชเชฐ เชงเซเชฏเชพเชจ เช†เชชเชตเซเช‚ เชœเซ‹เชˆเช เชœเซ‡ เชธเช‚เชธเชพเชงเชจ เชฎเชพเชŸเซ‡ เช† เชฎเซ‹เชกเซเชฏเซเชฒเชฎเชพเช‚ เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เช›เซ‡ openstack_compute_instance_v2:

resource "openstack_compute_instance_v2" "instance_1" {
  ...

  lifecycle {
    ignore_changes = ["image_id"]
  }

  vendor_options {
    ignore_resize_confirmation = true
  }
}

เชฆเชฒเซ€เชฒ เช…เชตเช—เชฃเซ‹_เชซเซ‡เชฐเชซเชพเชฐเซ‹ เชคเชฎเชจเซ‡ เชฒเช•เซเชทเชฃ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เช…เชตเช—เชฃเชตเชพ เชฎเชพเชŸเซ‡ เชชเชฐเชตเชพเชจเช—เซ€ เช†เชชเซ‡ เช›เซ‡ id เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชตเชชเชฐเชพเชคเซ€ เชˆเชฎเซ‡เชœ เชฎเชพเชŸเซ‡. VPC เชธเซ‡เชตเชพเชฎเชพเช‚, เชฎเซ‹เชŸเชพเชญเชพเช—เชจเซ€ เชœเชพเชนเซ‡เชฐ เช›เชฌเซ€เช“ เช…เช เชตเชพเชกเชฟเชฏเชพเชฎเชพเช‚ เชเช•เชตเชพเชฐ เช†เชชเชฎเซ‡เชณเซ‡ เช…เชชเชกเซ‡เชŸ เชฅเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡ เชœ เชธเชฎเชฏเซ‡ เชคเซ‡เชฎเชจเซ€ id เชชเชฃ เชฌเชฆเชฒเชพเชฏ เช›เซ‡. เช† OpenStack เช˜เชŸเช• - Glance เชจเซ€ เชตเชฟเชถเชฟเชทเซเชŸเชคเชพเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เช›เชฌเซ€เช“เชจเซ‡ เช…เชชเชฐเชฟเชตเชฐเซเชคเชจเชถเซ€เชฒ เชเชจเซเชŸเชฟเชŸเซ€ เช—เชฃเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เชœเซ‹ เชคเชฎเซ‡ เชนเชพเชฒเชจเชพ เชธเชฐเซเชตเชฐ เช…เชฅเชตเชพ เชกเชฟเชธเซเช•เชจเซ‡ เชฌเชจเชพเชตเซ€ เชฐเชนเซเชฏเชพ เช›เซ‹ เช…เชฅเชตเชพ เชธเช‚เชถเซ‹เชงเชฟเชค เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ‹ เชœเซ‡เชจเซ€ เชฆเชฒเซ€เชฒ เช›เซ‡ image_id เชตเชชเชฐเชพเชฏ เช›เซ‡ id เชธเชพเชฐเซเชตเชœเชจเชฟเช• เช‡เชฎเซ‡เชœ, เชชเช›เซ€ เชคเซ‡ เช›เชฌเซ€ เช…เชชเชกเซ‡เชŸ เชฅเชฏเชพ เชชเช›เซ€, เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ เชฎเซ‡เชจเชฟเชซเซ‡เชธเซเชŸเชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชšเชฒเชพเชตเชตเชพเชฅเซ€ เชธเชฐเซเชตเชฐ เช…เชฅเชตเชพ เชกเชฟเชธเซเช• เชซเชฐเซ€เชฅเซ€ เชฌเชจเชถเซ‡. เชฆเชฒเซ€เชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช…เชตเช—เชฃเซ‹_เชซเซ‡เชฐเชซเชพเชฐเซ‹ เชคเชฎเชจเซ‡ เช†เชตเซ€ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟ เชŸเชพเชณเชตเชพ เชฆเซ‡ เช›เซ‡.

เชจเซ‹เช‚เชง: เชฆเชฒเซ€เชฒ เช…เชตเช—เชฃเซ‹_เชซเซ‡เชฐเชซเชพเชฐเซ‹ เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎเชฎเชพเช‚ เช˜เชฃเชพ เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏ เชชเชนเซ‡เชฒเชพ เชฆเซ‡เช–เชพเชฏเชพ เชนเชคเชพ: เช–เซ‡เช‚เชšเซ‹#2525.

เชฆเชฒเซ€เชฒ ignore_resize_confirmation เชธเซเชฅเชพเชจเชฟเช• เชกเชฟเชธเซเช•, เช•เซ‹เชฐเซ‹ เช…เชฅเชตเชพ เชธเชฐเซเชตเชฐ เชฎเซ‡เชฎเชฐเซ€เชจเซเช‚ เชธเชซเชณเชคเชพเชชเซ‚เชฐเซเชตเช• เชฎเชพเชช เชฌเชฆเชฒเชตเชพ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡. เช†เชตเชพ เชซเซ‡เชฐเชซเชพเชฐเซ‹ OpenStack Nova เช˜เชŸเช• เชฆเซเชตเชพเชฐเชพ เชตเชฟเชจเช‚เชคเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชฎเชพเชช เชฌเชฆเชฒเซ‹. เชตเชฟเชจเช‚เชคเซ€ เชชเช›เซ€ เชกเชฟเชซเซ‹เชฒเซเชŸ เชจเซ‹เชตเชพ เชฎเชพเชช เชฌเชฆเชฒเซ‹ เชธเชฐเซเชตเชฐเชจเซ‡ เชธเซเชŸเซ‡เชŸเชธเชฎเชพเช‚ เชฎเซ‚เช•เซ‡ เช›เซ‡ verify_resize เช…เชจเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชคเชฐเชซเชฅเซ€ เชตเชงเชพเชฐเชพเชจเซ€ เชชเซเชทเซเชŸเชฟเชจเซ€ เชฐเชพเชน เชœเซเช เช›เซ‡. เชœเซ‹ เช•เซ‡, เช† เชตเชฐเซเชคเชฃเซ‚เช• เชฌเชฆเชฒเซ€ เชถเช•เชพเชฏ เช›เซ‡ เชœเซ‡เชฅเซ€ เชจเซ‹เชตเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชคเชฐเชซเชฅเซ€ เชตเชงเชพเชฐเชพเชจเซ€ เช•เซเชฐเชฟเชฏเชพเช“เชจเซ€ เชฐเชพเชน เชจ เชœเซเช.

เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เชฆเชฒเซ€เชฒ เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎเชจเซ‡ เชธเซเชฅเชฟเชคเชฟเชจเซ€ เชฐเชพเชน เชœเซ‹เชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡ verify_resize เชธเชฐเซเชตเชฐ เชฎเชพเชŸเซ‡ เช…เชจเซ‡ เชคเซ‡เชจเชพ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชฌเชฆเชฒเซเชฏเชพ เชชเช›เซ€ เชธเชฐเซเชตเชฐ เชธเช•เซเชฐเชฟเชฏ เชธเซเชฅเชฟเชคเชฟเชฎเชพเช‚ เชฐเชนเซ‡ เชคเซ‡ เชฎเชพเชŸเซ‡ เชคเซˆเชฏเชพเชฐ เชฐเชนเซ‹. เชฆเชฒเซ€เชฒ OpenStack Terraform เชชเซเชฐเชฆเชพเชคเชพเชจเชพ เชธเช‚เชธเซเช•เชฐเชฃ 1.10.0 เชชเชฐเชฅเซ€ เช‰เชชเชฒเชฌเซเชง เช›เซ‡: เช–เซ‡เช‚เชšเซ‹#422.

เชธเช‚เชธเชพเชงเชจเซ‹เชจเซเช‚ เชจเชฟเชฐเซเชฎเชพเชฃ

เชฎเซ‡เชจเชฟเชซเซ‡เชธเซเชŸ เชšเชฒเชพเชตเชคเชพ เชชเชนเซ‡เชฒเชพ, เชฎเชนเซ‡เชฐเชฌเชพเชจเซ€ เช•เชฐเซ€เชจเซ‡ เชจเซ‹เช‚เชง เช•เชฐเซ‹ เช•เซ‡ เช…เชฎเชพเชฐเชพ เช‰เชฆเชพเชนเชฐเชฃเชฎเชพเช‚, เชฌเซ‡ เช…เชฒเช—-เช…เชฒเช— เชชเซเชฐเชฆเชพเชคเชพเช“ เชฒเซ‹เช‚เชš เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เช›เซ‡, เช…เชจเซ‡ OpenStack เชชเซเชฐเชฆเชพเชคเชพ เชธเชฟเชฒเซ‡เช•เซเชŸเซ‡เชฒ เชชเซเชฐเชฆเชพเชคเชพเชจเชพ เชธเช‚เชธเชพเชงเชจเซ‹ เชชเชฐ เช†เชงเชพเชฐ เชฐเชพเช–เซ‡ เช›เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชฌเชจเชพเชตเซเชฏเชพ เชตเชฟเชจเชพ, เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒเชพ เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเชตเซเช‚ เช…เชถเช•เซเชฏ เช›เซ‡. . เช•เชฎเชจเชธเซ€เชฌเซ‡, เช† เชœ เช•เชพเชฐเชฃเชธเชฐ เช†เชชเชฃเซ‡ เชฎเชพเชคเซเชฐ เช†เชฆเซ‡เชถ เชšเชฒเชพเชตเซ€ เชถเช•เชคเชพ เชจเชฅเซ€ เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ เชฒเชพเช—เซ เช•เชฐเซ‹ เช…เชฎเชพเชฐเชพ เช‰เชฆเชพเชนเชฐเชฃเชจเซ€ เช…เช‚เชฆเชฐ. เช†เชชเชฃเซ‡ เชธเซŒ เชชเซเชฐเชฅเชฎ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เชฒเชพเช—เซ เชชเชกเซ‡ เช›เซ‡ เชฎเซ‹เชกเซเชฏเซเชฒ เชฎเชพเชŸเซ‡ Project_with_user เช…เชจเซ‡ เชคเซ‡ เชชเช›เซ€ เชฌเซ€เชœเชพ เชฌเชงเชพ เชฎเชพเชŸเซ‡.

เชจเซ‹เช‚เชง: เช† เชธเชฎเชธเซเชฏเชพ เชนเชœเซ เชธเซเชงเซ€ Terraform เชฎเชพเช‚ เช‰เช•เซ‡เชฒเชพเชˆ เชจเชฅเซ€, เชคเชฎเซ‡ Github เชชเชฐ เชšเชฐเซเชšเชพเชจเซ‡ เช…เชจเซเชธเชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เช‚เช•#2430 ะธ เช…เช‚เช•#4149.

เชธเช‚เชธเชพเชงเชจเซ‹ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชชเชฐ เชœเชพเช“ terraform-examples/examples/vpc/server_local_root_disk, เชคเซ‡เชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€ เช†เชจเชพ เชœเซ‡เชตเซ€ เชนเซ‹เชตเซ€ เชœเซ‹เชˆเช:

$ ls
README.md	   main.tf		vars.tf

เช…เชฎเซ‡ เช†เชฆเซ‡เชถเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฎเซ‹เชกเซเชฏเซเชฒเซ‹ เชถเชฐเซ‚ เช•เชฐเซ€เช เช›เซ€เช:

$ terraform init

เช†เช‰เชŸเชชเซเชŸ เชฌเชคเชพเชตเซ‡ เช›เซ‡ เช•เซ‡ เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ เชคเซ‡ เชœเซ‡ เชชเซเชฐเชฆเชพเชคเชพเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡เชจเชพ เชจเชตเซ€เชจเชคเชฎ เชธเช‚เชธเซเช•เชฐเชฃเซ‹เชจเซ‡ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เช‰เชฆเชพเชนเชฐเชฃเชฎเชพเช‚ เชตเชฐเซเชฃเชตเซ‡เชฒ เชคเชฎเชพเชฎ เชฎเซ‹เชกเซเชฏเซเชฒเซ‹เชจเซ‡ เชคเชชเชพเชธเซ‡ เช›เซ‡.

เชชเซเชฐเชฅเชฎ เชฎเซ‹เชกเซเชฏเซเชฒ เชฒเชพเช—เซ เช•เชฐเซ€เช Project_with_user. เช†เชจเซ‡ เชšเชฒ เชฎเชพเชŸเซ‡ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เชชเชพเชธเชฟเช‚เช— เชฎเซ‚เชฒเซเชฏเซ‹เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เชœเซ‡ เชธเซ‡เชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชจเชฅเซ€:

  • เชธเซ‡เชฒ_เชเช•เชพเช‰เชจเซเชŸ เชคเชฎเชพเชฐเชพ เชธเชฟเชฒเซ‡เช•เซเชŸเซ‡เชฒ เชเช•เชพเช‰เชจเซเชŸ เชจเช‚เชฌเชฐ เชธเชพเชฅเซ‡;
  • sel_token Selectel API เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเซ€ เช•เซ€ เชธเชพเชฅเซ‡;
  • user_password OpenStack เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชฎเชพเชŸเซ‡ เชชเชพเชธเชตเชฐเซเชก เชธเชพเชฅเซ‡.

เชชเซเชฐเชฅเชฎ เชฌเซ‡ เชšเชฒเซ‹ เชฎเชพเชŸเซ‡เชจเชพ เชฎเซ‚เชฒเซเชฏเซ‹เชฎเชพเช‚เชฅเซ€ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡ เชจเชฟเชฏเช‚เชคเซเชฐเชฃ เชชเซ‡เชจเชฒเซเชธ.

เช›เซ‡เชฒเซเชฒเชพ เชšเชฒ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ เช•เซ‹เชˆเชชเชฃ เชชเชพเชธเชตเชฐเซเชก เชธเชพเชฅเซ‡ เช†เชตเซ€ เชถเช•เซ‹ เช›เซ‹.

เชฎเซ‹เชกเซเชฏเซเชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเซ‡ เชฎเซ‚เชฒเซเชฏเซ‹ เชฌเชฆเชฒเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ SEL_ACCOUNT, SEL_TOKEN ะธ USER_PASSWORD เช†เชฆเซ‡เชถ เชšเชฒเชพเชตเซ‹:

$ 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

เชธเช‚เชธเชพเชงเชจเซ‹ เชฌเชจเชพเชตเชคเซ€ เชตเช–เชคเซ‡, เชฌเชพเชนเซเชฏ IP เชธเชฐเชจเชพเชฎเชพเช‚ เชธเชพเชฅเซ‡ เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ เช†เช‰เชŸเชชเซเชŸ เชชเชฐ เชงเซเชฏเชพเชจ เช†เชชเซ‹ เชœเซเชฏเชพเช‚ เชฌเชจเชพเชตเซ‡เชฒ เชธเชฐเซเชตเชฐ เชเช•เซเชธเซ‡เชธเชฟเชฌเชฒ เชนเชถเซ‡:

module.server_local_root_disk.openstack_networking_floatingip_associate_v2.association_1: Creating...
  floating_ip: "" => "x.x.x.x"

เชคเชฎเซ‡ เชจเชฟเชฐเซเชฆเชฟเชทเซเชŸ IP เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ SSH เชฆเซเชตเชพเชฐเชพ เชฌเชจเชพเชตเซ‡เชฒ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เชธเช‚เชธเชพเชงเชจ เชธเช‚เชชเชพเชฆเชจ

เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ เชฆเซเชตเชพเชฐเชพ เชธเช‚เชธเชพเชงเชจเซ‹ เชฌเชจเชพเชตเชตเชพ เช‰เชชเชฐเชพเช‚เชค, เชคเซ‡เชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐ เชชเชฃ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.

เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชšเชพเชฒเซ‹ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชฎเชพเชŸเซ‡ เชฎเซ‚เชฒเซเชฏเซ‹ เชฌเชฆเชฒเซ€เชจเซ‡ เช…เชฎเชพเชฐเชพ เชธเชฐเซเชตเชฐ เชฎเชพเชŸเซ‡ เช•เซ‹เชฐเซ‹ เช…เชจเซ‡ เชฎเซ‡เชฎเชฐเซ€เชจเซ€ เชธเช‚เช–เซเชฏเชพ เชตเชงเชพเชฐเซ€เช. เชธเชฐเซเชตเชฐ_เชตเซ€เชธเซ€เชชเชธ ะธ เชธเชฐเซเชตเชฐ_เชฐเชพเชฎ_เชเชฎเชฌเซ€ เชซเชพเช‡เชฒเชฎเชพเช‚ เช‰เชฆเชพเชนเชฐเชฃเซ‹/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.

เชฎเชนเซ‡เชฐเชฌเชพเชจเซ€ เช•เชฐเซ€เชจเซ‡ เชจเซ‹เช‚เชง เช•เชฐเซ‹ เช•เซ‡ เช† เชฌเชจเชพเชตเซ‡เชฒ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเชจเซ‡ เชฐเซ€เชฌเซ‚เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡.

เชจเชตเซ€ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชฒเชพเช—เซ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช†เชฆเซ‡เชถเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹ เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ เชฒเชพเช—เซ เช•เชฐเซ‹, เชœเซ‡ เช…เชฎเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชฒเซ‹เชจเซเชš เช•เชฐเซเชฏเซเช‚ เช›เซ‡.

เชฎเชพเช‚ เชฌเชงเชพ เชฌเชจเชพเชตเซ‡เชฒ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชฅเชถเซ‡ VPC เชจเชฟเชฏเช‚เชคเซเชฐเชฃ เชชเซ‡เชจเชฒเซเชธ:

Terraform เชชเซเชฐเชฆเชพเชคเชพ Selectel

เช…เชฎเชพเชฐเชพเชฎเชพเช‚ เช‰เชฆเชพเชนเชฐเชฃ เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€เช เชคเชฎเซ‡ เชจเซ‡เชŸเชตเชฐเซเช• เชกเซเชฐเชพเช‡เชตเซเชธ เชธเชพเชฅเซ‡ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเซ‹ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชฎเซ‡เชจเชฟเชซเซ‡เชธเซเชŸ เชชเชฃ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹.

เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เช•เซเชฒเชธเซเชŸเชฐ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ

เช…เชฎเซ‡ เช†เช—เชฒเชพ เช‰เชฆเชพเชนเชฐเชฃ เชชเชฐ เช†เช—เชณ เชตเชงเซ€เช เชคเซ‡ เชชเชนเซ‡เชฒเชพเช‚, เช…เชฎเซ‡ เช…เช—เชพเช‰ เชฌเชจเชพเชตเซ‡เชฒเชพ เชธเช‚เชธเชพเชงเชจเซ‹เชจเซ‡ เชธเชพเชซ เช•เชฐเซ€เชถเซเช‚. เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเชพ เชฎเซ‚เชณเชฎเชพเช‚ เช† เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ terraform-examples/examples/vpc/server_local_root_disk เชšเชพเชฒเซ‹ OpenStack เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชจเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เชตเชพ เชฎเชพเชŸเซ‡ เช†เชฆเซ‡เชถ เชšเชฒเชพเชตเซ€เช:

$ 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

เชชเช›เซ€ Selectel VPC API เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชจเซ‡ เชธเชพเชซ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช†เชฆเซ‡เชถ เชšเชฒเชพเชตเซ‹:

$ 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

เชจเซ€เชšเซ‡เชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เชฎเชพเช‚ เช›เซ‡ terraform-examples/examples/vpc/kubernetes_cluster.

เช† เช‰เชฆเชพเชนเชฐเชฃ เชเช• เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเซ‡ เช›เซ‡, เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ เชญเซ‚เชฎเชฟเช•เชพ เชงเชฐเชพเชตเชคเซ‹ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ, เช…เชจเซ‡ เชเช• เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เช•เซเชฒเชธเซเชŸเชฐ เช‰เชญเซ‹ เช•เชฐเซ‡ เช›เซ‡. เชซเชพเช‡เชฒเชฎเชพเช‚ vars.tf เชคเชฎเซ‡ เชกเชฟเชซเซ‰เชฒเซเชŸ เชฎเซ‚เชฒเซเชฏเซ‹ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹, เชœเซ‡เชฎ เช•เซ‡ เชจเซ‹เชกเซเชธเชจเซ€ เชธเช‚เช–เซเชฏเชพ, เชคเซ‡เชฎเชจเซ€ เชฒเชพเช•เซเชทเชฃเชฟเช•เชคเชพเช“, เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชตเชฐเซเชเชจ เชตเช—เซ‡เชฐเซ‡.

เชชเซเชฐเชฅเชฎ เช‰เชฆเชพเชนเชฐเชฃ เชœเซ‡เชตเชพ เชธเช‚เชธเชพเชงเชจเซ‹ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เชธเซŒเชชเซเชฐเชฅเชฎ เช†เชชเชฃเซ‡ เชฎเซ‹เชกเซเชฏเซเชฒเซ‹ เชถเชฐเซ‚ เช•เชฐเซ€เชถเซเช‚ เช…เชจเซ‡ เชฎเซ‹เชกเซเชฏเซเชฒ เชธเช‚เชธเชพเชงเชจเซ‹ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ€เชถเซเช‚ Project_with_userเช…เชจเซ‡ เชชเช›เซ€ เชฌเซ€เชœเซเช‚ เชฌเชงเซเช‚ เชฌเชจเชพเชตเซ‹:

$ 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

เช…เชฎเซ‡ OpenStack Magnum เช˜เชŸเช• เชฆเซเชตเชพเชฐเชพ Kubernetes เช•เซเชฒเชธเซเชŸเชฐเซ‹เชจเซ€ เชฐเชšเชจเชพ เช…เชจเซ‡ เชธเช‚เชšเชพเชฒเชจเชจเซ‡ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เช•เชฐเซ€เชถเซเช‚. เชคเชฎเซ‡ เช…เชฎเชพเชฐเชพเชฎเชพเช‚เชฅเซ€ เชเช• เช•เซเชฒเชธเซเชŸเชฐ เชธเชพเชฅเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚ เชคเซ‡ เชตเชฟเชถเซ‡ เชตเชงเซ เชถเซ‹เชงเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เช—เชพเช‰เชจเชพ เชฒเซ‡เช–เซ‹เชคเซ‡เชฎเชœ เชœเซเชžเชพเชจ เชชเซƒเชทเซเชŸ.

เช•เซเชฒเชธเซเชŸเชฐ เชคเซˆเชฏเชพเชฐ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชกเชฟเชธเซเช• เช…เชจเซ‡ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเซ‹ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ เช…เชจเซ‡ เชคเชฎเชพเชฎ เชœเชฐเซ‚เชฐเซ€ เช˜เชŸเช•เซ‹ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡. เชคเซˆเชฏเชพเชฐเซ€เชฎเชพเช‚ เชฒเช—เชญเช— 4 เชฎเชฟเชจเชฟเชŸเชจเซ‹ เชธเชฎเชฏ เชฒเชพเช—เซ‡ เช›เซ‡, เชœเซ‡ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ เชธเช‚เชฆเซ‡เชถเชพเช“ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เช•เชฐเชถเซ‡ เชœเซ‡เชฎ เช•เซ‡:

module.kubernetes_cluster.openstack_containerinfra_cluster_v1.cluster_1: Still creating... (3m0s elapsed)

เชเช•เชตเชพเชฐ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เชชเซ‚เชฐเซเชฃ เชฅเชˆ เชœเชพเชฏ, เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ เชธเซ‚เชšเชตเซ‡ เช›เซ‡ เช•เซ‡ เช•เซเชฒเชธเซเชŸเชฐ เชคเซˆเชฏเชพเชฐ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซเช‚ ID เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เช•เชฐเชถเซ‡:

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 เชคเชฎเชพเชฐเซ‡ เช•เซเชฒเชธเซเชŸเชฐ เชเช•เซเชธเซ‡เชธ เชซเชพเช‡เชฒ เชฎเซ‡เชณเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช† เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเชพ เชเช•เชพเช‰เชจเซเชŸเชฎเชพเช‚ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธเชจเซ€ เชธเซ‚เชšเชฟเชฎเชพเช‚ เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ เชฆเซเชตเชพเชฐเชพ เชฌเชจเชพเชตเซ‡เชฒ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชชเชฐ เชœเชพเช“:

Terraform เชชเซเชฐเชฆเชพเชคเชพ Selectel

เช†เช—เชณ, เชœเซ‡เชตเซ€ เชฒเชฟเช‚เช•เชจเซ‡ เช…เชจเซเชธเชฐเซ‹ xxxxxx.selvpc.ruเชœเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเชพ เชจเชพเชฎเชจเซ€ เชจเซ€เชšเซ‡ เชฆเซ‡เช–เชพเชฏ เช›เซ‡:

Terraform เชชเซเชฐเชฆเชพเชคเชพ Selectel

เชฒเซ‰เช—เชฟเชจ เชฎเชพเชนเชฟเชคเซ€ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ Terraform เชฆเซเชตเชพเชฐเชพ เชฌเชจเชพเชตเซ‡เชฒ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเชพเชฎ เช…เชจเซ‡ เชชเชพเชธเชตเชฐเซเชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹. เชœเซ‹ เชคเชฎเซ‡ เช›เซ‡เชคเชฐเชชเชฟเช‚เชกเซ€ เช•เชฐเซ€ เชจเชฅเซ€ vars.tf เช…เชฅเชตเชพ main.tf เช…เชฎเชพเชฐเชพ เช‰เชฆเชพเชนเชฐเชฃ เชฎเชพเชŸเซ‡, เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซเช‚ เชจเชพเชฎ เชนเชถเซ‡ tf_user. เชคเชฎเชพเชฐเซ‡ เชชเชพเชธเชตเชฐเซเชก เชคเชฐเซ€เช•เซ‡ เชตเซ‡เชฐเซ€เชเชฌเชฒเชจเซ€ เช•เชฟเช‚เชฎเชคเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เช†เชตเชถเซเชฏเช• เช›เซ‡ TF_VAR_user_password, เชœเซ‡ เชธเซเชŸเชพเชฐเซเชŸเช…เชช เชชเชฐ เชจเชฟเชฐเซเชฆเชฟเชทเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€ เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ เชฒเชพเช—เซ เช•เชฐเซ‹ เช…เช—เชพเช‰

เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ€ เช…เช‚เชฆเชฐ เชคเชฎเชพเชฐเซ‡ เชŸเซ‡เชฌ เชชเชฐ เชœเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เช•เซเชฏเซเชฌเชฐเซเชจเซ‡เชŸเชฟเชธ:

Terraform เชชเซเชฐเชฆเชพเชคเชพ Selectel

เช† เชคเซ‡ เช›เซ‡ เชœเซเชฏเชพเช‚ เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ เชฆเซเชตเชพเชฐเชพ เชฌเชจเชพเชตเซ‡เชฒ เช•เซเชฒเชธเซเชŸเชฐ เชธเซเชฅเชฟเชค เช›เซ‡. เชฎเชพเชŸเซ‡ เชซเชพเช‡เชฒ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซ‹ kubectl เชคเชฎเซ‡ "เชเช•เซเชธเซ‡เชธ" เชŸเซ‡เชฌ เชชเชฐ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹:

Terraform เชชเซเชฐเชฆเชพเชคเชพ Selectel

เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เชธเซ‚เชšเชจเชพเช“ เชธเชฎเชพเชจ เชŸเซ‡เชฌ เชชเชฐ เชธเซเชฅเชฟเชค เช›เซ‡. kubectl เช…เชจเซ‡ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซ‡เชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— config.yaml.

เชฒเซ‹เชจเซเชš เช•เชฐเซเชฏเชพ เชชเช›เซ€ kubectl เช…เชจเซ‡ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชšเชฒ เชธเซเชฏเซ‹เชœเชฟเชค เช•เชฐเซ‹ KUBECONFIG เชคเชฎเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹:

$ 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

เชจเชฟเชทเซเช•เชฐเซเชท

เช† เชฒเซ‡เช–เชฎเชพเช‚ เช†เชชเชฃเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซ€ เชฎเซเช–เซเชฏ เชฐเซ€เชคเซ‹เชฅเซ€ เชชเชฐเชฟเชšเชฟเชค เชฅเชฏเชพ เช›เซ€เช "เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชชเซเชฐเชพเช‡เชตเซ‡เชŸ เช•เซเชฒเชพเช‰เชก" เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ เชฆเซเชตเชพเชฐเชพ. เชœเซ‹ เชคเชฎเซ‡ เชธเชคเซเชคเชพเชตเชพเชฐ Terraform เชชเซเชฐเชฆเชพเชคเชพ Selectel เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชถเซ‹ เช…เชจเซ‡ เชชเซเชฐเชคเชฟเชธเชพเชฆ เช†เชชเซ‹ เชคเซ‹ เช…เชฎเชจเซ‡ เช†เชจเช‚เชฆ เชฅเชถเซ‡.

Selectel Terraform เชชเซเชฐเชฆเชพเชคเชพเชฎเชพเช‚ เชฎเชณเซ‡เชฒเซ€ เช•เซ‹เชˆเชชเชฃ เชญเซ‚เชฒเซ‹ เชฎเชพเชฐเชซเชคเซ‡ เชœเชพเชฃ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡ เช—เซ€เชฅเชฌ เชฎเซเชฆเซเชฆเชพเช“.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹