首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >/usr/local/重置自定义centos7图像在天蓝色尺度上设置

/usr/local/重置自定义centos7图像在天蓝色尺度上设置
EN

Stack Overflow用户
提问于 2021-10-13 20:17:01
回答 1查看 40关注 0票数 0

我们使用Packer为Azure比例集构造一个自定义的centos7图像。其中一部分包括我们创建的自定义rpm,它从源构建git (不能使用社区repos,因此我们自己创建)并将其安装到/usr/local/bin目录中。在通常的实践中,这个程序包工作得很完美。所有的东西都被适当地安装到正确的地方,我们可以使用我们的新版本的git。

当我们通过Packer运行时,我们通过ansible安装它,最后Packer执行解除操作步骤,捕获图像并将其放到一个天蓝色共享映像库中,然后我们将其用于我们的天蓝色比例尺集。

Scale set使用图像创建了几个实例,我们已经启动并运行。问题是,突然间,/usr/local/目录似乎被重置为默认目录。在/usr/local/bin中已经没有任何东西了,而且,我们作为依赖项安装的一些(不是所有的)包(比如gcc )也消失了。我们的git rpm仍然被列为已安装,但gcc没有。

/usr/bin/似乎很好(除了失踪的gcc,尽管我们现在不需要它,它似乎仍然是有关的),所以我们很可能只是安装在那里,但我仍然想知道是否发生了什么疯狂的事情发生了,我是否应该注意它在未来,因为/usr/本地/似乎是一个合理的地点安装它。

TL;DR:

  1. 封隔器获取基本centos7图像
  2. 添加我们的自定义git包
  3. git安装到/usr/local/bin (它可以工作!git可供使用)
  4. 用蜡剂和广义的解除
  5. packer捕获图像并上传
  6. azure比例集使用图像创建新实例
  7. /usr/local/是否回到了原来的状态?(这样git就不见了?)
  8. ???

封隔器天蓝色手臂医生

waagent卸载工具文档

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-15 16:49:12

弄明白了。

事实证明(至少1.7.2版),Packer不一定与共享Image版本相比,使用天蓝色的arm进行幂等操作,甚至使用-force标志。

在使git包完全工作并正确安装之前,我们已经创建了SIG映像版本,因此它是在没有/usr/local/bin/修改的基础映像上创建的。

当我们使用force标志运行Packer构建时,它删除并重新创建基本映像,但是它运行一个PUT调用,其中包含SIG映像版本的配置信息,也就是说,如果它遵循约定,它将“创建或更新”(除非您设置了一些packer日志记录vars并将冗长的日志输出到一个文件或其他文件中)。

因此,虽然基本映像被更新为具有git正确设置的映像,但SIG版本认为它使用的是与以前相同的基本映像(名称相同,没有唯一标识符),因此就其而言,配置没有更改,不需要发生任何事情。在我们删除旧版本或制作新版本之后,它根据我们创建的基本映像正确地构建了一个VM,并且所有的东西都应该在原来的位置。

我绝对认为,a-force应该是一个从开始到结束的幂等运算,我不确定这在将来的版本中是否是固定的(在写这篇文章的时候,它们在1.7.6上),但是也许我会在我检查过之后更新它。

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

https://stackoverflow.com/questions/69561820

复制
相关文章

相似问题

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