Utilizza questa pagina per comprendere le autorizzazioni RBAC che i componenti di Knative Serving detengono per mantenere l'accesso al cluster. Queste autorizzazioni sono obbligatorie e attive per impostazione predefinita in Knative serving. Non tentare di disattivarle.
Componenti | Spazio dei nomi | Account di servizio |
---|---|---|
activator |
knative-serving | controller |
autoscaler |
knative-serving | controller |
controller |
knative-serving | controller |
webhook |
knative-serving | controller |
storage-version-migration-serving |
knative-serving | controller |
webhook |
knative-serving | controller |
cloud-run-operator |
cloud-run-system | cloud-run-operator |
Tieni presente che il account di servizio cloud-run-operator
ha lo stesso insieme di
autorizzazioni di controller
. L'operatore è ciò che esegue il deployment di tutti i componenti di Knative Serving, incluse le definizioni di risorse personalizzate e i controller.
RBAC per i service account Knative serving
Utilizza le seguenti definizioni di apiGroup
per capire quali autorizzazioni di controllo dell'accesso dell'accesso
ha ogni risorsa in Knative Serving per gli account di servizio controller
e cloud-run-operator
.
- apiGroups:
- ""
resources:
- pods
- secrets
verbs:
- deletecollection
- apiGroups:
- ""
resources:
- nodes
verbs:
- get
- watch
- list
- apiGroups:
- ""
resources:
- pods
- namespaces
- secrets
- configmaps
- endpoints
- services
- events
- serviceaccounts
verbs:
- get
- list
- create
- update
- delete
- patch
- watch
- apiGroups:
- ""
resources:
- endpoints/restricted
verbs:
- create
- apiGroups:
- ""
resources:
- namespaces/finalizers
verbs:
- update
- apiGroups:
- apps
resources:
- deployments
- deployments/finalizers
verbs:
- get
- list
- create
- update
- delete
- patch
- watch
- apiGroups:
- admissionregistration.k8s.io
resources:
- mutatingwebhookconfigurations
- validatingwebhookconfigurations
verbs:
- get
- list
- create
- update
- delete
- patch
- watch
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
- customresourcedefinitions/status
verbs:
- get
- list
- create
- update
- delete
- patch
- watch
- apiGroups:
- autoscaling
resources:
- horizontalpodautoscalers
verbs:
- get
- list
- create
- update
- delete
- patch
- watch
- apiGroups:
- coordination.k8s.io
resources:
- leases
verbs:
- get
- list
- create
- update
- delete
- patch
- watch
- apiGroups:
- admissionregistration.k8s.io
resources:
- validatingwebhookconfigurations
verbs:
- get
- list
- create
- update
- delete
- patch
- watch
La tabella seguente elenca come vengono utilizzate le autorizzazioni RBAC in Knative serving, dove:
- view include i verbi: get, list, watch
- modifica include i verbi: crea, aggiorna, elimina, patch
Autorizzazioni | Motivi |
---|---|
Può visualizzare tutti i secrets |
Il webhook deve leggere il secret dallo spazio dei nomi knative-serving .
Il controller Domainmapping deve leggere il secret del certificato generato dalla
funzionalità TLS automatica e poi copiarlo nello spazio dei nomi gke-system . |
Può modificare pods |
Il controller DomainMapping deve creare un pod utilizzato per gestire le richieste per il completamento della sfida HTTP01. |
Può modificare secrets |
Il controller di mappatura del dominio deve creare o aggiornare il segreto del certificato.
Il webhook deve leggere il secret dallo spazio dei nomi knative-serving . |
Può modificare configmaps |
Utilizzato nella funzionalità URL predefinito. Il controller deve aggiornare la configmap "config-domain" all'interno dello spazio dei nomi "knative-serving" per aggiungere l'URL `nip.io`. |
Può modificare endpoints |
Il controller Serverlessservice deve creare, aggiornare o eliminare gli endpoint. Il controller di routing deve creare, aggiornare o eliminare gli endpoint. |
Può modificare services |
Il controller di routing deve creare, aggiornare o eliminare un servizio. Il controller serverless deve creare, aggiornare o eliminare un servizio. Il controller Domainmapping deve creare un servizio per la gestione delle richieste di verifica HTTP01. |
Può modificare events |
Il controller Knative serving crea ed emette eventi per le risorse gestite da Knative. |
Può modificare serviceaccounts |
Knative Serving deve leggere un account di servizio indirettamente. |
Può modificare endpoints/restricted |
Knative serving deve creare endpoint quando RestrictedEndpointsAdmission è abilitato. |
Può modificare deployments |
Il controller delle revisioni deve creare o aggiornare un deployment per il servizio Knative. |
Può modificare mutatingwebhookconfiguration |
Il webhook Knative aggiunge caBundle alle mutatingwebhookconfigurations di proprietà di Knative. |
Può modificare validatingwebhookconfiguration |
Il webhook Knative aggiunge caBundle alle validatingwebhookconfigurations di proprietà di Knative. |
Può modificare
customresourcedifinitions customresourcedefinitions/status |
Il job post-installazione di Knative deve eseguire l'upgrade delle CRD correlate a Knative alla versione v1. |
Può modificare horizontalpodautoscalers |
Knative supporta la scalabilità automatica basata su HPA. |
Può modificare namespace/finalizer |
Knative serving deve impostare ownerreference sullo spazio dei nomi Knative-serving. |