Spring-Cloud-Kubernetes 官方Demo kubernetes-reload-example 爬坑日志

丘智志
2023-12-01

第一次尝试.minikube v1.7.3 和 spring-cloud-kubernetes 1.0.x

永远不会刷新configmap ,原因是 
注入进environment的propertySource是BootstrapPropertySource类型,既不是CompositePropertySource的实例,也不是ConfigMapPropertySource的实例

第二次尝试.minikube v1.1.1 和 spring-cloud-kubernetes 1.1.x

失败

第三次尝试.minikube v1.7.3 和 spring-cloud-kubernetes 1.1.x

运行报错
User "system:serviceaccount:default:default" cannot get resource "configmaps" in API group "" in the namespace "default".
猜测是权限问题,官方demo文档也提到过,但是没有给出相关连接,只是随口一提,
找了很久,在spring-cloud-kubernetes\docs\src\main\asciidoc\security-service-accounts.adoc找到配置的关键

----
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  namespace: YOUR-NAME-SPACE
  name: namespace-reader
rules:
  - apiGroups: ["", "extensions", "apps"]
    resources: ["configmaps", "pods", "services", "endpoints", "secrets"]
    verbs: ["get", "list", "watch"]

---

kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: namespace-reader-binding
  namespace: YOUR-NAME-SPACE
subjects:
- kind: ServiceAccount
  name: default
  apiGroup: ""
roleRef:
  kind: Role
  name: namespace-reader
  apiGroup: ""

配置了这个之后就ok了

具体的事情经过可以从git issue找到答案
sping-cloud-kubernetes compatibility with kubernetes version · Issue #529 · spring-cloud/spring-cloud-kubernetes · GitHub

 类似资料: