Use esta página para entender as permissões do RBAC que os componentes do Knative Serving mantêm para manter o acesso ao cluster. Essas permissões são obrigatórias e ativadas por padrão na veiculação do Knative. Não tente desativá-las.
Componentes | Namespace | Conta de serviço |
---|---|---|
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 |
A conta de serviço cloud-run-operator
tem o mesmo conjunto de
permissões que controller
. É ele que implanta todos os componentes de exibição do Knative, incluindo controladores e definições de recursos personalizados.
RBAC para contas de serviço de veiculação do Knative
Use as seguintes definições de apiGroup
para entender quais permissões controle de acesso cada recurso tem na exibição do Knative para as contas de serviço 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
A tabela a seguir lista como as permissões do RBAC são usadas na exibição do Knative, em que:
- view inclui os verbos: get, list, watch
- modify inclui os verbos: create, update, delete, patch
Permissões | Motivos |
---|---|
Pode ver todos os secrets |
O webhook precisa ler o secret do namespace knative-serving .
O controlador do mapeamento de domínios precisa ler o secret do certificado gerada pelo recurso TLS automático e, em seguida, copiá-las para o namespace gke-system . |
Pode modificar pods |
O controlador do mapeamento de domínios precisa criar um pod para exibir solicitações ao desafio HTTP01 correspondente. |
Pode modificar secrets |
O controlador de mapeamento de domínio precisa criar ou atualizar o secret do certificado.
O webhook precisa ler o secret do namespace knative-serving . |
Pode modificar configmaps |
Usado no recurso de URL padrão. O controlador precisa atualizar o configmap "config-domain" no namespace "knative-serving" para adicionar o URL "nip.io". |
Pode modificar endpoints |
O controlador sem servidor precisa criar, atualizar ou excluir os endpoints. O controlador de rotas precisa criar, atualizar ou excluir os endpoints. |
Pode modificar services |
O controlador de rotas precisa criar, atualizar ou excluir um serviço. O controlador sem servidor precisa criar, atualizar ou excluir um serviço. O controlador de mapeamento de domínio precisa criar um serviço para atender a solicitações de desafio HTTP01. |
Pode modificar events |
O controlador de disponibilização do Knative cria e emite eventos para os recursos gerenciados pelo Knative. |
Pode modificar serviceaccounts |
O Knative precisa ler uma conta de serviço indiretamente. |
Pode modificar endpoints/restricted |
A veiculação do Knative precisa criar endpoints quando RestrictedEndpointsAdmission está ativado. |
Pode modificar deployments |
O controlador de revisão precisa criar ou atualizar uma implantação para o serviço Knative. |
Pode modificar mutatingwebhookconfiguration |
O webhook do Knative adiciona caBundle a mutatingwebhookconfigurations de propriedade do Knative. |
Pode modificar validatingwebhookconfiguration |
O webhook do Knative adiciona o caBundle a validatingwebhookconfigurations de propriedade do Knative. |
Pode modificar customresourcedifinitions customresourcedefinitions/status |
O job de pós-instalação do Knative precisa fazer upgrade dos CRDs relacionados ao Knative para a versão v1. |
Pode modificar horizontalpodautoscalers |
O Knative é compatível com o escalonamento automático baseado em HPA. |
Pode modificar namespace/finalizer |
A exibição do Knative precisa definir o valor de "ownerreference" como o namespace de exibição do Knative. |