Closed azui007 closed 3 years ago
猜测三点:
根据你提供的错误信息来看,是因为部署的应用在 deployment 资源文件中没有指定 serviceAccountName 参数,所以使用 "system:serviceaccount:default:default" 这个默认 serviceAccount 了,解决办法就是按第二条那样,创建 rbac 资源,并且在 deployment 资源的 serviceAccountName 中指定创建的 serviceAccount 名称。
猜测三点:
- (1) 如果是在本地环境运行,需要在本地用户目录添加 kubernetes 的连接配置 ./kube/config 文件。
- (2) 如果是在 kubernetes 中运行,可以参考这个部署 springcloud kubernetes 服务发现 demo 部署文件 执行部署。
- (3) 还可能是 springcloud kubernetes 版本和你部署的 kubernetes 中的 kube-apiserver 提供的 api 不兼容导致,我写博客时 springcloud kuberenetes 版本为 1.0.2.RELEASE,kubernetes 版本为 1.14。不知道会不会是这个导致。
根据你提供的错误信息来看,是因为部署的应用在 deployment 资源文件中没有指定 serviceAccountName 参数,所以使用 "system:serviceaccount:default:default" 这个默认 serviceAccount 了,解决办法就是按第二条那样,创建 rbac 资源,并且在 deployment 资源的 serviceAccountName 中指定创建的 serviceAccount 名称。
感谢回复。 已经解决。解决过程如下: 1,使用部署文件创建rbac和deployment
然后访问service就可以正常获取结果了。 测试环境如下:kuberenetes 1.21
再次感谢博主的帮助
访问http://192.168.199.139:32053/instance?name=default 错误内容如下:
Failure executing: GET at: https://10.96.0.1/api/v1/namespaces/default/endpoints/default. Message: Forbidden!Configured service account doesn't have access. Service account may have been revoked. endpoints "default" is forbidden: User "system:serviceaccount:default:default" cannot get resource "endpoints" in API group "" in the namespace "default".