首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行cloud-init cloud-config yaml文件

运行cloud-init cloud-config yaml文件
EN

Stack Overflow用户
提问于 2018-10-21 10:53:46
回答 4查看 1.3K关注 0票数 2

出于开发目的,如何运行通常通过用户数据运行的cloud-init yaml文件?

我知道如何重新运行cloud-init,但我想要开发复杂的cloud-init文件,并且要做到这一点,持续构建新实例是相当困难的。

EN

回答 4

Stack Overflow用户

发布于 2018-10-21 11:01:30

很抱歉,您必须在一个新的干净实例(或至少一个实例的快照)上运行它。即使您确实手动返回并从不同的步骤开始,也会有潜在的副作用。

我想你会发现,如果你习惯于管理本地虚拟机,你可以相当快地调试你的脚本。

票数 1
EN

Stack Overflow用户

发布于 2019-09-06 21:25:22

迭代用户数据输入到cloud-init的最快路径可能是通过lxd。您可以在vm主机或裸机系统上快速执行set up lxd。一旦设置好,启动就会非常迅速。

代码语言:javascript
复制
$ cat ud.yaml
#cloud-config
runcmd:
  - "read up idle < /proc/uptime; echo Up $up seconds | tee /run/runcmd.log"

$ lxc launch ubuntu-daily:bionic ud-test "--config=user.user-data=$(cat ud.yaml)"
Creating ud-test
Starting ud-test

$ lxc exec ud-test cat /run/runcmd.log
Up 8.05 seconds

$ lxc stop ud-test
$ lxc delete ud-test
票数 1
EN

Stack Overflow用户

发布于 2019-10-14 05:48:11

您也许可以只运行cloud-init clean,然后重新运行它。

我正在试验cloud-init,并使用带有KVM的Ubuntu机器作为虚拟化实验室。我创建了一个简单的Makefile来构建cloud-init映像并在KVM实例中启动它。

你可以在这里看到我的代码:

https://github.com/brennancheung/playbooks/blob/master/cloud-init-lab/Makefile

代码语言:javascript
复制
all: clean build run

INSTANCE_NAME := "vm"
CLOUD_IMAGE_FILE = "bionic-server-cloudimg-amd64.img"
CLOUD_IMAGE_BASE_URL := "http://cloud-images.ubuntu.com/bionic/current"
CLOUD_IMAGE_URL := "$(CLOUD_IMAGE_BASE_URL)/$(CLOUD_IMAGE_FILE)"

download:
    wget $(CLOUD_IMAGE_URL)

clean:
    @echo "Removing build artifacts"
    -@rm -f config.img 2>/dev/null
    -@virsh destroy $(INSTANCE_NAME) 2>/dev/null || true
    -@virsh undefine $(INSTANCE_NAME) 2>/dev/null || true
    -@rm -f $(INSTANCE_NAME).img

build: 
    @echo "Building cloud config drive"
    cloud-localds config.img config.yaml
    cp $(CLOUD_IMAGE_FILE) $(INSTANCE_NAME).img

run:
    @echo "Spawning instance $(INSTANCE_NAME)"
    virt-install \
        --name $(INSTANCE_NAME) \
        --memory 8192 \
        --disk ./$(INSTANCE_NAME).img,device=disk,bus=virtio \
        --disk ./config.img,device=cdrom \
        --os-type linux \
        --os-variant ubuntu18.04 \
        --virt-type kvm \
        --graphics none \
        --network bridge=br0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52911756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档