新版cloudbase-init 1.1.2的配置文件做了一些调优,如果不是1.1.2,建议更新

黑石除外,黑石裸金属之类的windows机器不要轻易动cloudbase-init,普通cvm的windows机器继续往下看

1、cloudbase-init是否可以禁用或删除?

https://cloud.tencent.com/developer/article/1883449

可以,但新购机器时指定密码、控制台重置密码会不生效,需要自己提前在镜像里设置好密码,后面改密码也得在系统内部去改,另外,新购机器的RunInstances接口的UserData(自定义数据)功能依赖cloudbase-init,如果删除,新购机器时如果想用UserData进行高级的初始化自定义设置就实现不了。总之,看自己需求,如果确实不需要,就卸载掉。如果拿不定主意,建议保留。

2、如果业务确实需要cloudbase-init,那得关注一些注意事项

https://cloud.tencent.com/developer/article/write/1927748

3、目前公共镜像已经是1.1.2

自定义镜像里的cloudbase-init如果是0.9.11等低版本或dev开发版,这些版本可能有如下问题

比如依赖项,新版是4个,这个才1个

比如运行cloudbase-init的用户,新版是本地系统帐户,这个是.\\cloudbase-init

比如健壮性方面,新版有重试,旧版是Take No Action

以上问题可以以管理员身份打开powershell执行这几句命令纠正

sc.exe config cloudbase-init obj= LocalSystem
sc.exe config cloudbase-init depend= tcpip/dhcp/dnscache/Winmgmt
sc.exe failure cloudbase-init reset= 0 actions= restart/10000
sc.exe qc cloudbase-init 8192
net user cloudbase-init /del 2>&1 > $null

4、新版cloudbase-init 1.1.2的配置文件做了一些调优,如果不是1.1.2,建议更新,参考https://cloud.tencent.com/developer/article/1940021

利用powershell脚本自动化重装cloudbase-init,此方案前提是服务器能上网,如果机器没有外网,那只能在腾讯云上海地区的cvm使用,因为脚本我是放在上海COS的,上海CVM和同地域COS是走内网的,并且前提是正确解析上海COS域名到内网IP(一些使用者可能修改了默认DNS导致无法解析域名,因此要添加hosts,如果是默认的183打头的DNS,

183.60.82.98

183.60.83.19

就不用执行下面2句命令,如果机器有公网,也不需要执行)

cmd.exe /c "echo 169.254.0.47 windows-1251783334.cos.ap-shanghai.myqcloud.com>> c:\\windows\\system32\\drivers\\etc\\hosts"
notepad c:\\windows\\system32\\drivers\\etc\\hosts

第2句主要是打开hosts让你检查第1句添加得对不对

对上海的windows cvm,升级到cloudbase-init 1.1.2的完整过程如下(cos url是区分大小写的,注意保持大小写原样,最好是直接copy):

打开第1个powershell窗口

cmd.exe /c "echo 169.254.0.47 windows-1251783334.cos.ap-shanghai.myqcloud.com>> c:\\windows\\system32\\drivers\\etc\\hosts"
notepad c:\\windows\\system32\\drivers\\etc\\hosts
Set-ExecutionPolicy Unrestricted -force

打开第2个powershell窗口(全程大概10分钟内,需耐心等待)

Invoke-WebRequest -uri http://windows-1251783334.cos.ap-shanghai.myqcloud.com/CLOUDBASE-INIT_INSTALL.PS1 -OutFile c:\\cloudbase-init_install.ps1
powershell -file c:\\cloudbase-init_install.ps1

sc.exe config cloudbase-init obj= LocalSystem
sc.exe config cloudbase-init depend= tcpip/dhcp/dnscache/Winmgmt
sc.exe failure cloudbase-init reset= 0 actions= restart/10000
sc.exe qc cloudbase-init 8192
net user cloudbase-init /del 2>&1 > $null

因为安装cloudbase-init会产生cloudbase-init用户,不人为干预的话,就会以前面说的这种方式运行

所以我加了sc.exe config cloudbase-init obj= LocalSystem这句命令放弃使用cloudbase-init用户,既然没用了,你在用户和组里看到cloudbase-init用户碍眼的话,执行命令net user cloudbase-init /del 2>&1删掉它即可

如果以后要调整服务所运行的用户,那就留着,如果保持local system不调整,那就删掉cloudbase-init用户(建议删除,好奇害死猫,不建议尝试切换到.\\cloudbase-init模式运行,可能导致密码成为1或随机密码)

本站文章资源均来源自网络,除非特别声明,否则均不代表站方观点,并仅供查阅,不作为任何参考依据!
如有侵权请及时跟我们联系,本站将及时删除!
如遇版权问题,请查看 本站版权声明
THE END
分享
二维码
海报
新版cloudbase-init 1.1.2的配置文件做了一些调优,如果不是1.1.2,建议更新
黑石除外,黑石裸金属之类的windows机器不要轻易动cloudbase-init,普通cvm的windows机器继续往下看
<<上一篇
下一篇>>