Autorizzazioni del componente Knative serving

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.