1.关闭基于角色的访问控制
如果正在使用一个带有RBAC机制的Kubernetes集群,服务账户可能不会被授权访问API服务器(或只有部分授权)。目前最简单的方式就是运行下面的命令查询API服务器,从而绕过RBAC方式。
$ kubectl create clusterrolebinding permissive-binding --clusterrole=cluster-admin --group=system:serviceaccounts
这个命令赋予了所有服务账户(也可以说所有的pod)的集群管理员权限,允许它们执行任何需要的操作,很明显这是一个危险的操作,永远都不应该在生产的集群中执行,对于测试来说是没有问题的。
2.开启基于角色的访问控制
关于如果给了所有权限(匿名用户也可以访问)如何禁用RBAC的指令进行操作,现在通过运行下面的命令可以重新启用RBAC:
$ kubectl delete clusterrolebinding permissive-binding