这与Kubernetes Java客户端的0.2版本有关。我猜想在Java API中使用基本身份验证的方法是这样做
ApiClient client = Config.fromUserPassword( "https://....:6443", "user", "password", false );
Configuration.setDefaultApiClient( client );
CoreV1Api api = new CoreV1Api();
// Make api call like
api.listNode(...)
但是,上面的代码始终返回403 Forbidden。从响应消息来看,请求中似乎没有使用用户/密码。
{"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"nodes is forbidden: User \"system:anonymous\" cannot list nodes at the cluster scope","reason":"Forbidden","details":{"kind":"nodes"},"code":403}
我也调试了一下代码,可能会回答我自己的问题,但是看起来就像在CoreV1Api的方法中一样,它从不添加基本身份验证作为身份验证方法,仅使用BearerToken。是否支持基本身份验证,或者我应该使用其他API类?
回答我自己的问题,但看起来客户端的当前版本实际上不执行用户/通过身份验证。BearerToken正在运行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句