cloud-init

虚机首启时按元数据自建:用户、SSH 密钥、网络、磁盘扩容。Proxmox 模板的那一半。

几乎所有云镜像里都预装的首启配置系统:从数据源(云元数据服务、Proxmox 的 cloud-init 盘、NoCloud ISO)读一份 user-data,在第一次启动时完成建用户、写 SSH 公钥、设主机名、配网络、扩根分区、跑首启脚本。在 Proxmox 上克隆模板起虚机时,它就是「新机器一开机就能 ssh 进去」的那个环节 ——Terraform 的 provider 只负责把这份 user-data 塞进虚机配置。

License
GPL-3.0
语言
Python
自托管
deb / rpm · 整机镜像
上游托管版
无
分类
主机配置
仓库
github.com/canonical/cloud-init
上游文档
文档官网

上游活跃度

2026-08-23 抓取 · 数据来自 canonical/cloud-init (github)
star3,789
最近提交2026-08-21
最新版本26.22026-07-29

数字由构建期抓取,非实时;star 数不同代码托管平台之间不可直接比较。

运行依赖

  • 镜像里预装 cloud-init,以及一个它认识的数据源

上手前注意

  • **默认只在首次启动跑**:改了 user-data 不会重新生效,得清 `/var/lib/cloud` 再重启(或直接重建虚机)
  • user-data 里常放 SSH 公钥甚至初始密码 —— 它在 hypervisor 侧是可读的,别把长期凭据写进去
  • 网络配置由它接管后,直接改 /etc/netplan 或 ifcfg 文件可能在重启后被覆盖,症状是「改好了、重启就丢」

同类工具(主机配置)