gpt4 book ai didi

digital-ocean - 地形:安装量

转载 作者:行者123 更新时间:2023-12-04 22:42:10 25 4
gpt4 key购买 nike

根据文档,使用terraform,我能够在 digital ocean 上创建一个小滴:

resource "digitalocean_volume" "foobar" {
region = "nyc1"
name = "baz"
size = 100
description = "an example volume"
}

因此,我也可以为其添加一个卷:
resource "digitalocean_droplet" "foobar" {
name = "baz"
size = "1gb"
image = "coreos-stable"
region = "nyc1"
volume_ids = ["${digitalocean_volume.foobar.id}"]
}

我想知道如何将其安装在所需的位置。
我需要自动安装它。我的意思是,滴滴上升时需要 ,我需要将其装入。 我正在考虑使用厨师...

有任何想法吗?

最佳答案

要自动挂载该卷,可以通过cloud init使用user_data来运行脚本,如下所示:

这是您的digitalocean_droplet资源应如何反射(reflect)的:

resource "digitalocean_droplet" "foobar" {
name = "baz"
size = "1gb"
image = "coreos-stable"
region = "nyc1"
volume_ids = ["${digitalocean_volume.foobar.id}"]
# user data
user_data = "${data.template_cloudinit_config.cloudinit-example.rendered}"
}

然后,包含cloudinit_config的cloud.init文件应如下所示。它将引用$ {TERRAFORM_HOME}/script/disk.sh中的shell脚本,该脚本将自动安装卷:
provider "cloudinit" {}


data "template_file" "shell-script" {
template = "${file("scripts/disk.sh")}"

}
data "template_cloudinit_config" "cloudinit-example" {

gzip = false
base64_encode = false

part {
content_type = "text/x-shellscript"
content = "${data.template_file.shell-script.rendered}"
}

}

用于在启动时自动安装卷的shell脚本位于$ {TERRAFORM_HOME}/script/disk.sh中

它将首先检查文件系统是否存在。如果为true,则不格式化磁盘,否则将格式化
#!/bin/bash


DEVICE_FS=`blkid -o value -s TYPE ${DEVICE}`
if [ "`echo -n $DEVICE_FS`" == "" ] ; then
mkfs.ext4 ${DEVICE}
fi
mkdir -p /data
echo '${DEVICE} /data ext4 defaults 0 0' >> /etc/fstab
mount /data

我希望这有帮助

关于digital-ocean - 地形:安装量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44070828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com