我是 Kubernetes 新手,尝试访问时遇到代码错误 403。
kubectl cluster info
Kubernetes master is running at https://x.x.x.x:6443
KubeDNS is running at https://x.x.x.x:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
"status": "Failure",
"message": "namespaces is forbidden: User \"system:anonymous\" cannot list namespaces at the cluster scope",
"reason": "Forbidden",
"details": {
"kind": "namespaces"
},
"code": 403
kubectl get pods --all-namespaces
kube-system calico-etcd-6629s 1/1 Running 0 10h
kube-system calico-kube-controllers-675684d4bb-5h28d 1/1 Running 0 10h
kube-system calico-node-r75wv 2/2 Running 0 10h
kube-system etcd-sp2013a.... 1/1 Running 0 10h
kube-system kube-apiserver-sp2013a ... 1/1 Running 0 10h
kube-system kube-controller-manager-sp2013a.... 1/1 Running 0 10h
kube-system kube-dns-6f4....df-fcqvt 3/3 Running 0 10h
kube-system kube-proxy-mpf2j 1/1 Running 0 10h
kube-system kube-scheduler-sp2013a...... 1/1 Running 0 10h
Run Code Online (Sandbox Code Playgroud)
一切都在运行..
小智 6
这听起来像是您被集群的 RBAC 策略阻止了。system:anonymous阻止用户列出集群中的命名空间。(沿着 的思路kubectl get namespaces)
运行kubectl create clusterrolebinding cluster-system-anonymous --clusterrole=cluster-admin --user=system:anonymous将创建一个clusterrolebinding将system:anonymous用户添加到cluster-admin角色的角色。
在生产集群中,不建议盲目地将帐户提升为 ,但由于您是新手,这应该可以帮助您启动cluster-admin并运行。
所有集群在访问 API 服务器(访问kubectl)之前都需要某种形式的授权,例如证书身份验证。RBAC 是一种限制用户(人类用户和服务帐户)在集群中可以执行的操作的方法。
可以在这里找到来自 CNCF 的精彩 RBAC 入门知识,官方文档也很棒!祝你好运!
| 归档时间: |
|
| 查看次数: |
7544 次 |
| 最近记录: |