Chef运行剖析与Dry-Run、Why-Run模式详解
1. Chef运行流程概述
Chef运行是一个复杂且模块化的过程,主要包括以下几个关键步骤:
1. 同步食谱(Synchronize Cookbooks) :在计算出扩展运行列表后,chef-client会向Chef服务器请求所有食谱文件列表,仅请求运行所需的文件,避免在每个节点上维护所有食谱的完整副本。服务器提供列表后,chef-client会将其与本地文件缓存中的副本进行比较,下载缺失或不同的文件。使用chef-solo时,此步骤会被跳过,因为每个节点都存储了所有食谱的完整副本。
2. 设置运行上下文(SetUp RunContext) :Chef创建一个运行上下文对象,用于跟踪当前Chef运行状态的各种数据。该对象存储的数据在运行过程中逐步积累,最终包含运行所需的食谱文件列表和要应用到节点的所有资源的有序列表。运行上下文对象存储的数据包括:
- 食谱集合(The cookbook collection) :包含执行Chef运行所需的食谱文件,在“同步食谱”步骤中填充。
- 定义列表(The definitions list) :本次运行要使用的所有资源定义的列表,在“加载食谱数据”步骤中,加载每个食谱的/definitions文件夹时填充。
- 事件(Events) :chef-client跟踪Chef运行过程中发生的大量事件,如ohai运行完成、食谱文件加载或运行完成等。这些事件与事件调度器发布/订阅系统结合使用,可自
超级会员免费看
订阅专栏 解锁全文
44

被折叠的 条评论
为什么被折叠?



