728x90
기 구축된 오픈스택에 Terraform을 통해 인스턴스 생성 테스트 내용
1년전에 간략하게 테스트한 것으로 내용 저장용
1. provider.tf
openstack keystone 관련 정보를 구성한다.
# Configure the OpenStack Provider
provider "openstack" {
tenant_name = "admin"
user_name = "admin"
password = "admin"
auth_url = "http://10.80.12.14:5000"
insecure = "true"
region = "regionOne"
}
2. var.tf
# global variables
variable "Instance" {
default = {
image_id = "74dab4a8-852c-4096-afe5-fa7a0edf265b" # RHEL7.6
}
}
variable "network" {
default = {
id = "ab5d012c-b1d9-478c-8279-6acfff9a4c2c"
subnet_id = "8f03f155-30bb-4279-9558-dcba8a974c76"
}
}
3. first-boot.sh
#!/bin/bash
echo "hello world"
4. vm_testvm1.tf
# variables
variable "testvm1" {
default = {
name = "testvm1"
az = "AZ-0-COMP-OVS"
vcpus = "2"
ram = "2"
disk = "20"
}
}
resource "openstack_networking_port_v2" "network_testvm1" {
name = var.testvm1["name"]
network_id = var.network["id"]
admin_state_up = "true"
}
resource "openstack_compute_flavor_v2" "flavor_testvm1" {
name = var.testvm1["name"]
ram = var.testvm1["ram"] * 1024
vcpus = var.testvm1["vcpus"]
disk = var.testvm1["disk"]
}
resource "openstack_compute_instance_v2" "vm_testvm1" {
name = var.testvm1["name"]
availability_zone = var.testvm1["az"]
image_id = var.Instance["image_id"]
flavor_id = openstack_compute_flavor_v2.flavor_testvm1.id
user_data = file("first-boot.sh")
config_drive = "true"
network {
port = openstack_networking_port_v2.network_testvm1.id
}
}
5. 결과
반응형
'IaC (Automation) > Terraform' 카테고리의 다른 글
terraform OpenStack 리소스 생성 샘플 (0) | 2021.06.29 |
---|---|
CentOS7 Terraform install Guide (0) | 2021.06.29 |