【发布时间】:2021-11-21 17:46:50
【问题描述】:
使用Kubernetes RBAC,我们可以通过特定动词限制对特定资源的访问。
有没有办法禁止使用type=LoadBalancer 创建服务,同时允许其他类型的服务(例如type=NodePort)?
我们要禁止的示例Service:
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: MyApp
ports:
- protocol: TCP
port: 80
targetPort: 9376
clusterIP: 10.0.171.239
type: LoadBalancer
status:
loadBalancer:
ingress:
- ip: 192.0.2.127
以下是我们可以定义的最接近的 RBAC 角色 - 禁止所有服务的更新操作(不允许超出我们想要的范围):
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
namespace: default
name: developer
rules:
- apiGroups: [""] # "" indicates the core API group
resources: ["services"]
verbs: ["get", "watch", "list"]
【问题讨论】:
标签: kubernetes rbac