首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将云init自动安装与其他云init模块结合起来

将云init自动安装与其他云init模块结合起来
EN

Ask Ubuntu用户
提问于 2021-06-08 08:52:36
回答 1查看 3.2K关注 0票数 2

我正在尝试提供一个带有云init和服务器实时映像的VM。(我不使用云映像,因为基础设施方面的原因,我必须从ISO安装)

然而,每当我试图将autoinstall与例如write_files相结合时,write_files部分似乎没有成功。

下面安装Ubuntu:

代码语言:javascript
复制
#cloud-config
autoinstall:
  version: 1
  identity:
    hostname: boxy-001
    password: "$1$k46kl1..."
    username: alice
  storage:
    layout:
      name: lvm
  ssh:
    install-server: true
    authorized-keys: 
      - "ecdsa-sha2-nistp256 AAAAE2...."
     
write_files:              
- content: |              
    cloud_init_has_run    
  path: /cloud_init_flag  

但是该文件不是在/cloud_init_flag中编写的。

模块不见了吗?服务器活动Is上的云配置不完整吗?

编辑文件是写入的,但它是在安装环境中编写的!相反,我应该使用autoinstall.user-data键为目标系统提供user-data

EN

回答 1

Ask Ubuntu用户

发布于 2021-06-24 02:11:43

如何使云init与自动安装一起在已安装的系统上运行?

有一个user-data配置自动安装的键文件。

例如,如果希望write_files配置在已安装的系统上由cloud-init使用,则可以将此片段作为自动安装文件的一部分。

代码语言:javascript
复制
#cloud-config
autoinstall:
  version: 1
  user-data:
    write_files:
    - content: |
        cloud_init_has_run
      path: /cloud_init_flag
...

How它工作在

  • 在安装过程中,subiquity将为cloud-init/target/var/lib/cloud/seed/nocloud-net/user-data上创建配置。
  • 在安装系统的第一次启动期间,cloud-init将使用此配置文件执行一些安装任务。特别要注意的是,第一个用户是这样创建的。
  • 如果在自动安装文件中包含了一个user-data部分,那么subiquity将合并用户数据部分到生成的/target/var/lib/cloud/seed/nocloud-net/user-data文件中。

使用上面的片段,合并的配置产生了这个文件内容。

代码语言:javascript
复制
#cloud-config
growpart: {mode: 'off'}
locale: en_US.UTF-8
preserve_hostname: true
resize_rootfs: false
...
write_files:
- {content: 'cloud_init_has_run

    ', path: /cloud_init_flag}

在第一次引导期间,cloud-init确实创建了包含配置内容的/cloud_init_flag文件。

票数 4
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1344472

复制
相关文章

相似问题

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