重新啟動後 cloud-init 服務未啟動

重新啟動後 cloud-init 服務未啟動

重新啟動後,cloud-init 服務未啟動。我使用的是 Suse 15,我的實例運行在 openstack 雲端上。

作業系統詳細資料:

NAME="SLES"  
VERSION="15"  
VERSION_ID="15"  
PRETTY_NAME="SUSE Linux Enterprise Server 15"  
ID="sles"  
ID_LIKE="suse"  
ANSI_COLOR="0;32"  
CPE_NAME="cpe:/o:suse:sles:15"  

雲端初始化版本:

cloud-init 19.1

即使我們啟用了所有服務,但仍然遇到相同的問題。

在“/etc/systemd/system/cloud-init.target.wants”中創建的所有軟鏈接

lrwxrwxrwx 1 root root 44 Jun 24 07:16 cloud-config.service ->
 /usr/lib/systemd/system/cloud-config.service  
lrwxrwxrwx 1 root root 43 Jun 24 07:16 cloud-final.service -> /usr/lib/systemd/system/cloud-final.service  
lrwxrwxrwx 1 root root 48 Jun 24 07:21 cloud-init-local.service -> /usr/lib/systemd/system/cloud-init-local.service  
lrwxrwxrwx 1 root root 42 Jun 25 05:04 cloud-init.service -> /usr/lib/systemd/system/cloud-init.service  

答案1

發生這種情況是因為 cloud-init 無法確定的該平台。要修復它,您必須到 datasource_list:

cat <<EOF >>/etc/cloud/cloud.cfg.d/01_ds-identify.cfg
datasource_list: [ OpenStack, None ]
EOF

答案2

您不僅需要在 cloud-init 設定中定義 datasource_list,如下所示重新啟動後 cloud-init 服務未啟動,但您必須確保 YAML 清單的格式為單行。 cloud-init YAML 解析器無法讀取有效的多行 YAML 清單。

也可以看看https://github.com/canonical/cloud-init/blob/b5aecbe9512fa546255cc93b178b4081342fc247/tools/ds-identify#L547-L566

相關內容