本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
设置自定义Amazon ParallelCluster食谱
以下是有关使用自定义版本的 Amazon ParallelCluster 说明书配方的说明。这是自定义 Amazon ParallelCluster 的高级方法,具有难以调试的潜在问题。Amazon ParallelCluster 团队强烈建议使用自定义引导操作中的脚本进行自定义,因为安装后挂钩通常更易于调试和更易于跨 Amazon ParallelCluster 版本进行移植。
步骤
-
确定Amazon ParallelCluster您在其中克隆了其中的说明书工作目录Amazon ParallelCluster食谱
代码。 _cookbookDir=
<path to cookbook>
-
检测 Amazon ParallelCluster 说明书的当前版本。
_version=$(grep version ${_cookbookDir}/metadata.rb|awk '{print $2}'| tr -d \')
-
创建 Amazon ParallelCluster 说明书的存档,并计算其 md5。
cd "${_cookbookDir}" _stashName=$(git stash create) git archive --format tar --prefix="aws-parallelcluster-cookbook-${_version}/" "${_stashName:-HEAD}" | gzip > "aws-parallelcluster-cookbook-${_version}.tgz" md5sum "aws-parallelcluster-cookbook-${_version}.tgz" > "aws-parallelcluster-cookbook-${_version}.md5"
-
创建 Amazon S3 存储桶,并将存档、其 md5 及其上次修改日期上传到此存储桶。通过公共读取 ACL 授予公共可读权限。
_bucket=
<the bucket name>
aws s3 cp --acl public-read aws-parallelcluster-cookbook-${_version}.tgz s3://${_bucket}/cookbooks/aws-parallelcluster-cookbook-${_version}.tgz aws s3 cp --acl public-read aws-parallelcluster-cookbook-${_version}.md5 s3://${_bucket}/cookbooks/aws-parallelcluster-cookbook-${_version}.md5 aws s3api head-object --bucket ${_bucket} --key cookbooks/aws-parallelcluster-cookbook-${_version}.tgz --output text --query LastModified > aws-parallelcluster-cookbook-${_version}.tgz.date aws s3 cp --acl public-read aws-parallelcluster-cookbook-${_version}.tgz.date s3://${_bucket}/cookbooks/aws-parallelcluster-cookbook-${_version}.tgz.date -
将以下变量添加到Amazon ParallelCluster配置文件,在[cluster]部分.
custom_chef_cookbook = https://${_bucket}.s3.
<the bucket region>
.amazonaws.com/cookbooks/aws-parallelcluster-cookbook-${_version}.tgz extra_json = { "cluster" : { "skip_install_recipes" : "no" } }注意 从启动Amazon ParallelCluster在启动节点时将默认跳过大多数安装配方以缩短启动时间。要以牺牲向后兼容性为代价跳过大多数安装配方以缩短启动时间,请删除
"skip_install_recipes" : "no"
来自 的cluster
键入extra_json设置。