ಟೆರಾಫಾರ್ಮ್ ಪೂರೈಕೆದಾರ ಸೆಲೆಕ್ಟೆಲ್

ಟೆರಾಫಾರ್ಮ್ ಪೂರೈಕೆದಾರ ಸೆಲೆಕ್ಟೆಲ್

ಸೆಲೆಕ್ಟೆಲ್‌ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ನಾವು ಅಧಿಕೃತ ಟೆರಾಫಾರ್ಮ್ ಪೂರೈಕೆದಾರರನ್ನು ಪ್ರಾರಂಭಿಸಿದ್ದೇವೆ. ಈ ಉತ್ಪನ್ನವು ಮೂಲಸೌಕರ್ಯ-ಕೋಡ್ ವಿಧಾನದ ಮೂಲಕ ಸಂಪನ್ಮೂಲ ನಿರ್ವಹಣೆಯನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಬಳಕೆದಾರರನ್ನು ಅನುಮತಿಸುತ್ತದೆ.

ಪೂರೈಕೆದಾರರು ಪ್ರಸ್ತುತ ಸೇವಾ ಸಂಪನ್ಮೂಲ ನಿರ್ವಹಣೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತಾರೆ "ವರ್ಚುವಲ್ ಖಾಸಗಿ ಮೋಡ" (ಇನ್ನು ಮುಂದೆ VPC ಎಂದು ಉಲ್ಲೇಖಿಸಲಾಗುತ್ತದೆ). ಭವಿಷ್ಯದಲ್ಲಿ, ಸೆಲೆಕ್ಟೆಲ್ ಒದಗಿಸುವ ಇತರ ಸೇವೆಗಳಿಗೆ ಸಂಪನ್ಮೂಲ ನಿರ್ವಹಣೆಯನ್ನು ಸೇರಿಸಲು ನಾವು ಯೋಜಿಸುತ್ತೇವೆ.

ನೀವು ಈಗಾಗಲೇ ತಿಳಿದಿರುವಂತೆ, VPC ಸೇವೆಯನ್ನು OpenStack ನಲ್ಲಿ ನಿರ್ಮಿಸಲಾಗಿದೆ. ಆದಾಗ್ಯೂ, ಓಪನ್‌ಸ್ಟ್ಯಾಕ್ ಸಾರ್ವಜನಿಕ ಕ್ಲೌಡ್‌ಗೆ ಸೇವೆ ಸಲ್ಲಿಸಲು ಸ್ಥಳೀಯ ಪರಿಕರಗಳನ್ನು ಒದಗಿಸದ ಕಾರಣ, ಸಂಕೀರ್ಣವಾದ ಸಂಯೋಜಿತ ವಸ್ತುಗಳ ನಿರ್ವಹಣೆಯನ್ನು ಸರಳಗೊಳಿಸುವ ಮತ್ತು ಕೆಲಸವನ್ನು ಹೆಚ್ಚು ಅನುಕೂಲಕರವಾಗಿಸುವ ಹೆಚ್ಚುವರಿ API ಗಳ ಗುಂಪಿನಲ್ಲಿ ಕಾಣೆಯಾದ ಕಾರ್ಯವನ್ನು ನಾವು ಕಾರ್ಯಗತಗೊಳಿಸಿದ್ದೇವೆ. OpenStack ನಲ್ಲಿ ಲಭ್ಯವಿರುವ ಕೆಲವು ಕಾರ್ಯಗಳನ್ನು ನೇರ ಬಳಕೆಯಿಂದ ಮುಚ್ಚಲಾಗಿದೆ, ಆದರೆ ಮೂಲಕ ಲಭ್ಯವಿದೆ ನಮ್ಮ API.

ಸೆಲೆಕ್ಟೆಲ್ ಟೆರಾಫಾರ್ಮ್ ಪ್ರೊವೈಡರ್ ಈಗ ಕೆಳಗಿನ VPC ಸಂಪನ್ಮೂಲಗಳನ್ನು ನಿರ್ವಹಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಒಳಗೊಂಡಿದೆ:

  • ಯೋಜನೆಗಳು ಮತ್ತು ಅವುಗಳ ಕೋಟಾಗಳು;
  • ಬಳಕೆದಾರರು, ಅವರ ಪಾತ್ರಗಳು ಮತ್ತು ಟೋಕನ್ಗಳು;
  • ಅಡ್ಡ-ಪ್ರಾದೇಶಿಕ ಮತ್ತು VRRP ಸೇರಿದಂತೆ ಸಾರ್ವಜನಿಕ ಸಬ್‌ನೆಟ್‌ಗಳು;
  • ಸಾಫ್ಟ್ವೇರ್ ಪರವಾನಗಿಗಳು.

ಪೂರೈಕೆದಾರರು VPC API ಜೊತೆಗೆ ಕೆಲಸ ಮಾಡಲು ನಮ್ಮ ಸಾರ್ವಜನಿಕ ಗೋ ಲೈಬ್ರರಿಯನ್ನು ಬಳಸುತ್ತಾರೆ. ಲೈಬ್ರರಿ ಮತ್ತು ಪೂರೈಕೆದಾರರು ಎರಡೂ ತೆರೆದ ಮೂಲಗಳಾಗಿವೆ, ಅವುಗಳ ಅಭಿವೃದ್ಧಿಯನ್ನು ಗಿಥಬ್‌ನಲ್ಲಿ ನಡೆಸಲಾಗುತ್ತದೆ:

ವರ್ಚುವಲ್ ಯಂತ್ರಗಳು, ಡಿಸ್ಕ್ಗಳು, ಕುಬರ್ನೆಟ್ಸ್ ಕ್ಲಸ್ಟರ್‌ಗಳಂತಹ ಇತರ ಕ್ಲೌಡ್ ಸಂಪನ್ಮೂಲಗಳನ್ನು ನಿರ್ವಹಿಸಲು, ನೀವು OpenStack Terraform ಪೂರೈಕೆದಾರರನ್ನು ಬಳಸಬಹುದು. ಎರಡೂ ಪೂರೈಕೆದಾರರಿಗೆ ಅಧಿಕೃತ ದಾಖಲೆಗಳು ಈ ಕೆಳಗಿನ ಲಿಂಕ್‌ಗಳಲ್ಲಿ ಲಭ್ಯವಿದೆ:

ಆರಂಭಿಸುವಿಕೆ

ಪ್ರಾರಂಭಿಸಲು, ನೀವು ಟೆರ್ರಾಫಾರ್ಮ್ ಅನ್ನು ಸ್ಥಾಪಿಸಬೇಕು (ಸೂಚನೆಗಳು ಮತ್ತು ಅನುಸ್ಥಾಪನ ಪ್ಯಾಕೇಜ್‌ಗಳಿಗೆ ಲಿಂಕ್‌ಗಳನ್ನು ಇಲ್ಲಿ ಕಾಣಬಹುದು ಅಧಿಕೃತ ವೆಬ್ಸೈಟ್).

ಕಾರ್ಯನಿರ್ವಹಿಸಲು, ಒದಗಿಸುವವರಿಗೆ ಸೆಲೆಕ್ಟೆಲ್ API ಕೀ ಅಗತ್ಯವಿದೆ, ಅದನ್ನು ರಚಿಸಲಾಗಿದೆ ಖಾತೆ ನಿಯಂತ್ರಣ ಫಲಕಗಳು.

ಸೆಲೆಕ್ಟೆಲ್‌ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವ ಮ್ಯಾನಿಫೆಸ್ಟ್‌ಗಳನ್ನು ಟೆರಾಫಾರ್ಮ್ ಬಳಸಿ ಅಥವಾ ನಮ್ಮ ಗಿಥಬ್ ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ಲಭ್ಯವಿರುವ ಸಿದ್ಧ ಉದಾಹರಣೆಗಳ ಸೆಟ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ರಚಿಸಲಾಗಿದೆ: ಟೆರಾಫಾರ್ಮ್-ಉದಾಹರಣೆಗಳು.

ಉದಾಹರಣೆಗಳೊಂದಿಗೆ ರೆಪೊಸಿಟರಿಯನ್ನು ಎರಡು ಡೈರೆಕ್ಟರಿಗಳಾಗಿ ವಿಂಗಡಿಸಲಾಗಿದೆ:

  • ಮಾಡ್ಯೂಲ್, ಸಣ್ಣ ಮರುಬಳಕೆ ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ, ಅದು ಪ್ಯಾರಾಮೀಟರ್‌ಗಳ ಗುಂಪನ್ನು ಇನ್‌ಪುಟ್ ಆಗಿ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಸಣ್ಣ ಸಂಪನ್ಮೂಲಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ;
  • ಉದಾಹರಣೆಗಳು, ಸಂಪೂರ್ಣ ಅಂತರ್ಸಂಪರ್ಕಿತ ಮಾಡ್ಯೂಲ್‌ಗಳ ಉದಾಹರಣೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.

ಟೆರಾಫಾರ್ಮ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿದ ನಂತರ, ಸೆಲೆಕ್ಟೆಲ್ API ಕೀಲಿಯನ್ನು ರಚಿಸಿ ಮತ್ತು ಉದಾಹರಣೆಗಳೊಂದಿಗೆ ನೀವೇ ಪರಿಚಿತರಾಗಿ, ಪ್ರಾಯೋಗಿಕ ಉದಾಹರಣೆಗಳಿಗೆ ಹೋಗೋಣ.

ಸ್ಥಳೀಯ ಡಿಸ್ಕ್ನೊಂದಿಗೆ ಸರ್ವರ್ ಅನ್ನು ರಚಿಸುವ ಉದಾಹರಣೆ

ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ರಚಿಸುವ ಉದಾಹರಣೆಯನ್ನು ನೋಡೋಣ, ಪಾತ್ರವನ್ನು ಹೊಂದಿರುವ ಬಳಕೆದಾರರು ಮತ್ತು ಸ್ಥಳೀಯ ಡಿಸ್ಕ್ನೊಂದಿಗೆ ವರ್ಚುವಲ್ ಯಂತ್ರ: ಟೆರಾಫಾರ್ಮ್-ಉದಾಹರಣೆಗಳು/ಉದಾಹರಣೆಗಳು/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")}"
}

ಅಗತ್ಯವಿದ್ದರೆ, ನೀವು ಬೇರೆ ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು. ಕೀಲಿಯನ್ನು ಫೈಲ್ ಮಾರ್ಗವಾಗಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕಾಗಿಲ್ಲ; ನೀವು ಮೌಲ್ಯವನ್ನು ಸ್ಟ್ರಿಂಗ್ ಆಗಿ ಕೂಡ ಸೇರಿಸಬಹುದು.

ಈ ಫೈಲ್‌ನಲ್ಲಿ ಮತ್ತಷ್ಟು ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗಿದೆ ಬಳಕೆದಾರರೊಂದಿಗೆ_ಯೋಜನೆ и ಸರ್ವರ್_ಲೋಕಲ್_ರೂಟ್_ಡಿಸ್ಕ್, ಇದು ಅಗತ್ಯ ಸಂಪನ್ಮೂಲಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ.

ಈ ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಹೆಚ್ಚು ವಿವರವಾಗಿ ನೋಡೋಣ.

ಪ್ರಾಜೆಕ್ಟ್ ಮತ್ತು ಪಾತ್ರವನ್ನು ಹೊಂದಿರುವ ಬಳಕೆದಾರರನ್ನು ರಚಿಸುವುದು

ಮೊದಲ ಮಾಡ್ಯೂಲ್ ಪ್ರಾಜೆಕ್ಟ್ ಮತ್ತು ಆ ಪ್ರಾಜೆಕ್ಟ್‌ನಲ್ಲಿ ಪಾತ್ರವನ್ನು ಹೊಂದಿರುವ ಬಳಕೆದಾರರನ್ನು ರಚಿಸುತ್ತದೆ: ಟೆರಾಫಾರ್ಮ್-ಉದಾಹರಣೆಗಳು/ಮಾಡ್ಯೂಲ್‌ಗಳು/vpc/project_with_user.

ರಚಿಸಿದ ಬಳಕೆದಾರರು OpenStack ಗೆ ಲಾಗ್ ಇನ್ ಮಾಡಲು ಮತ್ತು ಅದರ ಸಂಪನ್ಮೂಲಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. ಮಾಡ್ಯೂಲ್ ಸರಳವಾಗಿದೆ ಮತ್ತು ಕೇವಲ ಮೂರು ಘಟಕಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ:

  • selectel_vpc_project_v2,
  • selectel_vpc_user_v2,
  • selectel_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 ವರ್ಚುವಲ್ ಯಂತ್ರವನ್ನು ರಚಿಸಲು ಬಳಸಿದ ಚಿತ್ರಕ್ಕಾಗಿ. VPC ಸೇವೆಯಲ್ಲಿ, ಹೆಚ್ಚಿನ ಸಾರ್ವಜನಿಕ ಚಿತ್ರಗಳನ್ನು ವಾರಕ್ಕೊಮ್ಮೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ನವೀಕರಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಅದೇ ಸಮಯದಲ್ಲಿ ಅವುಗಳ id ಸಹ ಬದಲಾಗುತ್ತದೆ. ಇದು OpenStack ಘಟಕದ ವಿಶಿಷ್ಟತೆಗಳ ಕಾರಣದಿಂದಾಗಿ - ಗ್ಲಾನ್ಸ್, ಇದರಲ್ಲಿ ಚಿತ್ರಗಳನ್ನು ಬದಲಾಯಿಸಲಾಗದ ಘಟಕಗಳು ಎಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ.

ನೀವು ಆರ್ಗ್ಯುಮೆಂಟ್ ಹೊಂದಿರುವ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಸರ್ವರ್ ಅಥವಾ ಡಿಸ್ಕ್ ಅನ್ನು ರಚಿಸುತ್ತಿದ್ದರೆ ಅಥವಾ ಮಾರ್ಪಡಿಸುತ್ತಿದ್ದರೆ image_id ಬಳಸಲಾಗುತ್ತದೆ id ಸಾರ್ವಜನಿಕ ಚಿತ್ರ, ನಂತರ ಆ ಚಿತ್ರವನ್ನು ನವೀಕರಿಸಿದ ನಂತರ, Terraform ಮ್ಯಾನಿಫೆಸ್ಟ್ ಅನ್ನು ಮತ್ತೆ ಚಾಲನೆ ಮಾಡುವುದು ಸರ್ವರ್ ಅಥವಾ ಡಿಸ್ಕ್ ಅನ್ನು ಮರುಸೃಷ್ಟಿಸುತ್ತದೆ. ವಾದವನ್ನು ಬಳಸುವುದು ನಿರ್ಲಕ್ಷಿಸಿ_ಬದಲಾವಣೆಗಳು ಅಂತಹ ಪರಿಸ್ಥಿತಿಯನ್ನು ತಪ್ಪಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.

ಗಮನಿಸಿ: ವಾದ ನಿರ್ಲಕ್ಷಿಸಿ_ಬದಲಾವಣೆಗಳು ಟೆರಾಫಾರ್ಮ್‌ನಲ್ಲಿ ಬಹಳ ಹಿಂದೆಯೇ ಕಾಣಿಸಿಕೊಂಡಿದೆ: ಎಳೆಯಿರಿ#2525.

ವಾದ ನಿರ್ಲಕ್ಷಿಸಿ_ಗಾತ್ರಗೊಳಿಸಿ_ದೃಢೀಕರಣ ಸ್ಥಳೀಯ ಡಿಸ್ಕ್, ಕೋರ್ಗಳು ಅಥವಾ ಸರ್ವರ್ ಮೆಮೊರಿಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಮರುಗಾತ್ರಗೊಳಿಸಲು ಅಗತ್ಯವಿದೆ. ವಿನಂತಿಯನ್ನು ಬಳಸಿಕೊಂಡು OpenStack Nova ಘಟಕದ ಮೂಲಕ ಇಂತಹ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಲಾಗುತ್ತದೆ ಗಾತ್ರ ಬದಲಾವಣೆ. ವಿನಂತಿಯ ನಂತರ ಡೀಫಾಲ್ಟ್ Nova ಗಾತ್ರ ಬದಲಾವಣೆ ಸರ್ವರ್ ಅನ್ನು ಸ್ಥಿತಿಗೆ ತರುತ್ತದೆ verify_resize ಮತ್ತು ಬಳಕೆದಾರರಿಂದ ಹೆಚ್ಚುವರಿ ದೃಢೀಕರಣಕ್ಕಾಗಿ ಕಾಯುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಈ ನಡವಳಿಕೆಯನ್ನು ಬದಲಾಯಿಸಬಹುದು ಇದರಿಂದ ನೋವಾ ಬಳಕೆದಾರರಿಂದ ಹೆಚ್ಚುವರಿ ಕ್ರಿಯೆಗಳಿಗಾಗಿ ಕಾಯುವುದಿಲ್ಲ.

ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ವಾದವು ಟೆರಾಫಾರ್ಮ್ ಸ್ಥಿತಿಗಾಗಿ ಕಾಯದಿರಲು ಅನುಮತಿಸುತ್ತದೆ verify_resize ಸರ್ವರ್‌ಗಾಗಿ ಮತ್ತು ಅದರ ನಿಯತಾಂಕಗಳನ್ನು ಬದಲಾಯಿಸಿದ ನಂತರ ಸರ್ವರ್ ಸಕ್ರಿಯ ಸ್ಥಿತಿಯಲ್ಲಿರಲು ಸಿದ್ಧರಾಗಿರಿ. OpenStack Terraform ಪೂರೈಕೆದಾರರ ಆವೃತ್ತಿ 1.10.0 ನಿಂದ ವಾದವು ಲಭ್ಯವಿದೆ: ಎಳೆಯಿರಿ#422.

ಸಂಪನ್ಮೂಲಗಳನ್ನು ರಚಿಸುವುದು

ಮ್ಯಾನಿಫೆಸ್ಟ್‌ಗಳನ್ನು ಚಲಾಯಿಸುವ ಮೊದಲು, ನಮ್ಮ ಉದಾಹರಣೆಯಲ್ಲಿ, ಎರಡು ವಿಭಿನ್ನ ಪೂರೈಕೆದಾರರನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗಿದೆ ಮತ್ತು OpenStack ಪೂರೈಕೆದಾರರು ಸೆಲೆಕ್ಟೆಲ್ ಪೂರೈಕೆದಾರರ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ ಎಂಬುದನ್ನು ದಯವಿಟ್ಟು ಗಮನಿಸಿ, ಏಕೆಂದರೆ ಯೋಜನೆಯಲ್ಲಿ ಬಳಕೆದಾರರನ್ನು ರಚಿಸದೆ, ಅದಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ವಸ್ತುಗಳನ್ನು ನಿರ್ವಹಿಸುವುದು ಅಸಾಧ್ಯ . ದುರದೃಷ್ಟವಶಾತ್, ಅದೇ ಕಾರಣಕ್ಕಾಗಿ ನಾವು ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ ಟೆರಾಫಾರ್ಮ್ ಅನ್ವಯಿಸುತ್ತದೆ ನಮ್ಮ ಉದಾಹರಣೆಯೊಳಗೆ. ನಾವು ಮೊದಲು ಮಾಡಬೇಕಾಗಿದೆ ಅನ್ವಯಿಸು ಮಾಡ್ಯೂಲ್ಗಾಗಿ ಬಳಕೆದಾರರೊಂದಿಗೆ_ಯೋಜನೆ ಮತ್ತು ಅದರ ನಂತರ ಎಲ್ಲದಕ್ಕೂ.

ಗಮನಿಸಿ: ಟೆರಾಫಾರ್ಮ್‌ನಲ್ಲಿ ಈ ಸಮಸ್ಯೆಯನ್ನು ಇನ್ನೂ ಪರಿಹರಿಸಲಾಗಿಲ್ಲ, ನೀವು Github ನಲ್ಲಿ ಚರ್ಚೆಯನ್ನು ಅನುಸರಿಸಬಹುದು ಸಂಚಿಕೆ#2430 и ಸಂಚಿಕೆ#4149.

ಸಂಪನ್ಮೂಲಗಳನ್ನು ರಚಿಸಲು, ಡೈರೆಕ್ಟರಿಗೆ ಹೋಗಿ ಟೆರಾಫಾರ್ಮ್-ಉದಾಹರಣೆಗಳು/ಉದಾಹರಣೆಗಳು/vpc/server_local_root_disk, ಅದರ ವಿಷಯಗಳು ಹೀಗಿರಬೇಕು:

$ ls
README.md	   main.tf		vars.tf

ನಾವು ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಮಾಡ್ಯೂಲ್ಗಳನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ:

$ terraform init

ಟೆರ್ರಾಫಾರ್ಮ್ ಅದು ಬಳಸುವ ಪೂರೈಕೆದಾರರ ಇತ್ತೀಚಿನ ಆವೃತ್ತಿಗಳನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಉದಾಹರಣೆಯಲ್ಲಿ ವಿವರಿಸಿದ ಎಲ್ಲಾ ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ ಎಂದು ಔಟ್‌ಪುಟ್ ತೋರಿಸುತ್ತದೆ.

ಮೊದಲು ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಅನ್ವಯಿಸೋಣ ಬಳಕೆದಾರರೊಂದಿಗೆ_ಯೋಜನೆ. ಹೊಂದಿಸದಿರುವ ವೇರಿಯೇಬಲ್‌ಗಳಿಗೆ ಮೌಲ್ಯಗಳನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ರವಾನಿಸುವ ಅಗತ್ಯವಿದೆ:

  • sel_account ನಿಮ್ಮ ಸೆಲೆಕ್ಟೆಲ್ ಖಾತೆ ಸಂಖ್ಯೆಯೊಂದಿಗೆ;
  • ಸೆಲ್_ಟೋಕನ್ ಸೆಲೆಕ್ಟೆಲ್ 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 ನಿಯಂತ್ರಣ ಫಲಕಗಳು:

ಟೆರಾಫಾರ್ಮ್ ಪೂರೈಕೆದಾರ ಸೆಲೆಕ್ಟೆಲ್

ನಮ್ಮಲ್ಲಿ ಉದಾಹರಣೆ ರೆಪೊಸಿಟರಿಗಳು ನೆಟ್‌ವರ್ಕ್ ಡ್ರೈವ್‌ಗಳೊಂದಿಗೆ ವರ್ಚುವಲ್ ಯಂತ್ರಗಳನ್ನು ರಚಿಸಲು ನೀವು ಮ್ಯಾನಿಫೆಸ್ಟ್‌ಗಳನ್ನು ಸಹ ನೋಡಬಹುದು.

ಕುಬರ್ನೆಟ್ಸ್ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ರಚಿಸುವ ಉದಾಹರಣೆ

ನಾವು ಮುಂದಿನ ಉದಾಹರಣೆಗೆ ತೆರಳುವ ಮೊದಲು, ನಾವು ಮೊದಲು ರಚಿಸಿದ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಸ್ವಚ್ಛಗೊಳಿಸುತ್ತೇವೆ. ಯೋಜನೆಯ ಮೂಲದಲ್ಲಿ ಇದನ್ನು ಮಾಡಲು ಟೆರಾಫಾರ್ಮ್-ಉದಾಹರಣೆಗಳು/ಉದಾಹರಣೆಗಳು/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

ನಂತರ ಸೆಲೆಕ್ಟೆಲ್ 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

ಕೆಳಗಿನ ಉದಾಹರಣೆಯು ಡೈರೆಕ್ಟರಿಯಲ್ಲಿದೆ ಟೆರಾಫಾರ್ಮ್-ಉದಾಹರಣೆಗಳು/ಉದಾಹರಣೆಗಳು/vpc/kubernetes_cluster.

ಈ ಉದಾಹರಣೆಯು ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ, ಪ್ರಾಜೆಕ್ಟ್‌ನಲ್ಲಿ ಪಾತ್ರವನ್ನು ಹೊಂದಿರುವ ಬಳಕೆದಾರ, ಮತ್ತು ಒಂದು ಕುಬರ್ನೆಟ್ಸ್ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ಹುಟ್ಟುಹಾಕುತ್ತದೆ. ಕಡತದಲ್ಲಿ 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)

ಅನುಸ್ಥಾಪನೆಯು ಪೂರ್ಣಗೊಂಡ ನಂತರ, ಕ್ಲಸ್ಟರ್ ಸಿದ್ಧವಾಗಿದೆ ಎಂದು 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.

ಉಪಯುಕ್ತತೆಯ ಮೂಲಕ ರಚಿಸಲಾದ ಕುಬರ್ನೆಟ್ಸ್ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ನಿರ್ವಹಿಸಲು kubectl ನೀವು ಕ್ಲಸ್ಟರ್ ಪ್ರವೇಶ ಫೈಲ್ ಅನ್ನು ಪಡೆಯಬೇಕು. ಇದನ್ನು ಮಾಡಲು, ನಿಮ್ಮ ಖಾತೆಯಲ್ಲಿನ ಯೋಜನೆಗಳ ಪಟ್ಟಿಯಲ್ಲಿ Terraform ಮೂಲಕ ರಚಿಸಲಾದ ಯೋಜನೆಗೆ ಹೋಗಿ:

ಟೆರಾಫಾರ್ಮ್ ಪೂರೈಕೆದಾರ ಸೆಲೆಕ್ಟೆಲ್

ಮುಂದೆ, ಲಿಂಕ್ ಅನ್ನು ಅನುಸರಿಸಿ xxxxxx.selvpc.ruಯೋಜನೆಯ ಹೆಸರಿನ ಕೆಳಗೆ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ:

ಟೆರಾಫಾರ್ಮ್ ಪೂರೈಕೆದಾರ ಸೆಲೆಕ್ಟೆಲ್

ಲಾಗಿನ್ ಮಾಹಿತಿಗಾಗಿ, ನೀವು Terraform ಮೂಲಕ ರಚಿಸಿದ ಬಳಕೆದಾರಹೆಸರು ಮತ್ತು ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಬಳಸಿ. ನೀವು ಮೋಸ ಮಾಡದಿದ್ದರೆ vars.tf ಅಥವಾ main.tf ನಮ್ಮ ಉದಾಹರಣೆಗಾಗಿ, ಬಳಕೆದಾರರು ಹೆಸರನ್ನು ಹೊಂದಿರುತ್ತಾರೆ tf_user. ನೀವು ವೇರಿಯಬಲ್ ಮೌಲ್ಯವನ್ನು ಪಾಸ್ವರ್ಡ್ ಆಗಿ ಬಳಸಬೇಕು TF_VAR_user_password, ಇದನ್ನು ಪ್ರಾರಂಭದಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿದೆ ಟೆರಾಫಾರ್ಮ್ ಅನ್ವಯಿಸುತ್ತದೆ ಮೊದಲು.

ಯೋಜನೆಯ ಒಳಗೆ ನೀವು ಟ್ಯಾಬ್ಗೆ ಹೋಗಬೇಕಾಗುತ್ತದೆ ಕುಬರ್ನೆಟ್ಸ್:

ಟೆರಾಫಾರ್ಮ್ ಪೂರೈಕೆದಾರ ಸೆಲೆಕ್ಟೆಲ್

ಇಲ್ಲಿಯೇ ಟೆರಾಫಾರ್ಮ್ ಮೂಲಕ ರಚಿಸಲಾದ ಕ್ಲಸ್ಟರ್ ಇದೆ. ಗಾಗಿ ಫೈಲ್ ಅನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ 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

ತೀರ್ಮಾನಕ್ಕೆ

ಈ ಲೇಖನದಲ್ಲಿ ನಾವು ಕೆಲಸ ಮಾಡುವ ಮುಖ್ಯ ವಿಧಾನಗಳೊಂದಿಗೆ ಪರಿಚಯ ಮಾಡಿಕೊಂಡಿದ್ದೇವೆ "ವರ್ಚುವಲ್ ಖಾಸಗಿ ಮೋಡ" ಟೆರಾಫಾರ್ಮ್ ಮೂಲಕ. ನೀವು ಅಧಿಕೃತ ಟೆರ್ರಾಫಾರ್ಮ್ ಪೂರೈಕೆದಾರ ಸೆಲೆಕ್ಟೆಲ್ ಅನ್ನು ಬಳಸಿದರೆ ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ನೀಡಿದರೆ ನಮಗೆ ಸಂತೋಷವಾಗುತ್ತದೆ.

Selectel Terraform ಪೂರೈಕೆದಾರರಲ್ಲಿ ಕಂಡುಬರುವ ಯಾವುದೇ ದೋಷಗಳನ್ನು ಈ ಮೂಲಕ ವರದಿ ಮಾಡಬಹುದು ಗಿಥಬ್ ಸಮಸ್ಯೆಗಳು.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ