Prerrequisites
- Conectividad a la API de Kubernetes
El plugin debe poder llegar a API de forma remota para poder extraer la información.
- Permisos
Para hacer las solicitudes a través de la api, la cuenta utilizada para autenticar en la ejecución requiere de unos determinados permisos.
Asignación de permisos
A continuación se describen los pasos a seguir para crear un usuario con los permisos suficientes para obtener los datos de la monitorización.
- Creación de un “Cluster role” de lectura llamado “api-read-only”: Se creará un rol que
conceda los permisos “get”, “list” y “watch” de todos los recursos de Kubernetes.
cat <<EOF | kubectl apply -f -
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
annotations:
rbac.authorization.kubernetes.io/autoupdate: "true"
labels:
name: api-read-only
rules:
- apiGroups:
- '*'
resources:
- '*'
verbs:
- get
- list
- watch
- nonResourceURLs:
- '*'
verbs:
- get
- list
- watch
EOF
2. Creación de un “Cluster role binding” llamado “bind-api-read-only”: Se vinculará el rol
creado anteriormente a una “service account” ya existente.
kubectl create clusterrolebinding bind-api-read-only \
--clusterrole=api-read-only \
--serviceaccount=namespace:user