微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

kubectl 转义特殊字符

如何解决kubectl 转义特殊字符

我正在尝试设置 oidc 凭据但卡住了,因为客户端机密包含一个逗号:

kubectl config set-credentials user@cluster  \
    --auth-provider=oidc  \
    --auth-provider-arg='idp-issuer-url=https://host'  \
    --auth-provider-arg='client-id=xxx'  \
    --auth-provider-arg='client-secret=AAAA,BBBB' 

这会导致以下错误

error: Error: invalid auth-provider-arg format: BBBB

有没有办法转义字符?

解决方法

在单引号中提及特殊字符是 escaping special characters 的精确解决方法,但在这种情况下,由于存在逗号,它被视为 extra-scope(向提供者请求的范围(逗号分隔)) .

目前 kubectl 不接受多作用域,所以你需要编辑 kubeconfig 如下:

$ kubectl config set-credentials keycloak --auth-provider-arg extra-scopes=SCOPES
sed -i ' ' -e s/SCOPES/email,profile/ $KUBECONFIG
,
kubectl config set-credentials user@cluster  \
    --auth-provider=oidc  \
    --auth-provider-arg='idp-issuer-url=https://host'  \
    --auth-provider-arg='client-id=xxx'  \
    --auth-provider-arg='"client-secret=AAAA,BBBB"' 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。