terraform的实践(二)

admin 2022年5月16日00:07:23评论23 views字数 1642阅读5分28秒阅读模式

不是说继续GitLab的CI/CD吗,对,但是CI/CD想搞的是用terraform对接OpenStack做IaC,多复杂的系统也是一个一个简单的模块组合起来的,把每个模块都整明白,整体系统成功也就是水到渠成的事儿,

以前实践过terraform,但是再次实践发现有了不同,这里记录一下,

在GitLab所在主机安装terraform,

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
sudo apt-add-repository "deb [arch=$(dpkg --print-architecture)] https://apt.releases.hashicorp.com $(lsb_release -cs) main",
sudo apt install terraform,

对接OpenStack实现一个最简单的IaC,就创建一个虚机,

需要准备以下文件,

sudo vim provider.tf
terraform {
  required_providers {
    openstack = {
      source = "terraform-provider-openstack/openstack"
    }
  }
}
provider "openstack" {
  user_name = "${var.openstack_user_name}"
  tenant_name = "${var.openstack_tenant_name}"
  password  = "${var.openstack_password}"
  auth_url  = "${var.openstack_auth_url}"
}
sudo vim variables.tf
variable "openstack_user_name" {}
variable "openstack_tenant_name" {}
variable "openstack_password" {}
variable "openstack_auth_url" {}
variable "image" {
  default = "cirros-0.5.2-x86_64-disk"
}
variable "flavor" {
  default = "m1.tiny"
}
variable "availability_zone" {
        default = "nova"
}
variable "security_group" {
        default = "default"
}
variable "network" {
        default  = "ext-net"
}
sudo vim terraform.tfvars
openstack_user_name = "admin"
openstack_tenant_name = "admin"
openstack_password = "password"
openstack_auth_url = "http://10.90.11.100/identity/v3"
sudo vim deploy.tf
resource "openstack_compute_instance_v2" "cirros-vm" {
  count = "1"
  name = "cirros-1"
  image_name = "${var.image}"
  availability_zone = "${var.availability_zone}"
  flavor_name = "${var.flavor}"
  security_groups = ["${var.security_group}"]
  network {
    name = "${var.network}"
  }
}

连续执行,terraform init,terraform plan,terraform apply,

在OpenStack那边查看,虚机出来了,没问题,下周继续奔着CI/CD前进。

原文始发于微信公众号(云计算和网络安全技术实践):terraform的实践(二)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月16日00:07:23
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   terraform的实践(二)http://cn-sec.com/archives/1008991.html

发表评论

匿名网友 填写信息