我已经在Windows 10上安装了kubectl(版本1.16.0),并且该命令运行正常。
但是,当尝试运行kubectl config set-credentials <some_param> --auth-provider=oidc
时,出现以下错误:Error: unknown flag: --auth-provider
。
即使我运行kubectl config set-credentials -h
时,也会发生这种情况,尽管可以看到--auth-provider
。
如何解决?
答案 0 :(得分:1)
如果要在身份验证过程中使用kubectl oidc身份验证器,它会将id_token设置为所有请求的承载令牌,并在令牌过期后刷新该令牌。登录提供商后,使用kubectl添加id_token,refresh_token,client_id和client_secret来配置插件。
命令kubectl config set-credentials
的正确配置是:
首先,您必须定义将为其创建凭据的用户名。然后,您可以传递其他参数(启用oidc作为auth-provider并向其中添加参数)。 kubectl config set-credentials
命令的正确语法应如下所示:
$ kubectl config set-credentials USER_NAME \
--auth-provider=oidc \
--auth-provider-arg=idp-issuer-url=( issuer url ) \
--auth-provider-arg=client-id=( your client id ) \
--auth-provider-arg=client-secret=( your client secret ) \
--auth-provider-arg=refresh-token=( your refresh token ) \
--auth-provider-arg=idp-certificate-authority=( path to your ca certificate ) \
--auth-provider-arg=id-token=( your id_token )
有关身份验证的详细信息,您可以在这里找到:kubernetes-authentication。