Use esta página para entender as permissões do RBAC que os componentes do Knative serving detêm para manter o acesso ao cluster. Essas permissões são obrigatórias e ativadas por padrão no Knative serving. Não tente desativá-las.
Componentes | Namespace | Conta de serviço |
---|---|---|
activator |
knative-serving | controlador |
autoscaler |
knative-serving | controlador |
controller |
knative-serving | controlador |
webhook |
knative-serving | controlador |
storage-version-migration-serving |
knative-serving | controlador |
webhook |
knative-serving | controlador |
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
. O operador é o que implanta todos os componentes do Knative serving, incluindo definições e controladores de recursos personalizados.
RBAC para contas de serviço do Knative serving
Use as definições de apiGroup
a seguir para entender quais permissões de controle 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 a seguir lista como as permissões do RBAC são usadas no Knative serving, 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 do Knative serving cria e emite eventos para os recursos gerenciados pelo Knative. |
Pode modificar serviceaccounts |
O Knative serving precisa ler uma conta de serviço indiretamente. |
Pode modificar endpoints/restricted |
O Knative serving precisa criar endpoints quando o 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 |
O Knative serving precisa definir ownerreference para o namespace do Knative serving. |