如何使用 Knife 编辑 ec2 节点的 Chef 属性

2023-11-26

我想使用编辑 ec2 节点的 node_dataknife node命令。
我可以使用以下命令手动执行此操作。
knife node edit NODE_NAME
它将生成一个我需要编辑的 json。

"name": "NODE-1",
  3   "chef_environment": "test",
  4   "normal": {
  5     "node_data": {
  6       "version": "23690ecc9c572e47db242bfad1296388f91da1e9",
  7       "depot_path": "https://s3.amazonaws.com/builds/",
  8       "source_repo": "softwares/"
  9     },
 10     "tags": [
 11 
 12     ]
 13   },
 14   "run_list": [
 15     "role[my-role]"
 16   ]
 17 }

我要编辑node_data在那个 json 中。
如果我必须编辑 run_list 有一个命令
knife node run_list add node 'role[ROLE_NAME]'
我需要类似这个命令的东西。


听起来您想要一种可编写脚本/非交互式的方式来设置给定节点的属性。您可以使用knife exec为了这。

对于给定的示例,假设您想要获取并设置source_repo in node_data对于“NODE-1”。您可以通过运行以下命令来实现此目的:

knife exec -E "nodes.find(:name => 'NODE-1') { |node| node['node_data']['source_repo'] = '/new/path/softwares/'; node.save; }"

请注意node.save最后:这将使厨师服务器保存您的更改。如果命令中缺少此内容,则这是临时更改,不会保存在厨师服务器上。

要确认 Chef 服务器上的属性确实已更改,您可以像这样获取当前值:

knife exec -E "nodes.find(:name => 'NODE-1') { |node| puts node['node_data']['source_repo'] }"

你应该看到:/new/path/softwares/作为上述命令的输出。

顺便说一句,请注意node['node_data']['source_repo']相当于(并且可以替换为)node.node_data.source_repo

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Knife 编辑 ec2 节点的 Chef 属性 的相关文章

  • AWS lambda 是否保证将函数更新到新版本时不会出现停机?

    默认情况下 AWS 使用LATEST更新了最新 lambda 版本的别名 我假设执行以下步骤 Now LATEST别名点版本 5 用户部署新版本的 lambda 在部署新版本时 LATEST别名仍然指向版本 5 部署完成后 Lambda 只
  • 如何使用配置文件 (.ebextensions) 在 AWS Elastic Beanstalk 上安装 PHP IMAP 扩展?

    有谁知道如何使用配置文件 ebextensions 在 AWS Elastic Beanstalk 上安装和启用 PHP IMAP 扩展 我使用的是 64 位 Amazon Linux 2017 03 v2 4 0 运行 PHP 7 0 1
  • Amazon EC2 Auto Scaling CPU 利用率警报 - 数据不足

    因此 我一直在 Python 中使用 Boto 来尝试配置基于 CPUUtilization 的自动缩放 或多或少与本示例中指定的完全相同 http boto readthedocs org en latest autoscale tut
  • 如何使用 jq 从多个嵌套数组中提取键

    SETUP 我试图弄清楚 jq 过滤器是如何工作的 但在找出嵌套数组时遇到了困难 使用下面的数据我无法做出平的 5 键输出 我可以得到 1 个键和 4 个空值 或者 4 个键和 1 个空值 但不能得到所有 5 个键 1 个键 4 个空值 R
  • 从 android 简单上传到 S3

    我在网上搜索了从 android 上传简单文件到 s3 的方法 但找不到任何有效的方法 我认为这是因为缺乏具体步骤 1 https mobile awsblog com post Tx1V588RKX5XPQB TransferManage
  • 如何测试 jest Node JS 中 AWS 内置方法中使用的 .promise() 方法

    我想对其进行完整的单元测试 下面给出了我的函数的代码 function js async function sesSendEmail message var ses new aws SES apiVersion 2020 12 01 var
  • 如何使用 aws-cdk 在 EC2 和 RDS 之间创建 DependsOn 关系

    我目前正在使用aws cdk TypeScript 创建一个堆栈 其中包含EC2实例和一个RDS数据库实例 The RDS实例需要在之前设置EC2实例可以启动并且userdata将被执行 我遇到的问题是 我找不到一种方法来定义DepensO
  • Nginx url 限制 502 网关

    我有一个问题 但我接受绕过此功能的其他建议 基本上 我在 get 请求中向我的服务器发送大约 3000 个字符的大行文本 然后服务器将其作为 url 中的参数发送到谷歌翻译 问题 当 url gt 1900 个字符时 Nginx 会抛出 5
  • ECS相当于docker-compose的命令

    我有一个使用 docker compose 运行的应用程序 现在我正在将应用程序迁移到 ECS 上托管 我正在将 docker compose 设置转换为 boto3 ECS 等效项 不幸的是我没有找到相当于 docker compose
  • 为什么changeResourceRecordSets没有被授权访问此资源?

    我正在尝试在 Route 53 中创建一条别名类型的新记录 以告诉 Route 53 起诉 CloudFront 来为该站点提供服务 我正在尝试使用以下代码来执行此操作 let options ChangeBatch Changes Act
  • AWS Route 53 如何实现基于延迟的路由?

    AWS Route 53 可以提供基于延迟的路由策略 请参阅AWS Route 53 的延迟路由策略 http docs aws amazon com Route53 latest DeveloperGuide routing policy
  • Rails 4.1 AWS Beanstalk 找不到秘密密钥库

    我正在尝试在 AWS Beanstalk 上上传我的 Rails 项目 我已经运行 eb init eb start 并将数据库设置配置为指向 RDS 在我使用 git aws push 推送并等待 AWS 服务器启动后 提供的链接显示 5
  • 如何恢复丢失的aws服务器实例的私钥?

    我丢失了 AWS 实例的私钥 我在控制台面板中搜索了该选项 恐怕你可能不走运 当您启动实例时 您应该指定密钥的名称 您计划用于连接到实例的对 如果你不指定 启动实例时现有密钥对的名称 您 将无法连接到实例 当您连接到 例如 您必须指定与密钥
  • 使用 Boto3 以字符串形式打开 S3 对象

    我知道使用 Boto 2 可以使用以下命令将 S3 对象作为字符串打开 get contents as string http boto readthedocs org en latest ref file html highlight c
  • 如何将 AWS CLI 的输出保存在变量中?

    我想将 AWS CLI 的输出保存在变量中 并在另一个 AWS CLI 中使用该变量 我所做的如下 taskarn aws ecs list tasks cluster mycluster service name myService re
  • 在AWS EC2上挂载NVME磁盘

    所以我在每个节点上使用 NVME 磁盘创建了 i3 large 这是我的过程 lsblk gt nvme0n1 检查 nvme 是否尚未安装 sudo mkfs ext4 E nodiscard dev nvme0n1 sudo mount
  • 如何设置 AWS Appsync 请求超时限制 || AWSAppSync 客户端不提供回调

    我正在使用 AWS Appsync 来开发当前的应用程序 并面临一个严重的问题 即每当我在 Appsync 客户端中触发查询时 当互联网连接速度较慢时 请求永远不会以回调结束 我在互联网上查了一下 关于这个主题的信息来源有限 而且发现这个问
  • 将大型高清视频文件上传到 Amazon Web Services S3

    最终目标 将大型视频文件 内容制作者将是专业用户 因此他们的一点额外工作并不是一个巨大的负担 然而 对他们 和我 来说 保持尽可能简单是理想的 如果可以使用网络表单来启动那就最好了 内容制作者不会有数百个 因此可以投入一些额外的时间或精力为
  • 从 Docker 容器中获取 AWS 实例元数据?

    是否有一种直接的方法可以从 Docker 容器内访问 AWS 实例元数据 例如 当尝试在 EC2 实例上获取 IAM 角色的凭证时 这将适用于实例本身 http 169 254 169 254 latest meta data iam se
  • 如何配置berks API服务器?

    我想在我的基础设施中实现 Berks API 其中包括 Jenkins Git 服务器和 Chef 12 Enterprise 服务器 按照 Berkshelf 的方式 每本说明书都位于 Git 服务器中自己的存储库中 基本上 我只希望我的

随机推荐

  • cPickle - 对同一对象进行酸洗的不同结果

    有谁能解释一下下面的评论吗testLookups 在这个代码片段 我已经运行了代码 确实评论所说的是真的 不过我想了解为什么这是真的 即为什么 cPickle 根据引用方式为同一对象输出不同的值 它与引用计数有什么关系吗 如果是这样 这不是
  • C# 无法使用类型约束推断泛型类型参数,是否有解决方法?

    埃里克 利珀特 Eric Lippert 在他的博客文章中解释道 http blogs msdn com b ericlippert archive 2009 12 10 constraints are not part of the si
  • 删除/移动 Google Chrome 左下角状态栏(链接地址栏)

    我正在开发一个网站 其设计的左下角有一个关键的导航元素 在 Google Chrome 中 左下角有一个状态栏 当您将鼠标悬停在页面上的链接上时 会出现该状态栏并显示该页面的 URL 不过 如果你足够接近 它会移动到右下角 这妨碍了该导航元
  • 为什么Java 2D原点位于左上角?

    我不是抱怨 只是好奇 为什么Java使用绘图表面的左上角作为原点 我认为更自然的是选择左下角作为原点并随着它们向上和向右增加轴 类似于石英 自古以来 计算机图形学就起源于左上角 其中包括 QuickDraw 使用左下角 如在数学中 是 Po
  • 从 float 转换为 QByteArray

    有没有一种快速方法可以将浮点值转换为字节形式 十六进制 表示形式QByteArray 做过类似的事情memcpy 在使用数组之前 但这似乎不太适用QByteArray 例如 memcpy byteArrayData floatData si
  • 如何找到数组的维数?

    下面是一段代码 我需要通过遍历传递的消息来存储有关警告消息的一些信息 传递的参数本身是一个变体 由 API 调用设置SAPListOfMessages它返回一个数组String 然而我注意到 每当有超过 1 个警告时 列表都是二维的 mes
  • jQuery mobile:在 ListView 中启用自动换行

    我有一个列表视图 见下图 我想将所有内容自动换行 而不是添加 到长行 这是怎么做到的 您只需要更新 CSS ui li desc保存列表项中文本的元素 ui page ui content ui listview ui li desc wh
  • QtService 应用程序作为服务运行时无法连接到系统总线

    我已经重新编译了Qt与集成的dbus对于窗户 此外 我还实施了QtService应用程序在系统总线上注册服务和对象 如下所示 QDBusConnection systemBus registerService com mycompany C
  • 从 R 中的许多列中减去数据框中的一列

    我有一个数据框 我想从所有其他列中减去第二列 我可以循环执行此操作 但我想在一次调用中执行此操作 这是我的工作循环代码 df lt data frame x 100 101 y 2 3 z 3 4 a 1 0 b 4 5 for i in
  • 如何使用 PDO 在一个数据库行程中插入多条记录?

    我有一张桌子叫propAmenities其中包含两列amenity id and property id基本上该表保存外键 现在我必须使用以下语句的命名占位符生成 PDO 查询 INSERT INTO propAmenities ameni
  • 计算sql查询中的持续时间总和

    我有一个表 其中有两列开始时间和结束时间 我能够计算每行的持续时间 但我也想获得总持续时间 这个怎么做 Thanks 您的列的数据类型为 TIMESTAMP 如下所示 SQL gt create table mytable start ti
  • 数据聚合 mongodb vs mysql

    我目前正在研究用于具有严格数据聚合要求的项目的后端 项目主要要求如下 为每个用户存储数百万条记录 用户每年可能拥有超过 100 万个条目 因此即使有 100 个用户 我们每年也会有 1 亿个条目 这些条目的数据聚合必须即时执行 用户需要能够
  • 无法从 List 转换为 List

    我正在尝试传递一个列表DerivedClass一个函数 它接受一个列表BaseClass 但我收到错误 cannot convert from System Collections Generic List
  • React.js Material-UI 中的 BottomNavigation 样式

    如何将所选链接 本例中为主页 的图标和文本颜色更改为红色 并将非活动链接 本例中为课程和作者 的图标和文本颜色更改为绿色 文档非常薄 class MyBottomNavigation extends Component render ret
  • scipy.linalg.solve (LAPACK gesv) 在大矩阵上的时间复杂度?

    如果我使用scipy linalg solve 我相信这称为 LAPACK 的 gesv 函数 在我的工作站上解决约 12000 个未知问题 具有约 12000 个平方 密集 非对称矩阵 时 我得到了一个很好的答案10 15分钟 只是为了探
  • sql表中的树形视图

    我有如下所示的 sql 表 我必须在树视图中显示它 id parentid name 1 NULL outlook 2 1 overcast 3 1 rainy 4 1 sunny 5 2 yes 6 3 wind 7 4 humidity
  • 在 django Forms 中定义 css 类

    假设我有一个表格 class SampleClass forms Form name forms CharField max length 30 age forms IntegerField django hacker forms Bool
  • 为什么 Jupyter 显示图表两次?

    我将从 Jupiter 开始分析一些销售数据 它有效 但每次我绘制图表时 图表都会显示两次 我的笔记本中的前两个图表是在班级内绘制的 对于这些图表来说 这种情况不会发生 注意 Model这里指的是产品的模型 而不是预测模型 class Mo
  • UIStepper - 找出它是递增还是递减

    确定在 UIStepper 中是否按下了加号或减号按钮我使用以下方法 void stepperOneChanged UIStepper stepperOne 而我比较stepperOne value全局值保存在我的 TableView 类中
  • 如何使用 Knife 编辑 ec2 节点的 Chef 属性

    我想使用编辑 ec2 节点的 node dataknife node命令 我可以使用以下命令手动执行此操作 knife node edit NODE NAME它将生成一个我需要编辑的 json name NODE 1 3 chef envi