rbac: allow router namespace watch in multi-tenant mode
This commit is contained in:
@@ -106,3 +106,30 @@ User "system:serviceaccount:fission:fission-executor" cannot create resource
|
||||
2. Создать новый test NS
|
||||
3. Убедиться, что `Role` и `RoleBinding` для `fission-fetcher` создаются
|
||||
4. Повторить `test_layer1.sh`
|
||||
|
||||
---
|
||||
|
||||
## Следующий найденный blocker — router RBAC
|
||||
|
||||
После полного executor RBAC fix `test_layer1.sh` изменил симптом:
|
||||
- раньше шаг 5 падал с `500` и timeout на `executor /v2/getServiceForFunction`
|
||||
- теперь шаг 5 падает с постоянным `404`
|
||||
|
||||
Лог router:
|
||||
```
|
||||
Failed to watch err="failed to list *v1.Namespace: namespaces is forbidden:
|
||||
User \"system:serviceaccount:fission:fission-router\" cannot list resource
|
||||
\"namespaces\" in API group \"\" at the cluster scope"
|
||||
```
|
||||
|
||||
### Вывод
|
||||
Executor-path уже починен, но router NSWatcher не работает, потому что у SA
|
||||
`fission-router` нет cluster-scope прав `list/watch` на `namespaces`.
|
||||
|
||||
### Исправление
|
||||
Добавить в `deploy/multitenant/rbac.yaml` ещё один набор ресурсов:
|
||||
- `ClusterRole/fission-router-ns-watcher`
|
||||
- `ClusterRoleBinding/fission-router-ns-watcher`
|
||||
|
||||
С правами:
|
||||
- core `namespaces`: `list`, `watch`
|
||||
|
||||
Reference in New Issue
Block a user