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 | operatore cloud-run |
Tieni presente che l'account di servizio cloud-run-operator
ha lo stesso insieme di
autorizzazioni come 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 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 del dominio deve creare o aggiornare il secret del certificato.
Il webhook deve leggere il secret dallo spazio dei nomi knative-serving . |
Può modificare configmaps |
Utilizzato nella funzionalità dell'URL predefinito. Il controller deve aggiornare "dominio-config" configmap all'interno della cartella "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 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 RestrictedEndpointsAdmission è abilitato. |
Può modificare deployments |
Il controller di revisione deve creare o aggiornare un deployment per Knative completamente gestito di Google Cloud. |
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 1 completamente gestita. |
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. |