1. kubeconfig
2. ServiceAccount
3. UserName
参数:host、userName、password
以上是ok的!
APIGatewayService ——-> ProtectdService ——->ResourceService
- 本地起一个资源管理服务debug一下,看下调用关系(怎么debug呀,打日志吧)
- 补充另外两种访问方式
问题
错误:
解决:像以上这样获取version获取不到,改一个方法获取下url
这个是可以的,为什么获取version会报错呢,在demo里试一下,可以获取到集群version
那外面传进去为啥会报错
unable to parse the server version,the server has asked for client to provide credentials
获取一下response,发现k8s-api报401,why。。。
破案了,userName和password的base64编解码不对,写到代码里是正确的,可以获取到
。。。
所以为什么在代码里的和外面传进去的编解码会不一样???
新问题
集群状态是unauthorized,获取不到namespace等等资源
它的获取原理基本是不是
- 获取连接k8s集群的client,将clusterId对应client存成map
- 用该client去获取api group resource
- 把这个存到etcd里
问题明确一下哈:
从请求传进来的request不能通过认证,会报 unable to parse the server version,the server has asked for client to provide credentials
这个错
在代码里将认证信息放进去,就可以访问到对应的k8s的apiserver,对应的获取到version
找找什么问题。。。
解决:破案了,要做aes解密,因为保护服务传给它的时候加密了