我正在尝试保护我的集群,这样即使我自己也无法看到一些秘密或运行
kubectl exec
.
经过多次尝试,我决定删除所有集群角色,看看它是否改变了什么。显然它并不像下面看到的那样。
消除所有集群角色
> kubectl delete clusterrole cluster-admin-no-exec
> kubectl delete clusterrole admin
> kubectl delete clusterrole kubelet-api-admin
> kubectl delete clusterrole system:aggregate-to-admin
> kubectl delete clusterrole system:kubelet-api-admin
# (kubelet-api-admin gets recreated for some reason)
> kubectl get clusterrole | grep admin
kubelet-api-admin 2023-03-03T15:51:51Z
仍然是完全成熟的访问
> kubectl exec -it pods/myapp-0 -- ls
README.md .. .
> kubectl get all
NAME READY STATUS RESTARTS AGE
pod/myapp-deployment-7466784654-l6txm 1/1 Running 0 123m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/myapp ClusterIP 10.108.9.25 <none> 6423/TCP,6422/TCP 27h
service/kubernetes ClusterIP 10.108.0.1 <none> 443/TCP 27h
从上面看来,RBAC根本连“超级用户”都申请不了。
所以我想知道是否有办法阻止我自己和其他任何人连接到集群,无法运行
kubectl exec
或获取秘密。