เบเบงเบเปเบฎเบปเบฒเปเบเปเปเบเบตเบเบเบปเบงเบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบ Terraform เบขเปเบฒเบเปเบเบฑเบเบเบฒเบเบเบฒเบเปเบเบทเปเบญเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ Selectel. เบเบฐเบฅเบดเบเบเบฐเบเบฑเบเบเบตเปเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบนเปเปเบเปเบชเบฒเบกเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบธเปเบกเบเบญเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบขเปเบฒเบเบชเบปเบกเบเบนเบเปเบเบเบเปเบฒเบเบงเบดเบเบตเบเบฒเบเปเบเบเบชเปเบฒเบเบเบทเปเบเบเบฒเบเปเบเบฑเบเบฅเบฐเบซเบฑเบ.
เบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบเบเบฐเบเบธเบเบฑเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเบฒเบเบเบธเปเบกเบเบญเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ
เบเบฑเปเบเบเบตเปเบเปเบฒเบเบฎเบนเปเปเบฅเปเบง, เบเบฒเบเบเปเบฅเบดเบเบฒเบ VPC เบเบทเบเบชเปเบฒเบเบเบถเปเบเปเบ OpenStack. เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เปเบเบทเปเบญเบเบเบฒเบเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒ OpenStack เบเปเปเปเบเปเบชเบฐเบซเบเบญเบเปเบเบทเปเบญเบเบกเบทเบเบทเปเบเปเบกเบทเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบฑเบเบชเบฒเบเบฒเบฅเบฐเบเบฐ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบเบฐเบเบดเบเบฑเบเบซเบเปเบฒเบเบตเปเบเบฒเบเบซเบฒเบเปเบเปเบเบเบธเบเบเบญเบ APIs เปเบเบตเปเบกเปเบเบตเบกเบเบตเปเบเปเบฒเบเปเบเบเบฒเบเบเบธเปเบกเบเบญเบเบงเบฑเบเบเบธเบเบฐเบชเบปเบกเบเบตเปเบชเบฑเบเบชเบปเบเปเบฅเบฐเปเบฎเบฑเบเปเบซเปเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเปเบฒเบเบเบถเปเบ. เบเบฒเบเบซเบเปเบฒเบเบตเปเบเบตเปเบกเบตเบขเบนเปเปเบ OpenStack เปเบกเปเบเบเบดเบเบเบฒเบเบเบฒเบเบเปเบฒเปเบเปเปเบเบเบเบปเบ, เปเบเปเบชเบฒเบกเบฒเบเปเบเปเปเบเปเบเปเบฒเบ
เบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบ Selectel Terraform เปเบเบเบฑเบเบเบธเบเบฑเบเบเบฐเบเบญเบเบกเบตเบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ VPC เบเปเปเปเบเบเบตเป:
- เปเบเบเบเบฒเบเปเบฅเบฐเปเบเบเปเบฒเบเบญเบเบเบงเบเปเบเบปเบฒ;
- เบเบนเปเปเบเป, เบเบฒเบฅเบฐเบเบปเบเบเบฒเบเปเบฅเบฐ tokens เบเบญเบเปเบเบปเบฒเปเบเบปเปเบฒ;
- subnets เบชเบฒเบเบฒเบฅเบฐเบเบฐ, เบฅเบงเบกเบเบฑเบเบเปเบฒเบกเบเบฒเบเบเบทเปเบเปเบฅเบฐ VRRP;
- เปเบเบญเบฐเบเบธเบเบฒเบเบเบญเบเปเบง.
เบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบเปเบเปเบซเปเบญเบเบชเบฐเปเบธเบ Go เบชเบฒเบเบฒเบฅเบฐเบเบฐเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเบทเปเบญเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ VPC API. เบเบฑเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบเปเบฅเบฐเบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบเปเบญเบเปเบกเปเบเปเบซเบผเปเบเปเบเบตเบ, เบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบงเบเปเบเบปเบฒเปเบกเปเบเบเปเบฒเปเบเบตเบเบขเบนเปเปเบ Github:
- เบซเปโเบชเบฐโเบซเบกเบธเบโ
Go-selvpcclient , - เบเบฑเบเปเบเบฑเบเบเบญเบเบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบ
Terraform-provider Selectel .
เปเบเบทเปเบญเบเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบฅเบฒเบงเบญเบทเปเบเป, เปเบเบฑเปเบเปเบเบทเปเบญเบ virtual, เปเบเปเบ, เบเบธเปเบก Kubernetes, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบ OpenStack Terraform. เปเบญเบเบฐเบชเบฒเบเบเบตเปเปเบเบฑเบเบเบฒเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบเบเบฑเบเบชเบญเบเปเบกเปเบเบกเบตเบขเบนเปเปเบเบฅเบดเปเบเบเปเปเปเบเบเบตเป:
- เปเบฅเบทเบญเบเปเบญเบเบฐเบชเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ:
Terraform-provider Selectel , - เปเบญเบเบฐเบชเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ OpenStack:
Terraform-เบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบ OpenStack .
เบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบ
เปเบเบทเปเบญเปเบฅเบตเปเบกเบเบปเปเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบดเบเบเบฑเปเบ Terraform (เบเปเบฒเปเบเบฐเบเปเบฒเปเบฅเบฐเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบธเบเบเบฒเบเบเบดเบเบเบฑเปเบเบชเบฒเบกเบฒเบเบเบปเบเปเบเปเบเบตเป
เปเบเบทเปเบญเบเปเบฒเปเบเบตเบเบเบฒเบ, เบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบเบเปเบญเบเบเบฒเบเบฅเบฐเบซเบฑเบ Selectel API, เปเบเบดเปเบเบเบทเบเบชเปเบฒเบเบเบถเปเบเปเบ
Manifests เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ Selectel เปเบกเปเบเบเบทเบเบชเปเบฒเบเบเบถเปเบเปเบเบเปเบเป Terraform เบซเบผเบทเปเบเปเบเบธเบเบเบญเบเบเบปเบงเบขเปเบฒเบเบเบตเปเบเบฝเบกเบเปเบญเบกเบเบตเปเบกเบตเบขเบนเปเปเบเบเปเบญเบเปเบเบฑเบเบเปเปเบกเบนเบ Github เบเบญเบเบเบงเบเปเบฎเบปเบฒ:
repository เบเบตเปเบกเบตเบเบปเบงเบขเปเบฒเบเปเบเปเบเบญเบญเบเปเบเบฑเบเบชเบญเบเปเบเปเบฅเบเบฐเบเปเบฅเบต:
- เปเบกเบเบนเบ, เบเบฐเบเบญเบเบเปเบงเบเปเบกเบเบนเบเบเบฐเบซเบเบฒเบเบเปเบญเบเบเบตเปเบชเบฒเบกเบฒเบเบเปเบฒเบกเบฒเปเบเปเบเบทเบเปเบซเบกเปเบเบตเปเปเบญเบปเบฒเบเบธเบเบเบญเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเปเบเบฑเบเบงเบฑเบเบชเบฐเบเบธเบเปเบญเบเปเบฅเบฐเบเบฒเบเบเบธเปเบกเบเบญเบเบเบธเบเบเบฐเบซเบเบฒเบเบเปเบญเบเบเบญเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ;
- เบเบปเบงเบขเปเบฒเบ, เบเบฐเบเบญเบเบกเบตเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบธเบเปเบกเบเบนเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบขเปเบฒเบเบชเบปเบกเบเบนเบ.
เบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเบดเบเบเบฑเปเบ Terraform, เบเบฒเบเบชเปเบฒเบเบฅเบฐเบซเบฑเบ API เบเบญเบ Selectel เปเบฅเบฐเปเบฎเบฑเบเบเบงเบฒเบกเบเบธเปเบเปเบเบตเบเบเบฑเบเบเบปเบงเบขเปเบฒเบ, เปเบซเปเปเบฎเบปเบฒเบเปเบฒเบงเปเบเบชเบนเปเบเบปเบงเบขเปเบฒเบเบเบตเปเบเบฐเบเบดเบเบฑเบเปเบเป.
เบเบปเบงเบขเปเบฒเบเบเบญเบเบเบฒเบเบชเปเบฒเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบตเปเบกเบตเปเบเปเบเบเปเบญเบเบเบดเปเบ
เปเบซเปเปเบเบดเปเบเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบฒเบเบชเปเบฒเบเปเบเบเบเบฒเบ, เบเบนเปเปเบเปเบเบตเปเบกเบตเบเบปเบเบเบฒเบเปเบฅเบฐเปเบเบทเปเบญเบ virtual เบเบตเปเบกเบตเปเบเปเบเบเปเบญเบเบเบดเปเบ:
เปเบเปเบเบฅเป 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 เบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบ Selectel เปเบกเปเบเปเบฅเบตเปเบกเบเบปเปเบ:
provider "selectel" {
token = "${var.sel_token}"
}
เปเบเบฅเปเบเบตเปเบเบฑเบเบกเบตเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเบเบฐเปเบ SSH เบเบตเปเบเบฐเบเบทเบเบเบดเบเบเบฑเปเบเบขเบนเปเปเบเปเบเบตเบเปเบงเบต:
module "server_local_root_disk" {
...
server_ssh_key = "${file("~/.ssh/id_rsa.pub")}"
}
เบเปเบฒเบเปเบฒเปเบเบฑเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบฅเบฐเบเบธเบฅเบฐเบซเบฑเบเบชเบฒเบเบฒเบฅเบฐเบเบฐเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ. เบเบตเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบทเบเบเปเบฒเบเบปเบเปเบเบฑเบเปเบชเบฑเปเบเบเบฒเบเปเบเบฅเป; เบเปเบฒเบเบเบฑเบเบชเบฒเบกเบฒเบเปเบเบตเปเบกเบเปเบฒเปเบเบฑเบ string เปเบเป.
เบเบญเบเบเบฒเบเบเบฑเปเบเปเบเปเบเบฅเปเบเบตเป, เปเบกเบเบนเบเปเบเปเบเบทเบเปเบเบตเบเบเบปเบง project_with_user ะธ server_local_root_disk, เปเบเบดเปเบเบเบธเปเบกเบเบญเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบตเปเบเปเบฒเปเบเบฑเบ.
เปเบซเปเปเบเบดเปเบเบขเบนเปเปเบเปเบกเบเบนเบเปเบซเบผเบปเปเบฒเบเบตเปเปเบเบฅเบฒเบเบฅเบฐเบญเบฝเบเปเบเบตเปเบกเปเบเบตเบก.
เบเบฒเบเบชเปเบฒเบเปเบเบเบเบฒเบเปเบฅเบฐเบเบนเปเปเบเปเบเบตเปเบกเบตเบเบปเบเบเบฒเบ
เปเบกเบเบนเบเบเปเบฒเบญเบดเบเบชเปเบฒเบเปเบเบเบเบฒเบเปเบฅเบฐเบเบนเปเปเบเปเบเบตเปเบกเบตเบเบปเบเบเบฒเบเปเบเปเบเบเบเบฒเบเบเบฑเปเบ:
เบเบนเปเปเบเปเบเบตเปเบชเปเบฒเบเบเบถเปเบเบเบฐเบชเบฒเบกเบฒเบเปเบเบปเปเบฒเบชเบนเปเบฅเบฐเบเบปเบ 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
}
}
เบเบฒเบเปเบเปเบเบฝเบ ignore_changes เบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเบเปเปเบชเบปเบเปเบเบเบฒเบเบเปเบฝเบเปเบเบเบเบธเบเบฅเบฑเบเบชเบฐเบเบฐ id เบชเปเบฒเบฅเบฑเบเบฎเบนเบเบเบฒเบเบเบตเปเปเบเปเปเบเบทเปเบญเบชเปเบฒเบเปเบเบทเปเบญเบ virtual. เปเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ VPC, เบฎเบนเบเบเบฒเบเบชเบฒเบเบฒเบฅเบฐเบเบฐเบชเปเบงเบเปเบซเบเปเบเบฐเบเบทเบเบเบฑเบเบเบธเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเบซเบเบถเปเบเบเบฑเปเบเบเปเปเบญเบฒเบเบดเบเปเบฅเบฐเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบเบเบญเบเบเบงเบเปเบเบปเบฒ id เบเบฑเบเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบ. เบเบตเปเปเบกเปเบเปเบเบทเปเบญเบเบกเบฒเบเบฒเบ peculiarities เบเบญเบเบญเบปเบเบเบฐเบเบญเบ OpenStack - Glance, เปเบเบฎเบนเบเบเบฒเบเบเบตเปเบเบทเบงเปเบฒเปเบเบฑเบเบซเบเปเบงเบเบเบฒเบ immutable.
เบเปเบฒเบเปเบฒเบเบเปเบฒเบฅเบฑเบเบชเปเบฒเบเบซเบผเบทเปเบเปเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบซเบผเบทเปเบเปเบเบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบงเบเบตเปเบกเบตเปเบเบฑเบเบเบฒเบเปเบเปเบเบฝเบ image_id เบเบทเบเบเปเบฒเปเบเป id เบฎเบนเบเบเบฒเบเบชเบฒเบเบฒเบฅเบฐเบเบฐ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบซเบผเบฑเบเบเบฒเบเบฎเบนเบเบเบฒเบเบเบฑเปเบเบเบทเบเบเบฑเบเบเบธเบ, เบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบ Terraform manifest เบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบเบเบฐเบชเปเบฒเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบซเบผเบทเปเบเปเบ. เบเบฒเบเบเปเบฒเปเบเปเบเบฒเบเปเบเปเบเบฝเบ ignore_changes เบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเปเบเบทเปเบญเบซเบผเบตเบเปเบงเบฑเปเบเบเบฒเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบฑเปเบเบเปเบฒเบง.
เบซเบกเบฒเบเปเบซเบ: เบเบฒเบเปเบเปเบเบฝเบ ignore_changes เบเบฒเบเบปเบเบขเบนเปเปเบ Terraform เบเปเบญเบเบเปเบฒเบเบเบฒเบงเบเปเบญเบเบซเบเปเบฒเบเบตเป:
เบเบฒเบเปเบเปเบเบฝเบ ignore_resize_confirmation เบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบเบฑเบเบเบฐเบซเบเบฒเบเปเบเปเบ, เปเบเบ, เบซเบผเบทเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบญเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบเบเปเบญเบเบเบดเปเบเบชเบปเบเบเบปเบเบชเปเบฒเปเบฅเบฑเบ. เบเบฒเบเบเปเบฝเบเปเบเบเบเบฑเปเบเบเปเบฒเบงเปเบกเปเบเปเบฎเบฑเบเบเปเบฒเบเบญเบปเบเบเบฐเบเบญเบ OpenStack Nova เปเบเบเปเบเปเบเปเบฒเบฎเปเบญเบเบเป เบเบฑเบเบเบฐเบซเบเบฒเบ. Nova เปเบฅเบตเปเบกเบเบปเปเบเบซเบผเบฑเบเบเบฒเบเบเบฒเบเบฎเปเบญเบเบเป เบเบฑเบเบเบฐเบซเบเบฒเบ เปเบฎเบฑเบเปเบซเปเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบเบปเปเบฒเปเบเปเบเบชเบฐเบเบฒเบเบฐเบเบฒเบ verify_resize เปเบฅเบฐเบฅเปเบเปเบฒเบเบฒเบเบขเบทเบเบขเบฑเบเปเบเบตเปเบกเปเบเบตเบกเบเบฒเบเบเบนเปเปเบเป. เบขเปเบฒเบเปเบเบเปเปเบเบฒเบก, เบเบถเบเบเบดเบเปเบฒเบเบตเปเบชเบฒเบกเบฒเบเบเปเบฝเบเปเบเบเปเบเปเปเบเบทเปเบญเปเบซเป Nova เบเปเปเบฅเปเบเปเบฒเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเบตเปเบกเปเบเบตเบกเบเบฒเบเบเบนเปเปเบเป.
เบเบฒเบเปเบเปเบเบฝเบเบเบตเปเบฅเบฐเบเบธเปเบงเปเบญเบฐเบเบธเบเบฒเบเปเบซเป Terraform เบเปเปเบฅเปเบเปเบฒเบชเบฐเบเบฒเบเบฐเบเบฒเบ verify_resize เบชเปเบฒเบฅเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบฅเบฐเบเบฝเบกเบเปเบญเบกเบชเปเบฒเบฅเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบตเปเบเบฐเบขเบนเปเปเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเปเบเบทเปเบญเบเปเบซเบงเบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเปเบฝเบเปเบเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเบเบญเบเบกเบฑเบ. argument เบชเบฒเบกเบฒเบเปเบเปเปเบเปเบเบฒเบเปเบงเบตเบเบฑเบ 1.10.0 เบเบญเบเบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบ OpenStack Terraform:
เบเบฒเบเบชเปเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ
เบเปเบญเบเบเบตเปเบเบฐเบเปเบฒเปเบเบตเบเบเบฒเบ manifests, เบเบฐเบฅเบธเบเบฒเบชเบฑเบเปเบเบเบงเปเบฒเปเบเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบชเบญเบเบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเปเบเปเบเบทเบเปเบเบตเบเบเบปเบง, เปเบฅเบฐเบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบ OpenStack เปเบกเปเบเบเบถเปเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบญเบเบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบ Selectel, เปเบเบฒเบฐเบงเปเบฒเปเบเบเบเปเปเบกเบตเบเบฒเบเบชเปเบฒเบเบเบนเปเปเบเปเปเบเปเบเบเบเบฒเบ, เบกเบฑเบเปเบเบฑเบเปเบเบเปเปเปเบเปเบเบตเปเบเบฐเบเบฑเบเบเบฒเบเบงเบฑเบเบเบธเบเบตเปเปเบเบฑเบเบเบญเบเบกเบฑเบ. . เปเบเปเบซเบเปเบฒเปเบชเบเบเบฒเบ, เบชเปเบฒเบฅเบฑเบเปเบซเบเบเบปเบเบเบฝเบงเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบเปเปเบชเบฒเบกเบฒเบเบเบฝเบเปเบเปเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบ เปเบเป terraform เบเบฒเบเปเบเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ. เบเปเบฒเบญเบดเบเบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบฎเบฑเบ เบเปเบฒเปเบเป เบชเปเบฒเบฅเบฑเบเปเบกเบเบนเบ project_with_user เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบชเปเบฒเบฅเบฑเบเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบญเบทเปเบ.
เบซเบกเบฒเบเปเบซเบ: เบเบฑเบเบซเบฒเบเบตเปเบเบฑเบเบเปเปเบเบฑเบเปเบเปเบฎเบฑเบเบเบฒเบเปเบเปเปเบเปเบ Terraform, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบดเบเบเบฒเบกเบเบฒเบเบชเบปเบเบเบฐเบเบฒเบเปเบฝเบงเบเบฑเบ Github เบเบตเป
เปเบเบทเปเบญเบชเปเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ, เปเบเบเบตเปเปเบเปเบฅเบเบฐเบเปเบฅเบต
$ ls
README.md main.tf vars.tf
เบเบงเบเปเบฎเบปเบฒเปเบฅเบตเปเบกเบเบปเปเบเปเบกเบเบนเบเปเบเบเปเบเปเบเปเบฒเบชเบฑเปเบ:
$ terraform init
เบเบปเบเปเบเปเบฎเบฑเบเบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบเบงเปเบฒ Terraform เบเบฒเบงเปเบซเบฅเบเปเบงเบตเบเบฑเบเบซเบผเปเบฒเบชเบธเบเบเบญเบเบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบเบเบตเปเบกเบฑเบเปเบเปเปเบฅเบฐเบเบงเบเปเบเบดเปเบเบเบธเบเปเบกเบเบนเบเบเบตเปเปเบเปเบญเบฐเบเบดเบเบฒเบเปเบงเปเปเบเบเบปเบงเบขเปเบฒเบ.
เบเปเบฒเบญเบดเบเปเบซเปเปเบเปเปเบกเบเบนเบ project_with_user. เบเบตเปเบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเบฒเบเบชเบปเปเบเบเปเบฒเบเปเบงเบเบเบปเบเปเบญเบเบชเปเบฒเบฅเบฑเบเบเบปเบงเปเบเบเบตเปเบเปเปเปเบเปเบเปเบฒเบเบปเบ:
- เบเบฑเบเบเบต sel_ เบเปเบงเบเปเบฅเบเบเบฑเบเบเบต Selectel เบเบญเบเบเปเบฒเบ;
- 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
เบซเบผเบฑเบเบเบฒเบเปเบฅเปเบเบเปเบฒเบชเบฑเปเบ, Terraform เบเบฐเบชเบฐเปเบเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบตเปเบกเบฑเบเบเปเบญเบเบเบฒเบเบชเปเบฒเบเปเบฅเบฐเบฎเปเบญเบเบเปเบเบฒเบเบขเบทเบเบขเบฑเบ:
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
เปเบกเบทเปเบญเบชเปเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ, เปเบซเปเปเบญเบปเบฒเปเบเปเบชเปเบเบฑเบเบเบปเบเปเบเปเบฎเบฑเบเบเบญเบ Terraform เบเบฑเบเบเบตเปเบขเบนเป IP เบเบฒเบเบเบญเบเบเบตเปเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบตเปเบชเปเบฒเบเบเบถเปเบเบเบฐเบชเบฒเบกเบฒเบเปเบเบปเปเบฒเปเบเบดเบเปเบเป:
module.server_local_root_disk.openstack_networking_floatingip_associate_v2.association_1: Creating...
floating_ip: "" => "x.x.x.x"
เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเปเบเบทเปเบญเบ virtual เบเบตเปเบชเปเบฒเบเบเบถเปเบเบเปเบฒเบ SSH เปเบเบเปเบเป IP เบเบตเปเบฅเบฐเบเบธ.
เบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบฒเบเปเบเปเปเบ
เบเบญเบเปเบซเบเบทเบญเบเบฒเบเบเบฒเบเบชเปเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเปเบฒเบ Terraform, เบเบงเบเปเบเบปเบฒเบเบฑเบเบชเบฒเบกเบฒเบเบเบฑเบเปเบเบเปเบเป.
เบเบปเบงเบขเปเบฒเบ, เปเบซเปเปเบเบตเปเบกเบเปเบฒเบเบงเบเปเบเบเปเบฅเบฐเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบชเปเบฒเบฅเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเบเบเบฒเบเบเปเบฝเบเบเปเบฒเบชเปเบฒเบฅเบฑเบเบเบฒเบฅเบฒเบกเบดเปเบเบต. server_vcpus ะธ server_ram_mb เปเบเปเบเบฅ เบเบปเบงเบขเปเบฒเบ/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
เบเบฑเปเบเบเบฑเปเบ, Terraform เปเบเปเบเปเบฝเบเปเบเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ openstack_compute_instance_v2 ะธ openstack_compute_flavor_v2.
เบเบฐโเบฅเบธโเบเบฒโเบชเบฑเบโเปเบเบโเบงเปเบฒโเบเบตเปโเบเบฐโเบกเบตโเบเบฒเบ rebooting เปเบเบทเปเบญเบ virtual เบเบตเปโเบชเปเบฒเบโเบเบถเปเบโ.
เปเบเบทเปเบญเบเบณเปเบเปเบเบฒเบเบเบณเบเบปเบเบเปเบฒเปเบเบทเปเบญเบเบชเบฐเปเปเบทเบญเบเปเปเป, เปเบซเปเปเบเปเบเบณเบชเบฑเปเบ เปเบเป terraform, เปเบเบดเปเบเบเบงเบเปเบฎเบปเบฒเปเบเปเปเบเบตเบเบเบปเบงเบเปเบญเบเบซเบเปเบฒเบเบตเป.
เบงเบฑเบเบเบธเบเบตเปเบชเปเบฒเบเบเบถเปเบเบเบฑเบเปเบปเบเบเบฐเบเบทเบเบชเบฐเปเบเบเบขเบนเปเปเบ
เปเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ
เบเบปเบงเบขเปเบฒเบเบเบฒเบเบชเปเบฒเบเบเบธเปเบก Kubernetes
เบเปเบญเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเบฒเบงเปเบเบชเบนเปเบเบปเบงเบขเปเบฒเบเบเปเปเปเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบฎเบฑเบเบเบงเบฒเบกเบชเบฐเบญเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบชเปเบฒเบเบเปเบญเบเบซเบเปเบฒเบเบตเป. เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เบฎเบฒเบเบเบญเบเปเบเบเบเบฒเบ
$ 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
เบเบปเบงเบขเปเบฒเบเบเปเปเปเบเบเบตเปเปเบกเปเบเบขเบนเปเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบต
เบเบปเบงเบขเปเบฒเบเบเบตเปเบชเปเบฒเบเปเบเบเบเบฒเบ, เบเบนเปเปเบเปเบเบตเปเบกเบตเบเบปเบเบเบฒเบเปเบเปเบเบเบเบฒเบ, เปเบฅเบฐเบเบปเบเบชเบนเบเบเบธเปเบก Kubernetes เบซเบเบถเปเบ. เปเบเปเบเบฅเป vars.tf เบเปเบฒเบโเบชเบฒโเบกเบฒเบโเปเบเบดเปเบโเบเปเบฒโเปเบฅเบตเปเบกโเบเบปเปเบโ, เปเบเบฑเปเบโ: เบเปเบฒโเบเบงเบโเบเบญเบ nodesโ, เบฅเบฑเบโเบชเบฐโเบเบฐโเบเบญเบโเปเบเบปเบฒโเปเบเบปเปเบฒโ, เบชเบฐโเบเบฑเบ Kubernetesโ, เปเบฅเบฐโเบญเบทเปเบเปโ.
เปเบเบทเปเบญเบชเปเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบเบเบฑเบเบเบปเบงเบขเปเบฒเบเบเปเบฒเบญเบดเบ, เบเปเบญเบเบญเบทเปเบ เปเบปเบ เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเปเบกเบเบนเบเปเบฅเบฐเบเบฒเบเบชเปเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบญเบเปเบกเบเบนเบ 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
เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบญเบเบเบฒเบเบชเปเบฒเบ เปเบฅเบฐเบเบฑเบเบเบฒเบเบเบธเปเบก Kubernetes เบเปเบฒเบเบญเบปเบเบเบฐเบเบญเบ OpenStack Magnum. เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบญเบเบซเบฒเปเบเบตเปเบกเปเบเบตเบกเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเบธเปเบกเปเบเบซเบเบถเปเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ
เปเบกเบทเปเบญเบเบฐเบเบฝเบกเบเบธเปเบก, เปเบเปเบเปเบฅเบฐเปเบเบทเปเบญเบ virtual เบเบฐเบเบทเบเบชเปเบฒเบเบเบทเปเบเปเบฅเบฐเบญเบปเบเบเบฐเบเบญเบเบเบตเปเบเปเบฒเปเบเบฑเบเบเบฑเบเบซเบกเบปเบเบเบฐเบเบทเบเบเบดเบเบเบฑเปเบ. เบเบฒเบเบเบฐเบเบฝเบกเปเบเปเปเบงเบฅเบฒเบเบฐเบกเบฒเบ 4 เบเบฒเบเบต, เปเบเปเบฅเบเบฐเปเบงเบฅเบฒเบเบตเป Terraform เบเบฐเบชเบฐเปเบเบเบเปเปเบเบงเบฒเบกเปเบเบฑเปเบ:
module.kubernetes_cluster.openstack_containerinfra_cluster_v1.cluster_1: Still creating... (3m0s elapsed)
เปเบกเบทเปเบญเบเบฒเบเบเบดเบเบเบฑเปเบเบชเบณเปเบฅเบฑเบเปเบฅเปเบง, Terraform เบเบฐเบเบตเปเบเบญเบเบงเปเบฒเบเบธเปเบกเบเปเบญเบกเปเบฅเปเบง เปเบฅเบฐเบชเบฐเปเบเบ 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.
เปเบเบทเปเบญเบเบฑเบเบเบฒเบเบเบธเปเบก Kubernetes เบเบตเปเบชเปเบฒเบเบเบทเปเบเบเปเบฒเบ utility kubectl เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบฎเบฑเบเปเบเบฅเปเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเบธเปเบก. เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เปเบเบซเบฒเปเบเบเบเบฒเบเบเบตเปเบชเปเบฒเบเบเปเบฒเบ Terraform เปเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเปเบเบเบเบฒเบเปเบเบเบฑเบเบเบตเบเบญเบเบเปเบฒเบ:
เบเปเปเปเบ, เบเบฐเบเบดเบเบฑเบเบเบฒเบกเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบเบฑเปเบ:
เบชเปเบฒเบฅเบฑเบเบเปเปเบกเบนเบเบเบฒเบเปเบเบปเปเบฒเบชเบนเปเบฅเบฐเบเบปเบ, เปเบซเปเปเบเปเบเบทเปเบเบนเปเปเบเป เปเบฅเบฐเบฅเบฐเบซเบฑเบเบเปเบฒเบเบเบตเปเบเปเบฒเบเบชเปเบฒเบเบเบถเปเบเบเปเบฒเบ Terraform. เบเปเบฒโเบซเบฒเบโเบงเปเบฒโเบเปเบฒเบโเบเปเปโเปเบเป cheatedโ vars.tf เบซเบผเบท main.tf เบเบปเบงเบขเปเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบเบนเปเปเบเปเบเบฐเบกเบตเบเบทเป tf_user. เบเปเบฒเบเบเปเบญเบเปเบเปเบเปเบฒเบเบญเบเบเบปเบงเปเบเปเบเบฑเบเบฅเบฐเบซเบฑเบเบเปเบฒเบ TF_VAR_user_password, เปเบเบดเปเบเปเบเปเบฅเบฐเบเบธเปเบงเปเปเบเบเบญเบเปเบฅเบตเปเบกเบเบปเปเบ เปเบเป terraform เบเปเบญเบเบซเบเปเบฒเบเบตเป.
เบเบฒเบเปเบเปเบเบเบเบฒเบเบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเบเบตเปเปเบเบ Kubernetes:
เบเบตเปเปเบกเปเบเบเปเบญเบเบเบตเปเบเบธเปเบกเบเบตเปเบชเปเบฒเบเบเบถเปเบเบเปเบฒเบ Terraform เบเบฑเปเบเบขเบนเป. เบเบฒเบงเปเบซเบฅเบเปเบเบฅเปเบชเปเบฒเบฅเบฑเบ kubectl เบเปเบฒเบเบชเบฒเบกเบฒเบเบขเบนเปเปเบเปเบเบ "เปเบเบปเปเบฒเปเบเบดเบ":
เบเปเบฒเปเบเบฐเบเปเบฒเบเบฒเบเบเบดเบเบเบฑเปเบเปเบกเปเบเบเบฑเปเบเบขเบนเปเปเบเปเบเบเบเบฝเบงเบเบฑเบ. kubectl เปเบฅเบฐโเบเบฒเบโเบเปเบฒโเปเบเปโเบเบตเปโเบเบฒเบงโเปเบซเบผเบโเปเบเปโ config.yaml.
เบซเบผเบฑเบเบเบฒเบเบเบฒเบเปเบเบตเบเบเบปเบง kubectl เปเบฅเบฐเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบปเบงเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก KUBECONFIG เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเป Kubernetes:
$ 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
เบเปเบฒเบเบงเบเบเบญเบเบเปเปเบเบญเบเบเบธเปเบกเบชเบฒเบกเบฒเบเบเปเบฝเบเปเบเบเปเบเปเบเปเบฒเบเปเบเบเบเปเบฒเบ Terraform.
เปเบเปเบเบฅเป 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
เปเบเบทเปเบญเบเปเบฒเปเบเปเบเบฒเบเบเปเบฝเบเปเบเบ, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเปเบฅเบฐเบเบตเบเบญเบเบเบปเบงเบขเปเบฒเบเบเปเบฒเบญเบดเบ, เปเบเปเบเปเบฒเบชเบฑเปเบ เปเบเป terraform:
$ env
TF_VAR_sel_account=SEL_ACCOUNT
TF_VAR_sel_token=SEL_TOKEN
TF_VAR_user_password=USER_PASSWORD
terraform apply
เปเบกเบทเปเบญเบเปเบฒเบเบงเบเบเบญเบ nodes เบเปเบฝเบเปเบเบ, cluster เบเบฐเบเบฑเบเบเบปเบเบกเบตเบขเบนเป. เบซเบผเบฑเบเบเบฒเบเปเบเบตเปเบก node เบเปเบฒเบ Terraform, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบกเบฑเบเปเบเบเบเปเปเบกเบตเบเบฒเบเบเปเบฒเบซเบเบปเบเบเปเบฒเปเบเบตเปเบกเปเบเบตเบก:
$ 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
เบชเบฐเบซเบฅเบธเบ
เปเบเบเบปเบเบเบงเบฒเบกเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบนเปเบเบฑเบเบเบฑเบเบงเบดเบเบตเบเบฒเบเบเบปเปเบเบเปเปเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ
เปเบกเบเปเบกเปเบเบตเปเบเบปเบเปเบซเบฑเบเบขเบนเปเปเบเบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบ Selectel Terraform เบชเบฒเบกเบฒเบเบเบทเบเบฅเบฒเบเบเบฒเบเบเปเบฒเบ
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com