Izin komponen penayangan Knative

Gunakan halaman ini untuk memahami izin RBAC yang dimiliki komponen penayangan Knative untuk mempertahankan akses ke cluster. Izin ini diperlukan dan diaktifkan secara default dalam penayangan Knative; jangan coba nonaktifkan.

Komponen Namespace Akun Layanan
activator knative-serving pengontrol
autoscaler knative-serving pengontrol
controller knative-serving pengontrol
webhook knative-serving pengontrol
storage-version-migration-serving knative-serving pengontrol
webhook knative-serving pengontrol
cloud-run-operator cloud-run-system cloud-run-operator

Perhatikan bahwa akun layanan cloud-run-operator memiliki kumpulan izin yang sama dengan controller. Operator adalah yang men-deploy semua komponen layanan Knative, termasuk definisi resource kustom dan pengontrol.

RBAC untuk akun layanan penayangan Knative

Gunakan definisi apiGroup berikut untuk memahami izin kontrol akses yang dimiliki setiap resource dalam penayangan Knative untuk akun layanan controller dan 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

Tabel berikut mencantumkan cara izin RBAC digunakan dalam penayangan Knative, dengan:

  • view mencakup kata kerja: get, list, watch
  • modify mencakup kata kerja: create, update, delete, patch
Izin Alasan
Dapat melihat semua secrets Webhook perlu membaca secret dari namespace knative-serving. Pengontrol Domainmapping perlu membaca secret sertifikat yang dihasilkan oleh fitur TLS otomatis, lalu menyalinnya ke namespace gke-system.
Dapat mengubah pods Pengontrol DomainMapping perlu membuat Pod yang digunakan untuk menayangkan permintaan untuk memenuhi tantangan HTTP01.
Dapat mengubah secrets Pengontrol Domainmapping perlu membuat atau memperbarui secret sertifikat. Webhook perlu membaca secret dari namespace knative-serving.
Dapat mengubah configmaps Digunakan dalam fitur URL default. Pengontrol perlu memperbarui configmap "config-domain" dalam namespace "knative-serving" untuk menambahkan URL `nip.io`.
Dapat mengubah endpoints Pengontrol serverlessservice perlu membuat, memperbarui, atau menghapus endpoint. Pengontrol rute perlu membuat, memperbarui, atau menghapus endpoint.
Dapat mengubah services Pengontrol rute perlu membuat, memperbarui, atau menghapus layanan. Pengontrol serverless perlu membuat, memperbarui, atau menghapus layanan. Pengontrol Domainmapping perlu membuat layanan untuk menayangkan permintaan tantangan HTTP01.
Dapat mengubah events Pengontrol penayangan Knative membuat dan memunculkan peristiwa untuk resource yang dikelola oleh Knative.
Dapat mengubah serviceaccounts Penyertaan Knative perlu membaca akun layanan secara tidak langsung.
Dapat mengubah endpoints/restricted Penayangan Knative perlu membuat endpoint saat RestrictedEndpointsAdmission diaktifkan.
Dapat mengubah deployments Pengontrol revisi perlu membuat atau memperbarui deployment untuk layanan Knative.
Dapat mengubah mutatingwebhookconfiguration Webhook Knative menambahkan caBundle ke mutatingwebhookconfigurations yang dimiliki oleh Knative.
Dapat mengubah validatingwebhookconfiguration Webhook Knative menambahkan caBundle ke validatingwebhookconfigurations yang dimiliki oleh Knative.
Dapat mengubah customresourcedifinitions customresourcedefinitions/status Tugas pasca-penginstalan Knative perlu mengupgrade CRD terkait Knative ke versi v1.
Dapat mengubah horizontalpodautoscalers Knative mendukung penskalaan otomatis berdasarkan HPA.
Dapat mengubah namespace/finalizer Inferensi Knative perlu menetapkan ownerreference ke namespace inferensi Knative.