我一直在尝试使用minikube在本地为Kubernetes设置Spring Cloud Dataflow Server。已按照此处链接中的安装说明进行操作:SCDF Installation Reference
我收到了SCDF服务器的以下错误:
11:32:52.095 [main] DEBUG io.fabric8.kubernetes.client.Config - Trying to configure client namespace from Kubernetes service account namespace path...
11:32:52.096 [main] DEBUG io.fabric8.kubernetes.client.Config - Found service account namespace at: [/var/run/secrets/kubernetes.io/serviceaccount/namespace].
2018-04-24 11:33:14.348 WARN 1 --- [ main] o.s.cloud.kubernetes.StandardPodUtils : Failed to get pod with name:[scdf-server-869d56967c-97lsd]. You should look into this if things aren't working as you expect. Are you missing serviceaccount permissions?
io.fabric8.kubernetes.client.KubernetesClientException: Failure executing: GET at: https://kubernetes.default.svc/api/v1/namespaces/default/pods/scdf-server-869d56967c-97lsd. Message: Forbidden!Configured service account doesn't have access. Service account may have been revoked. pods "scdf-server-869d56967c-97lsd" is forbidden: User "system:serviceaccount:default:default" cannot get pods in the namespace "default".
以下是版本详情:
答案 0 :(得分:2)
默认情况下,最新版本的minikube启用了RBAC。
对于支持RBAC的群集,我们在此问题的安装部分添加了一个注释。
"最新版本的kubernetes在api-server上启用了RBAC。如果目标平台已启用RBAC,则必须要求集群管理员在部署数据流服务器之前为您创建角色和角色绑定。它们将数据流服务帐户与需要运行的角色相关联。"
但是,对于minikube,您可以运行以下命令并重试安装。
kubectl create clusterrolebinding add-on-cluster-admin --clusterrole = cluster-admin --serviceaccount = kube-system:default
或者,如果您使用的是掌舵图,则可以禁用RBAC并在minikube上安装以下图表。
helm init
helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com
helm repo update
helm install --name my-release --set server.service.type = NodePort --set rbac.create = false incubator / spring-cloud-data-flow
答案 1 :(得分:0)
最新版本的kubernetes在api-server上启用了RBAC。如果目标平台已启用RBAC,则必须要求集群管理员在部署数据流服务器之前为您创建角色和角色绑定。它们将数据流服务帐户与需要运行的角色相关联。
$ kubectl create -f src/kubernetes/server/server-roles.yaml
$ kubectl create -f src/kubernetes/server/server-rolebinding.yaml
您执行了这些步骤吗?