首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为Windows上的Google Cloud平台添加docker-registry密钥(即在PowerShell中,而不是在Bash中)?

如何为Windows上的Google Cloud平台添加docker-registry密钥(即在PowerShell中,而不是在Bash中)?
EN

Stack Overflow用户
提问于 2018-11-07 18:03:43
回答 1查看 657关注 0票数 3

这只是为了对我的Docker镜像和Kubernetes设置进行本地测试。我遇到的问题是访问Google的Container Registry。

我创建了服务帐户,希望具有正确的权限,但我还没有到那里。我已经得到了包含私钥和其他详细信息的JSON文件。我的问题是,当我尝试通过运行以下命令来创建秘密时:

代码语言:javascript
复制
kubectl create secret docker-registry gcr-json-key --docker-server=eu.gcr.io --docker-username=_json_key --docker-password="$(cat json_credentials.json)" --docker-email=pupeno@example.com

我得到了这个错误:

代码语言:javascript
复制
error: exactly one NAME is required, got 5
See 'kubectl create secret docker-registry -h' for help and examples.

我的猜测是,在--docker-password="之后,我最终得到了换行符、引号等,这就是导致问题的原因。或者是其他原因?我该怎么做呢?这在Bash中有效,但在PowerShell中无效吗?

EN

回答 1

Stack Overflow用户

发布于 2020-06-03 23:53:24

我能够通过转义双引号并从JSON密钥文件中删除新行来解决这个问题。(Powershell)

代码语言:javascript
复制
$JSON_CREDS = "C:\Path\To\Creds.json"
$REPOSITORY_HOST = "https://gcr.io"
$EMAIL = "email@example.com"
# An arbitrary string to serve as the name of the secret
$SECRET_NAME = "gcr-pull-secret"
$KUB_NAMESPACE = "some-namespace"

$service_json = (Get-Content $JSON_CREDS).replace("\n", "").replace('"', '\"')

$kubePath = "C:\Path\To\kubectl.exe"
$namespaceArg = "--namespace=$KUB_NAMESPACE"
$createArg = "create secret docker-registry $SECRET_NAME"
$serverArg = "--docker-server=$REPOSITORY_HOST"
$usernameArg = "--docker-username=_json_key"
$passwordArg = "--docker-password=""$service_json"""
$emailArg = "--docker-email=$EMAIL"

Start-Process $kubePath -ArgumentList "$namespaceArg $createArg $serverArg $usernameArg $passwordArg $emailArg" -Wait -NoNewWindow

# Optional, used to patch the default service account

$imagePullSecretJson = """{\""imagePullSecrets\"": [{\""name\"": \""$SECRET_NAME\""}]}"""

Start-Process $kubePath -ArgumentList "patch serviceaccount default -p $imagePullSecretJson" -Wait -NoNewWindow
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53187226

复制
相关文章

相似问题

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