Usa questa pagina per comprendere il Autorizzazioni RBAC i componenti di Knative serving mantengono 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 è ciò che 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 di apiGroup
per capire quale controllo dell'accesso
autorizzazioni di cui ciascuna risorsa dispone in Knative serving sia per controller
e cloud-run-operator
di account di servizio.
- 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 il modo in cui le autorizzazioni RBAC vengono utilizzate 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, che viene utilizzato richieste per il superamento della verifica HTTP01. |
Può modificare secrets |
Il controller di mappatura dei domini 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à 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 |
Knative serving deve leggere indirettamente un account di servizio. |
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 in base all'HPA. |
Può modificare namespace/finalizer |
Knative serving deve impostare il riferimento proprietario su Knative-serving nello spazio dei nomi. |