Utilizza questa pagina per comprendere le autorizzazioni RBAC conservate dai componenti di pubblicazione Knative per mantenere l'accesso al cluster. Queste autorizzazioni sono obbligatorie e abilitate per impostazione predefinita nella pubblicazione con Knative; non tentare di disabilitarle.
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 di controller
. È l'operatore che esegue il deployment di tutti i componenti
di pubblicazione Knative, inclusi controller e definizioni di risorse personalizzate.
RBAC per gli account di servizio di gestione di Knative
Utilizza le seguenti definizioni di apiGroup
per comprendere le autorizzazioni di controllo dell'accesso dell'accesso di cui dispone ciascuna risorsa nella gestione di Knative 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
Nella tabella seguente sono elencate le modalità di utilizzo delle autorizzazioni RBAC nella pubblicazione con Knative, dove:
- view include i verbi: get, list, watch
- modify include i verbi: crea, aggiorna, elimina, patch
Autorizzazioni | Motivi |
---|---|
Può visualizzare tutti: secrets |
Il webhook deve leggere il secret dallo spazio dei nomi knative-serving .
Il controller di mappatura di dominio deve leggere il secret del certificato generato dalla funzionalità TLS automatico e poi copiarlo nello spazio dei nomi gke-system . |
È possibile modificare pods |
Il controller DomainMapping deve creare un pod che viene utilizzato per gestire le richieste per il completamento della verifica HTTP01. |
È possibile modificare secrets |
Il controller di mappatura di dominio deve creare o aggiornare il secret del certificato.
Il webhook deve leggere il secret dallo spazio dei nomi knative-serving . |
È possibile modificare configmaps |
Utilizzato nella funzionalità URL predefinito. Il controller deve aggiornare la risorsa configmap "config-domain" all'interno dello spazio dei nomi "knative-serving" per aggiungere l'URL "nip.io". |
È possibile modificare endpoints |
Il controller Serverlessservice deve creare, aggiornare o eliminare gli endpoint. Il controller di route deve creare, aggiornare o eliminare gli endpoint. |
È possibile 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. |
È possibile modificare events |
Il controller di pubblicazione Knative crea ed emette eventi per le risorse gestite da Knative. |
È possibile modificare serviceaccounts |
La pubblicazione Knative deve leggere indirettamente un account di servizio. |
È possibile modificare endpoints/restricted |
La gestione Knative deve creare endpoint quando RestrictedEndpointsAdmission è abilitato. |
È possibile modificare deployments |
Il controller delle revisioni deve creare o aggiornare un deployment per il servizio Knative. |
È possibile modificare mutatingwebhookconfiguration |
Il webhook Knative aggiunge caBundle alle configurazioni mutatingwebhook di proprietà di Knative. |
È possibile modificare validatingwebhookconfiguration |
Il webhook Knative aggiunge caBundle alle configurazioni di convalidawebhook 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. |
È possibile modificare horizontalpodautoscalers |
Knative supporta la scalabilità automatica basata su HPA. |
È possibile modificare namespace/finalizer |
La pubblicazione Knative deve impostare il riferimento del proprietario allo spazio dei nomi Knative-serving. |