您可以使用 kubectl --from-literal 标志创建一个秘密,其中值是 JSON

问题描述 投票:0回答:1

我正在尝试在 Windows 机器上使用以下命令创建 kubectl 机密。

kubectl create secret generic dest-svc-key --from-literal=secret='<JSON Payload>'

我有两个问题:

  1. JSON 中的字段之一是证书,例如
"verificationKey": "-----BEGIN PUBLIC KEY-----  some data   -----END PUBLIC KEY-----"

这会导致错误 错误:错误标志语法:... 有没有办法让 kubectl 知道它不是一个标志而只是一个字符串?

  1. 由于我们传递 JSON 作为参数(例如 --from-literal=secret='{"tenantmode": "dedicated"}),我们收到错误 错误:需要 1 个 NAME,得到 2

有没有办法重写 kubectl 命令?我遇到了一个命令

kubectl create secret generic secretname --from-literal "someJsonKey=$(cat somejsonfile.json)"

但这可以在Windows中实现吗?不幸的是,安装像 Cygwin 这样的模拟器不是一个选择。

问候, 普拉巴尔

json kubectl
1个回答
0
投票

如果我理解正确的话,在 Windows 中你可以这样做:

kubectl create secret generic secretname --from-literal "someJsonKey=$(cat somejsonfile.json)"

窗户:

# Read the contents of the JSON file
$jsonContent = Get-Content -Raw -Path "C:\path\to\somejsonfile.json"

# Create secret
kubectl create secret generic secretname --from-literal="someJsonKey=$jsonContent"

kubectl create secret generic secretname --from-file=path/to/bar
© www.soinside.com 2019 - 2024. All rights reserved.