69 lines
1.6 KiB
YAML
69 lines
1.6 KiB
YAML
|
|
---
|
||
|
|
# Fix for apiserver-kubelet-client RBAC permissions
|
||
|
|
# Required when adding new control plane nodes to Talos clusters
|
||
|
|
# This ensures the kubelet can access node/pods subresource for static pod management
|
||
|
|
#
|
||
|
|
# The system:kubelet-api-admin ClusterRole should already exist in Kubernetes,
|
||
|
|
# but we ensure the ClusterRoleBinding exists and has the correct permissions.
|
||
|
|
|
||
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
||
|
|
kind: ClusterRoleBinding
|
||
|
|
metadata:
|
||
|
|
name: system:apiserver-kubelet-client
|
||
|
|
annotations:
|
||
|
|
description: "Grants apiserver-kubelet-client permission to access nodes and pods for kubelet operations"
|
||
|
|
roleRef:
|
||
|
|
apiGroup: rbac.authorization.k8s.io
|
||
|
|
kind: ClusterRole
|
||
|
|
name: system:kubelet-api-admin
|
||
|
|
subjects:
|
||
|
|
- apiGroup: rbac.authorization.k8s.io
|
||
|
|
kind: User
|
||
|
|
name: system:apiserver-kubelet-client
|
||
|
|
---
|
||
|
|
# Ensure the ClusterRole has nodes/pods subresource permission
|
||
|
|
# This may need to be created if it doesn't exist or updated if missing nodes/pods
|
||
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
||
|
|
kind: ClusterRole
|
||
|
|
metadata:
|
||
|
|
name: system:kubelet-api-admin
|
||
|
|
labels:
|
||
|
|
kubernetes.io/bootstrapping: rbac-defaults
|
||
|
|
rules:
|
||
|
|
- apiGroups:
|
||
|
|
- ""
|
||
|
|
resources:
|
||
|
|
- nodes
|
||
|
|
- nodes/proxy
|
||
|
|
- nodes/stats
|
||
|
|
- nodes/log
|
||
|
|
- nodes/spec
|
||
|
|
- nodes/metrics
|
||
|
|
- nodes/pods # CRITICAL: Required for kubelet to get pod status on nodes
|
||
|
|
verbs:
|
||
|
|
- get
|
||
|
|
- list
|
||
|
|
- watch
|
||
|
|
- create
|
||
|
|
- patch
|
||
|
|
- update
|
||
|
|
- delete
|
||
|
|
- apiGroups:
|
||
|
|
- ""
|
||
|
|
resources:
|
||
|
|
- pods
|
||
|
|
- pods/status
|
||
|
|
- pods/log
|
||
|
|
- pods/exec
|
||
|
|
- pods/portforward
|
||
|
|
- pods/proxy
|
||
|
|
verbs:
|
||
|
|
- get
|
||
|
|
- list
|
||
|
|
- watch
|
||
|
|
- create
|
||
|
|
- patch
|
||
|
|
- update
|
||
|
|
- delete
|
||
|
|
|