zq2599/blog_demos

访问web-service报错

Closed this issue · 2 comments

spring-cloud-kubernetes的服务发现和轮询实战(含熔断)这一章里,根据github里的代码部署了相关资源之后,
访问account-service返回:account-service-76d4576979-lslxg, 2021-05-16 21:19:34
访问web-service的account返回:Fallback, 2021-05-16 21:27:16。

环境:k8sv1.21
web-service部署文件:
apiVersion: v1
kind: Service
metadata:
name: web-service
spec:
type: NodePort
ports:
- name: server
nodePort: 32002
port: 8080
targetPort: 8080
selector:
app: web-service
'___
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-service
labels:
app: web-service
spec:
replicas: 1
selector:
matchLabels:
app: web-service
template:
metadata:
name: web-service
labels:
app: web-service
spec:
restartPolicy: Always
containers:
- name: web-service
image: docker.io/azui007/spring-cloud-k8s-web-service
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8080
name: server
account-service部署文件:
apiVersion: v1
kind: Service
metadata:
name: account-service
spec:
type: NodePort
ports:
- name: server
nodePort: 32001
port: 8080
targetPort: 8080

selector:
app: account-service
'___
apiVersion: apps/v1
kind: Deployment
metadata:
name: account-service
labels:
app: account-service
spec:
replicas: 1
selector:
matchLabels:
app: account-service
template:
metadata:
name: account-service
labels:
app: account-service
spec:
restartPolicy: Always
containers:
- name: account-service
image: docker.io/azui007/spring-cloud-k8s-account-service
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8080
name: server

报错信息如下:
Message: Forbidden!Configured service account doesn't have access. Service account may have been revoked. endpoints "account-service" is forbidden: User "system:serviceaccount:default:default" cannot get resource "endpoints" in API group "" in the namespace "default".
报错原因:system:serviceaccount:default:default。
解决方法:kubectl create clusterrolebinding permissive-binding
--clusterrole=cluster-admin
--user=admin
--user=kubelet
--group=system:serviceaccounts
参考连接:https://blog.csdn.net/zzb7728317/article/details/106282557/

fix