Izin komponen penayangan Knative

Gunakan halaman ini untuk memahami izin RBAC yang layanan Knative untuk mempertahankan akses ke cluster. Izin ini diperlukan dan diaktifkan secara default dalam inferensi Knative; lakukan tidak mencoba menonaktifkannya.

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

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

RBAC untuk akun layanan penayangan Knative

Gunakan definisi apiGroup berikut untuk memahami kontrol akses mana izin yang dimiliki setiap resource di Knative yang berfungsi untuk controller dan cloud-run-operator akun layanan.

- 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 bagaimana izin RBAC digunakan dalam penyaluran Knative, dalam hal ini:

  • view mencakup kata kerja: get, list, watch
  • Modify mencakup kata kerja: create, update, delete, patch
Izin Alasan
Dapat melihat semua secrets Webhook perlu membaca rahasia dari namespace knative-serving. Pengontrol {i>domainmapping<i} perlu membaca rahasia sertifikat yang dihasilkan oleh fitur TLS otomatis, lalu salin ke namespace gke-system.
Dapat mengubah pods Pengontrol DomainMapping perlu membuat Pod yang digunakan untuk menyalurkan permintaan untuk tantangan HTTP01 yang terpenuhi.
Dapat mengubah secrets Pengontrol domainmapping perlu membuat atau memperbarui rahasia sertifikat. Webhook perlu membaca rahasia dari namespace knative-serving.
Dapat mengubah configmaps Digunakan di fitur URL default. Pengontrol perlu memperbarui "domain-konfigurasi" konfigurasi folder dalam "knative-serving" untuk menambahkan URL `nip.io`.
Dapat mengubah endpoints Pengontrol layanan serverless perlu membuat, memperbarui, atau menghapus endpoint. Pengontrol rute perlu membuat, memperbarui, atau menghapus endpoint.
Dapat mengubah services Pengontrol rute perlu membuat, mengupdate, atau menghapus layanan. Pengontrol serverless perlu membuat, memperbarui, atau menghapus layanan. Pengontrol domainmapping perlu membuat layanan untuk menyajikan HTTP01 permintaan tantangan.
Dapat mengubah events Pengontrol penyajian Knative membuat dan memunculkan peristiwa untuk resource dikelola oleh Knative.
Dapat mengubah serviceaccounts Penayangan 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 mengupdate deployment untuk Knative layanan.
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 harus mengupgrade CRD terkait Knative ke v1 .
Dapat mengubah horizontalpodautoscalers Knative mendukung penskalaan otomatis berdasarkan HPA.
Dapat mengubah namespace/finalizer Penayangan Knative perlu menetapkan referensi pemilik ke penayangan Knative namespace.