แฉแแแ แแแแฃแจแแแ แแคแแชแแแแฃแ แ Terraform แแ แแแแแแแ แ Selectel-แแแ แแฃแจแแแแแกแแแแก. แแก แแ แแแฃแฅแขแ แแแแฎแแแ แแแแแแก แกแแจแฃแแแแแแก แแซแแแแก แกแ แฃแแแ แแแแแฎแแ แชแแแแแ แ แแกแฃแ แกแแแแก แแแ แแแ แแแคแ แแกแขแ แฃแฅแขแฃแ แ-แ แแแแ แช แแแแ แแแแแแแแแแแแ.
แแ แแแแแแแ แ แแแแแแแ แแฎแแ แก แฃแญแแ แก แกแแ แแแกแแก แ แแกแฃแ แกแแแแก แแแ แแแแก
แ แแแแ แช แฃแแแ แแชแแ, VPC แกแแ แแแกแ แแแแแฃแแแ OpenStack-แแ. แแฃแแชแ, แแแแก แแแแ, แ แแ OpenStack แแ แแแแแแแแแ แแแแแแแแ แแ แแแกแขแ แฃแแแแขแแแก แกแแฏแแ แ แฆแ แฃแแแแก แแแแกแแฎแฃแ แแแแกแแแแก, แฉแแแ แแแแแงแแแแ แแแแแ แแฃแแ แคแฃแแฅแชแแแแแ แแแ แแแแแขแแแแแ API-แแแแก แแแแแแแฅแขแจแ, แ แแแแแแแช แแแแ แขแแแแแก แ แแฃแแ แแแแแแแแขแฃแ แ แแแแแฅแขแแแแก แแแ แแแแก แแ แกแแแฃแจแแแก แฃแคแ แ แแแกแแฎแแ แฎแแแแแก แฎแแแก. OpenStack-แจแ แแ แกแแแฃแแ แแแแแแ แแ แคแฃแแฅแชแแแแแแแแ แแแฎแฃแ แฃแแแ แแแ แแแแแ แ แแแแแงแแแแแแกแแแ, แแแแ แแ แฎแแแแแกแแฌแแแแแแ
Selectel Terraform แแ แแแแแแแ แ แแฎแแ แแแแชแแแก แจแแแแแแ VPC แ แแกแฃแ แกแแแแก แแแ แแแแก แจแแกแแซแแแแแแแแก:
- แแ แแแฅแขแแแ แแ แแแแ แแแแขแแแ;
- แแแแฎแแแ แแแแแแ, แแแแ แ แแแแแ แแ แแแจแแแแ;
- แกแแฏแแ แ แฅแแแฅแกแแแแแ, แแแ แจแแ แแก แฏแแแ แแแแแ แ แแแแแแแแฃแ แ แแ VRRP;
- แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แแแชแแแแแแแ.
แแ แแแแแแแ แ แแงแแแแแก แฉแแแแก แกแแฏแแ แ Go แแแแแแแแแแแก VPC API-แกแแแ แแฃแจแแแแแกแแแแก. แแแแแแแแแแแช แแ แแแแแ แแ แแแแแแแ แแช แฆแแ แฌแงแแ แแ, แแแแ แแแแแแแแ แแแ แฎแแ แชแแแแแแแ Github-แแ:
- แแแแแแแแแแแก แกแแชแแแ
แฌแแแ แแแแแแแแ แแแแแแแแก แแแแแแขแ , - แแ แแแแแแแ แแก แกแแชแแแ
Terraform-แแ แแแแแแแ แ Selectel .
แกแฎแแ แฆแ แฃแแแแแแแ แ แแกแฃแ แกแแแแก แกแแแแ แแแแแ, แ แแแแ แแชแแ แแแ แขแฃแแแฃแ แ แแแแฅแแแแแ, แแแกแแแแ, Kubernetes แแแแกแขแแ แแแ, แจแแแแซแแแแ แแแแแแงแแแแ OpenStack Terraform แแ แแแแแแแ แ. แแ แแแ แแ แแแแแแแ แแก แแคแแชแแแแฃแ แ แแแแฃแแแแขแแชแแ แฎแแแแแกแแฌแแแแแแ แจแแแแแ แแแฃแแแแแ:
- แแแ แฉแแแ แ แแกแฃแ แกแแก แแแแฃแแแแขแแชแแ:
Terraform-แแ แแแแแแแ แ Selectel , - OpenStack แ แแกแฃแ แกแแก แแแแฃแแแแขแแชแแ:
Terraform-แแ แแแแแแแ แ OpenStack .
แแแชแแแแแแ
แแแกแแฌแงแแแแ, แแฅแแแ แฃแแแ แแแแแแกแขแแแแ แแ Terraform (แแแกแขแแแแชแแแก แแแแแขแแแแก แแแกแขแ แฃแฅแชแแแแ แแ แแแฃแแแแ แจแแแแซแแแแ แแฎแแแแ แแฅ
แแฃแจแแแแแกแแแแก แแ แแแแแแแ แก แกแญแแ แแแแ Selectel API แแแกแแฆแแแ, แ แแแแแแช แแฅแแแแแ
Selectel-แแแ แแฃแจแแแแแก แแแแแคแแกแขแแแ แแฅแแแแแ Terraform-แแก แแแแแงแแแแแแ แแ แแแ แแแแแแแแแแแก แแแแ แแแแก แแแแแงแแแแแแ, แ แแแแแแแช แฎแแแแแกแแฌแแแแแแ แฉแแแแก Github แกแแชแแแจแ:
แกแแชแแแ แแแแแแแแแแแ แแแงแแคแแแแ แแ แแแ แแฅแขแแ แแแ:
- แแแแฃแแแแ, แจแแแชแแแก แแชแแ แ แแ แแแแแฏแแ แแ แแแแแงแแแแแแ แแแแฃแแแแก, แ แแแแแแแช แแฆแแแแ แแแ แแแแขแ แแ แแ แแแแแแแแแก, แ แแแแ แช แจแแงแแแแแก แกแแฎแแ แแ แแแ แแแแแ แ แแกแฃแ แกแแแแก แแชแแ แ แแแแแแแฅแขแก;
- แแแแแแแแแแ, แ แแแแแแช แจแแแชแแแก แฃแ แแแแ แแแแแแแจแแ แแแฃแแ แแแแฃแแแแแก แกแ แฃแแ แแแแ แแแแก แแแแแแแแแแก.
Terraform-แแก แแแงแแแแแแก, Selectel API แแแกแแฆแแแแก แจแแฅแแแแกแ แแ แแแแแแแแแแแก แแแชแแแแแก แจแแแแแ แแแแแแแแแ แแ แแฅแขแแแฃแ แแแแแแแแแแแ.
แแแแแแฃแ แ แแแกแแแ แกแแ แแแ แแก แจแแฅแแแแก แแแแแแแแ
แแแแแ แจแแแฎแแแแ แแ แแแฅแขแแก แจแแฅแแแแก แแแแแแแแก, แ แแแแก แแฅแแแ แแแแฎแแแ แแแแแก แแ แแแ แขแฃแแแฃแ แ แแแแฅแแแ แแแแแแฃแ แ แแแกแแแ:
แคแแแแจแ 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"
}
แคแแแแจแ แแแแแแ แ.แขแค Selectel แแ แแแแแแแ แแก แแแแชแแแแแแแชแแ แฎแแแแ:
provider "selectel" {
token = "${var.sel_token}"
}
แแก แคแแแแ แแกแแแ แจแแแชแแแก แแแแฃแแแกแฎแแแ แแแแจแแแแแแแแก SSH แแแกแแฆแแแแกแแแแก, แ แแแแแแช แแแแแกแขแแแแ แแแฃแแ แแฅแแแแ แกแแ แแแ แแ:
module "server_local_root_disk" {
...
server_ssh_key = "${file("~/.ssh/id_rsa.pub")}"
}
แกแแญแแ แแแแแก แจแแแแฎแแแแแจแ, แจแแแแซแแแแ แแแฃแแแแแ แกแฎแแ แกแแฏแแ แ แแแกแแฆแแแ. แแแกแแฆแแแ แแ แฃแแแ แแงแแก แแแแแแแแฃแแ, แ แแแแ แช แคแแแแแก แแแ; แแฅแแแ แแกแแแ แจแแแแซแแแแ แแแแแแขแแ แแแแจแแแแแแแ แ แแแแ แช แกแขแ แแฅแแแ.
แจแแแแแแ แแ แคแแแแจแ แแแแฃแแแแ แแแจแแแแฃแแแ แแ แแแฅแขแ_แแแแฎแแแ แแแแแแแ ะธ 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
}
}
แแแแแแ แแแแแ แแ แแแ_แชแแแแแแแแแ แกแแจแฃแแแแแแก แแแซแแแแ แฃแแฃแแแแแแงแแ แแขแ แแแฃแขแแแแก แชแแแแแแแแแ id แแแ แขแฃแแแฃแ แ แแแแฅแแแแก แจแแกแแฅแแแแแแ แแแแแงแแแแแฃแแ แกแฃแ แแแแกแแแแก. VPC แกแแ แแแกแจแ แกแแฏแแ แ แกแฃแ แแแแแแก แฃแแแขแแกแแแ แแแขแแแแขแฃแ แแ แแแแแฎแแแแแ แแแแ แแจแ แแ แแฎแแ แแ แแแแแ แแ แแก id แแกแแแ แแชแแแแแ. แแก แแแแแแ แแแแแฃแแแ OpenStack แแแแแแแแแขแแก - Glance-แแก แแแแแกแแแฃแ แแแแแแ, แ แแแแแแจแแช แกแฃแ แแแแแ แแแแแฎแแแแแ แฃแชแแแแแแ.
แแฃ แแฅแแแ แฅแแแแ แแ แชแแแแ แแ แกแแแฃแ แกแแ แแแ แก แแ แแแกแแก, แ แแแแแกแแช แแฅแแก แแ แแฃแแแแขแ image_id แแแแ แแแ id แกแแฏแแ แ แกแฃแ แแแ, แจแแแแแ แแ แกแฃแ แแแแก แแแแแฎแแแแแก แจแแแแแ Terraform manifest-แแก แฎแแแแฎแแ แแแจแแแแ แแแแแแฎแแแแก แกแแ แแแ แก แแ แแแกแแก. แแ แแฃแแแแขแแก แแแแแงแแแแแ แแแแแ แแ แแแ_แชแแแแแแแแแ แกแแจแฃแแแแแแก แแแซแแแแ แแแแแแแ แแแชแแแแ แแกแแแ แกแแขแฃแแชแแ.
แจแแแแจแแแ: แแ แแฃแแแแขแ แแแแแ แแ แแแ_แชแแแแแแแแแ แกแแแแแแ แแแแ แฎแแแก แฌแแ แแแแแฉแแแ Terraform-แจแ:
แแแแแแ ignore_resize_confirmation แกแแญแแ แแ แแแแแแฃแ แ แแแกแแแก, แแแ แแแแแแก แแ แกแแ แแแ แแก แแแฎแกแแแ แแแแก แแแแแก แฌแแ แแแขแแแแ แจแแกแแชแแแแแแ. แแกแแแ แชแแแแแแแแแ แฎแแแแ OpenStack Nova แแแแแแแแแขแแก แแแจแแแแแแ แแแแฎแแแแแก แแแแแงแแแแแแ แแแแแก แจแแชแแแ. แแแแฃแแแกแฎแแแแ Nova แแแแฎแแแแแก แจแแแแแ แแแแแก แจแแชแแแ แแงแแแแแก แกแแ แแแ แก แกแขแแขแฃแกแจแ แแแแแแแฌแแแแแก_ แแแแแก แจแแชแแแ แแ แแแแแแแ แแแแฎแแแ แแแแแกแแแ แแแแแขแแแแ แแแแแกแขแฃแ แแแแก. แแฃแแชแ, แแก แฅแชแแแ แจแแแซแแแแ แจแแแชแแแแแก แแกแ, แ แแ Nova แแ แแแแแแแแแ แแแแฎแแแ แแแแแกแแแ แแแแแขแแแแ แแแฅแแแแแแแแก.
แแแแแแแแฃแแ แแ แแฃแแแแขแ Terraform-แก แกแแจแฃแแแแแแก แแซแแแแก แแ แแแแแแแแก แกแขแแขแฃแกแก แแแแแแแฌแแแแแก_ แแแแแก แจแแชแแแ แกแแ แแแ แแกแแแแก แแ แแแแแแแแแ แแแแกแแแแก, แ แแ แกแแ แแแ แ แแงแแก แแฅแขแแฃแ แกแขแแขแฃแกแจแ แแแกแ แแแ แแแแขแ แแแแก แจแแชแแแแก แจแแแแแ. แแ แแฃแแแแขแ แฎแแแแแกแแฌแแแแแแ OpenStack Terraform แแ แแแแแแแ แแก 1.10.0 แแแ แกแแแแแ:
แ แแกแฃแ แกแแแแก แจแแฅแแแ
แแแแแคแแกแขแแแแก แแแจแแแแแแแ, แแแฎแแแ แแแแแแแแแกแฌแแแแ, แ แแ แฉแแแแก แแแแแแแแจแ แแแจแแแแฃแแแ แแ แ แแแแกแฎแแแแแแฃแแ แแ แแแแแแแ แ, แฎแแแ OpenStack แแ แแแแแแแ แ แแแแแแแแแแฃแแแ Selectel แแ แแแแแแแ แแก แ แแกแฃแ แกแแแแ, แ แแแแแ แแ แแแฅแขแจแ แแแแฎแแแ แแแแแก แจแแฅแแแแก แแแ แแจแ แจแแฃแซแแแแแแแ แแแกแ แแฃแแแแแแ แแแแแฅแขแแแแก แแแ แแแ. . แกแแแฌแฃแฎแแ แแ, แแแแแ แแแแแแแ แฉแแแ แแ แจแแแแแซแแแ แฃแแ แแแแ แแแฃแจแแแ แแ แซแแแแแ แขแแ แแคแแ แแแก แแแแแงแแแแแ แฉแแแแ แแแแแแแแแก แจแแแแแ. แฉแแแ แฏแแ แฃแแแ แแแแแแแแแ แแ แชแแแแแแ แแแแฃแแแกแแแแก แแ แแแฅแขแ_แแแแฎแแแ แแแแแแแ แแ แแแแก แจแแแแแ แงแแแแ แแแแแ แฉแแแแกแแแแก.
แจแแแแจแแแ: แแก แกแแแแแฎแ แฏแแ แแ แแ แแก แแแแแแ แแแฃแแ Terraform-แจแ, แจแแแแซแแแแ แแแแแ แแแแแแแ แแแแฎแแแแแก Github-แแ
แ แแกแฃแ แกแแแแก แจแแกแแฅแแแแแแ แแแแแแแ แแแ แแฅแขแแ แแแจแ
$ ls
README.md main.tf vars.tf
แฉแแแ แแแแฃแแแแแก แแแแชแแแแแแแชแแแก แแแแแแแแ แแ แซแแแแแแก แแแแแงแแแแแแ:
$ terraform init
แแแแแแแแแแ แแแแฉแแแแแแก, แ แแ Terraform แฉแแแแขแแแ แแแแก แแแก แแแแ แแแแแงแแแแแฃแแ แแ แแแแแแแ แแแแก แฃแแฎแแแก แแแ แกแแแแก แแ แแแแฌแแแแก แแแแแแแแจแ แแฆแฌแแ แแ แงแแแแ แแแแฃแแก.
แฏแแ แแแแแแแงแแแแ แแแแฃแแ แแ แแแฅแขแ_แแแแฎแแแ แแแแแแแ. แแก แแแแแฎแแแก แแแแจแแแแแแแแแแก แฎแแแแ แแแแแชแแแแก แแ แชแแแแแแแแกแแแแก, แ แแแแแแแช แแ แแ แแก แแแงแแแแแฃแแ:
- sel_แแแแแ แแจแ แแฅแแแแ Selectel แแแแแ แแจแแก แแแแ แแ;
- sel_token แแฅแแแแ แแแกแแฆแแแแ Selectel API-แกแแแแก;
- แแแแฎแแแ แแแแแก แแแ แแแ แแแ แแแแ OpenStack แแแแฎแแแ แแแแแกแแแแก.
แแแ แแแแ แแ แ แชแแแแแแก แแแแจแแแแแแแแแ แฃแแแ แแงแแก แแฆแแแฃแแ
แแแแ แชแแแแแแกแแแแก แจแแแแซแแแแ แแแแแกแแแแ แ แแแ แแแแก แแแซแแแแ.
แแแแฃแแแก แแแแแกแแงแแแแแแแ แกแแญแแ แแ แแแแจแแแแแแแแแแก แจแแชแแแ SEL_ACCOUNT, 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
แแ แซแแแแแแก แแแจแแแแแก แจแแแแแ, 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"
แแฅแแแ แจแแแแซแแแแ แแแฃแจแแแ แจแแฅแแแแ แแแ แขแฃแแแฃแ แแแแฅแแแแกแแแ SSH-แแก แกแแจแฃแแแแแแ แแแแแแแแฃแแ IP-แแก แแแแแงแแแแแแ.
แ แแกแฃแ แกแแแแก แ แแแแฅแขแแ แแแ
Terraform-แแก แกแแจแฃแแแแแแ แ แแกแฃแ แกแแแแก แจแแฅแแแแก แแแ แแ, แแแแ แจแแชแแแแช แจแแกแแซแแแแแแแ.
แแแแแแแแแ, แแแแแ แแแแแแ แแแ แแแ แแแแแแก แแ แแแฎแกแแแ แแแแก แ แแแแแแแแ แฉแแแแ แกแแ แแแ แแกแแแแก, แแแ แแแแขแ แแแแก แแแแจแแแแแแแแแแก แจแแชแแแแ. server_vcpus ะธ server_ram_mb แคแแแแจแ examples/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.
แแแฎแแแ แแแแแแแแแกแฌแแแแ, แ แแ แแก แแแแแแฌแแแแก แจแแฅแแแแแ แแแ แขแฃแแแฃแ แ แแแแฅแแแแก แแแแแขแแแ แแแแก.
แแฎแแแ แแแ แขแฃแแแฃแ แ แแแแฅแแแแก แแแแคแแแฃแ แแชแแแก แแแแแกแแงแแแแแแแ แแแแแแงแแแแ แแ แซแแแแแ แขแแ แแคแแ แแแก แแแแแงแแแแแ, แ แแแแแแช แฉแแแ แฃแแแ แแแแฃแจแแแ แแแ แ.
แงแแแแ แจแแฅแแแแแ แแแแแฅแขแ แแแแแฉแแแแแ
แฉแแแแก
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 แจแแแแซแแแแ แแแฎแแ แแแแฃแแแกแฎแแแแ แแแแจแแแแแแแแแ, แ แแแแ แแชแแ แแแแแซแแแแก แ แแแแแแแแ, แแแแ แแแฎแแกแแแแแแแแแ, Kubernetes แแแ แกแแ แแ แ.แจ.
แแแ แแแแ แแแแแแแแแก แแกแแแแกแ แ แแกแฃแ แกแแแแก แจแแกแแฅแแแแแแ, แแแ แแแ แ แแแจแ แแแแแฌแงแแแ แแแแฃแแแแแก แแแแชแแแแแแแชแแแก แแ แแแแฃแแแก แ แแกแฃแ แกแแแแก แจแแฅแแแแก แแ แแแฅแขแ_แแแแฎแแแ แแแแแแแแแ แจแแแแแ แงแแแแแคแแ แ แแแแแ แฉแแแแก แจแแฅแแแ:
$ 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 แแแแแแแแแขแแก แแแจแแแแแแ. แแฅแแแ แจแแแแซแแแแ แแแแแแ แแแขแ, แแฃ แ แแแแ แฃแแแ แแแฃแจแแแ แแแแกแขแแ แแแ แแ แ-แแ แ แฉแแแแแแแจแ
แแแแกแขแแ แแก แแแแแแแแแแกแแก แจแแแฅแแแแแ แแแกแแแแ แแ แแแ แขแฃแแแฃแ แ แแแแฅแแแแแ แแ แแแแแแขแแแแแแ แงแแแแ แกแแญแแ แ แแแแแแแแแขแ. แแแแแแแแแแก แแแแฎแแแแแแ 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 แแแแกแขแแ แแก แแแ แแแ แฃแขแแแแขแแก แกแแจแฃแแแแแแ แแฃแแแฅแขแแ แแฅแแแ แฃแแแ แแแแฆแแ แแแแกแขแแ แฃแแ แฌแแแแแแก แคแแแแ. แแแแกแแแแแก แแแแแแแ Terraform-แแก แแแจแแแแแแ แจแแฅแแแแ แแ แแแฅแขแแ แแฅแแแแก แแแแแ แแจแจแ แแ แกแแแฃแแ แแ แแแฅแขแแแแก แกแแแจแ:
แจแแแแแแ, แแแฐแงแแแแ แแแฃแแก like
แจแแกแแแแก แแแคแแ แแแชแแแกแแแแก แแแแแแงแแแแ แแแแฎแแแ แแแแแก แกแแฎแแแ แแ แแแ แแแ, แ แแแแแแช แจแแฅแแแแแ Terraform-แแก แแแจแแแแแแ. แแฃ แแ แแแแแขแงแฃแ vars.tf แแ แแแแแแ แ.แขแค แฉแแแแ แแแแแแแแแกแแแแก, แแแแฎแแแ แแแแแก แแฅแแแแ แกแแฎแแแ tf_user. แแฅแแแ แฃแแแ แแแแแแงแแแแ แชแแแแแแก แแแแจแแแแแแแ, แ แแแแ แช แแแ แแแ TF_VAR_user_password, แ แแแแแแช แแแแแแแแฃแแ แแงแ แแแจแแแแแกแแก แขแแ แแคแแ แแแก แแแแแงแแแแแ แแแ แ.
แแ แแแฅแขแแก แจแแแแแ แแฅแแแ แฃแแแ แแแแแฎแแแแแ แฉแแแแ แแแ แแฃแแแ แแแขแแแ:
แกแฌแแ แแ แแฅ แแแแแแ แแแแก Terraform-แแก แแแจแแแแแแ แจแแฅแแแแแ แแแแกแขแแ แ. แคแแแแแก แฉแแแแขแแแ แแแ แแแแกแแแแก แแฃแแแฅแขแแ "แฌแแแแแแก" แฉแแแแ แแแ แจแแแแซแแแแ:
แแแกแขแแแแชแแแก แแแกแขแ แฃแฅแชแแแแ แแแแแแแกแแแฃแแแ แแแแแ แฉแแแแ แแแ. แแฃแแแฅแขแแ แแ แแแแแแฌแแ แแแแก แแแแแงแแแแแ config.yaml.
แแแจแแแแแก แจแแแแแ แแฃแแแฅแขแแ แแ แแแ แแแแก แชแแแแแแก แแแงแแแแแ 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-แแก แกแแจแฃแแแแแแ.
แคแแแแจแ แแแแแแ แ.แขแค แแแแแแแแฃแแแ แจแแแแแแ แแแแจแแแแแแแ:
cluster_node_count = "${var.cluster_node_count}"
แแก แแแแจแแแแแแแ แฉแแแแชแแแแแฃแแแ vars.tf:
variable "cluster_node_count" {
default = 2
}
แแฅแแแ แจแแแแซแแแแ แจแแชแแแแแ แแแแฃแแแกแฎแแแแ แแแแจแแแแแแแ vars.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
แ แแแแกแแช แแแแแซแแแแก แ แแแแแแแแ แจแแแชแแแแแ, แแแแกแขแแ แ แฎแแแแแกแแฌแแแแแ แแแ แฉแแแ. 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