Utilizza questa pagina per comprendere le autorizzazioni RBAC detenute dai componenti di Knative Serving per mantenere l'accesso al cluster. Queste autorizzazioni sono obbligatorie e abilitate 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 l'account di servizio cloud-run-operator
ha lo stesso insieme di autorizzazioni di controller
. L'operatore esegue il deployment di tutti i componenti di servizio Knative, inclusi i controller e le definizioni di risorse personalizzate.
RBAC per gli account di servizio Knative serving
Utilizza le seguenti definizioni apiGroup
per capire quali autorizzazioni di controllo dell'accesso dell'accesso ha ogni risorsa nel servizio Knative sia per gli account di servizio controller
sia per quelli 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
- modify include i verbi: create, update, delete, patch
Autorizzazioni | Motivi |
---|---|
Può visualizzare tutti i secrets |
L'webhook deve leggere il secret dallo spazio dei nomi knative-serving .
Il controller di mappatura dei domini deve leggere il segreto del certificato generato dalla funzionalità TLS automatico 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 la verifica HTTP01. |
Può modificare secrets |
Il controller di mappatura dei domini deve creare o aggiornare il segreto del certificato.
L'webhook deve leggere il secret dallo spazio dei nomi knative-serving . |
Può modificare configmaps |
Utilizzato nella funzionalità dell'URL predefinito. Il controller deve aggiornare il ConfigMap "config-domain" nello spazio dei nomi "knative-serving" per aggiungere l'URL "nip.io". |
Può modificare endpoints |
Il controller del servizio serverless deve creare, aggiornare o eliminare gli endpoint. Il controller di route deve creare, aggiornare o eliminare gli endpoint. |
Può modificare services |
Il controller di route deve creare, aggiornare o eliminare un servizio. Il controller serverless deve creare, aggiornare o eliminare un servizio. Il controller di mappatura dei domini deve creare un servizio per gestire le richieste di verifica HTTP01. |
Può modificare events |
Il controller Knative serving crea ed emette eventi per le risorse gestite da Knative. |
Può modificare serviceaccounts |
Il servizio Knative deve leggere un account di servizio indirettamente. |
Può modificare endpoints/restricted |
Knative serving deve creare endpoint quando è attivata la funzionalità RestrictedEndpointsAdmission. |
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 configurazioni webhook con mutazioni di proprietà di Knative. |
Può modificare validatingwebhookconfiguration |
L'webhook Knative aggiunge caBundle alle configurazioni di webhook di convalida di proprietà di Knative. |
Può modificare
customresourcedifinitions customresourcedefinitions/status |
Il job di post-installazione di Knative deve eseguire l'upgrade dei CRD correlati a Knative alla versione v1. |
Può modificare horizontalpodautoscalers |
Knative supporta la scalabilità automatica in base all'HPA. |
Può modificare namespace/finalizer |
Knative serving deve impostare ownerreference sullo spazio dei nomi Knative-serving. |