在RBAC环境中部署了大使,并使用节点端口创建了服务
[root@-1 xxxxx]# kb get svc -n ambassador
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ambassador NodePort 172.18.0.216 12.197.35.74 80:31270/TCP,443:31729/TCP 17h
试图访问用户界面https://12.197.35.74/,但出现错误
{
"kind": "Status",
"apiVersion": "v1",
"metadata": { },
"status": "Failure",
"message": "forbidden: User \"system:anonymous\" cannot get path \"/\"",
"reason": "Forbidden",
"details": { },
"code": 403
}
好像我缺少与RBAC有关的东西,任何帮助都值得赞赏
答案 0 :(得分:0)
此错误表示您无权访问API服务器,因为它不知道您是谁。这样很好,否则任何人都可以操纵您的集群。
最新的kubernetes部署工具可在集群上启用RBAC。大使在访问system:anonymous
时被降级为所有用户https://12.197.35.74/
。该用户在kube-apiserver上几乎没有特权。
最重要的是,大使需要通过kube-apiserver进行身份验证-使用承载令牌或由k8s集群的CA密钥签名的客户端证书。
https://12.197.35.74/
时使用ServiceAccount的令牌Kubernetes API服务器是您的Kubernetes集群的大脑。您应该将访问权限限制为绝对最小,使用标准的网络和防火墙机制限制从群集外部到API服务器的访问,并使用Kubernetes网络策略限制从群集内部的访问。
看看:kube-apiserver-error,kubernetes-api-server,kube-apiserver-forbidden-messages,systemanonymous-cannot-get-path。