Auf dieser Seite werden die RBAC-Berechtigungen erläutert, die die Komponenten von Knative Serving enthalten, um den Zugriff auf den Cluster beizubehalten. Diese Berechtigungen sind in Knative Serving standardmäßig erforderlich und aktiviert. Versuchen Sie nicht, sie zu deaktivieren.
Komponenten | Namespace | Dienstkonto |
---|---|---|
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 |
Beachten Sie, dass das Dienstkonto cloud-run-operator
dieselben Berechtigungen wie controller
hat. Mit dem Operator werden alle Knative Serving-Komponenten bereitgestellt, einschließlich benutzerdefinierter Ressourcendefinitionen und Controller.
RBAC für Knative Serving-Dienstkonten
Verwenden Sie die folgenden apiGroup
-Definitionen, um zu verstehen, welche Zugriffssteuerungsberechtigungen jede Ressource in Knative Serving für die Dienstkonten controller
und cloud-run-operator
hat.
- 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
In der folgenden Tabelle ist die Verwendung der RBAC-Berechtigungen in Knative Serving aufgeführt, wobei Folgendes gilt:
- view enthält die Verben: get, list, watch
- modify enthält die Verben: erstellen, aktualisieren, löschen, patchen
Berechtigungen | Gründe |
---|---|
Kann alle secrets ansehen |
Webhook muss das Secret aus dem Namespace knative-serving lesen.
Der DomainMapping-Controller muss das von der automatischen TLS-Funktion generierte Zertifikat-Secret lesen und dann in den Namespace gke-system kopieren. |
Kann pods bearbeiten |
Der DomainMapping-Controller muss einen Pod erstellen, der Anfragen zur Erfüllung der HTTP01-Herausforderung bereitstellt. |
Kann secrets bearbeiten |
Der DomainMapping-Controller muss das Zertifikat-Secret erstellen oder aktualisieren.
Webhook muss das Secret aus dem Namespace knative-serving lesen. |
Kann configmaps bearbeiten |
Wird in der Standard-URL-Funktion verwendet. Der Controller muss die ConfigMap „config-domain“ im Namespace „knative-serving“ aktualisieren, um die URL „nip.io“ hinzuzufügen. |
Kann endpoints bearbeiten |
Der serverlose Dienst-Controller muss die Endpunkte erstellen, aktualisieren oder löschen. Der Routen-Controller muss die Endpunkte erstellen, aktualisieren oder löschen. |
Kann services bearbeiten |
Der Controller muss einen Dienst erstellen, aktualisieren oder löschen. Der serverlose Controller muss einen Dienst erstellen, aktualisieren oder löschen. Der DomainMapping-Controller muss einen Dienst erstellen, um HTTP01-Herausforderungsanfragen zu verarbeiten. |
Kann events bearbeiten |
Knative Serving-Controller erstellt Ereignisse für die von Knative verwalteten Ressourcen und gibt sie aus. |
Kann serviceaccounts bearbeiten |
Knative Serving muss das Dienstkonto indirekt lesen. |
Kann endpoints/restricted bearbeiten |
Knative Serving muss Endpunkte erstellen, wenn „RestrictedEndpointsAdmission“ aktiviert ist. |
Kann deployments bearbeiten |
Der Revisions-Controller muss eine Bereitstellung für den Knative-Dienst erstellen oder aktualisieren. |
Kann mutatingwebhookconfiguration bearbeiten |
Knative-Webhook fügt CaBundle zu "mutatingwebhookconfigurations" hinzu, die zu Knative gehören. |
Kann validatingwebhookconfiguration bearbeiten |
Knative-Webhook fügt CaBundle zu "validatingwebhookconfigurations" hinzu, die zu Knative gehören. |
Kann customresourcedifinitions customresourcedefinitions/status bearbeiten |
Der Knative-Job nach der Installation muss ein Upgrade der Knative-zugehörigen CRDs auf Version 1 ausführen. |
Kann horizontalpodautoscalers bearbeiten |
Knative unterstützt Autoscaling auf Basis von HPA. |
Kann namespace/finalizer bearbeiten |
Knative Serving muss „ownerreference“ auf den Namespace festlegen, der Knative bereitstellt. |