Use esta página para compreender as autorizações RBAC que os componentes do Knative serving detêm para manter o acesso ao cluster. Estas autorizações são necessárias e estão ativadas por predefinição no Knative serving. Não tente desativá-las.
Componentes | Espaço de nomes | Conta de serviço |
---|---|---|
activator |
knative-serving | responsável |
autoscaler |
knative-serving | responsável |
controller |
knative-serving | responsável |
webhook |
knative-serving | responsável |
storage-version-migration-serving |
knative-serving | responsável |
webhook |
knative-serving | responsável |
cloud-run-operator |
cloud-run-system | cloud-run-operator |
Tenha em atenção que a conta de serviço cloud-run-operator
tem o mesmo conjunto de
autorizações que controller
. O operador é o que implementa todos os componentes do Knative Serving, incluindo definições de recursos personalizadas e controladores.
RBAC para contas de serviço de publicação do Knative
Use as seguintes definições apiGroup
para compreender que autorizações de controlo de acesso cada recurso tem no Knative Serving 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 seguinte indica como as autorizações RBAC são usadas no Knative serving, onde:
- view inclui os verbos: get, list, watch
- modify inclui os verbos: create, update, delete, patch
Autorizações | Motivos |
---|---|
Pode ver todos os secrets |
O webhook tem de ler o segredo do espaço de nomes knative-serving .
O controlador de mapeamento de domínios tem de ler o segredo do certificado gerado pela funcionalidade TLS automático e, em seguida, copiá-lo para o espaço de nomes gke-system . |
Pode modificar pods |
O controlador DomainMapping tem de criar um pod que é usado para publicar pedidos para o desafio HTTP01. |
Pode modificar secrets |
O controlador de mapeamento de domínios tem de criar ou atualizar o segredo do certificado.
O webhook tem de ler o segredo do espaço de nomes knative-serving . |
Pode modificar configmaps |
Usado na funcionalidade de URL predefinido. O controlador tem de atualizar o configmap "config-domain" no espaço de nomes "knative-serving" para adicionar o URL `nip.io`. |
Pode modificar endpoints |
O controlador Serverlessservice tem de criar, atualizar ou eliminar os pontos finais. O controlador de rotas tem de criar, atualizar ou eliminar os pontos finais. |
Pode modificar services |
O controlador de rotas tem de criar, atualizar ou eliminar um serviço. O controlador sem servidor tem de criar, atualizar ou eliminar um serviço. O controlador de mapeamento de domínios tem de criar um serviço para publicar pedidos de desafio HTTP01. |
Pode modificar events |
O controlador de publicação do Knative cria e emite eventos para os recursos geridos pelo Knative. |
Pode modificar serviceaccounts |
O Knative Serving tem de ler uma conta de serviço indiretamente. |
Pode modificar endpoints/restricted |
O Knative serving tem de criar pontos finais quando o RestrictedEndpointsAdmission está ativado. |
Pode modificar deployments |
O controlador de revisões tem de criar ou atualizar uma implementação para o serviço Knative. |
Pode modificar mutatingwebhookconfiguration |
O webhook do Knative adiciona caBundle às mutatingwebhookconfigurations pertencentes ao Knative. |
Pode modificar validatingwebhookconfiguration |
O webhook do Knative adiciona caBundle às validatingwebhookconfigurations pertencentes ao Knative. |
Pode modificar
customresourcedifinitions customresourcedefinitions/status |
O trabalho pós-instalação do Knative tem de atualizar os CRDs relacionados com o Knative para a versão 1. |
Pode modificar horizontalpodautoscalers |
O Knative suporta o dimensionamento automático com base no HPA. |
Pode modificar namespace/finalizer |
O Knative serving tem de definir ownerreference para o espaço de nomes Knative-serving. |