Развертывание GCP Marketplace с использованием mpdev

# #kubernetes #google-kubernetes-engine #rbac #google-apps-marketplace #k8s-rolebinding

Вопрос:

Я пытаюсь развернуть приложение k8s на торговой площадке, используя mpdev, как указано здесь.

https://github.com/GoogleCloudPlatform/marketplace-k8s-app-tools/blob/master/docs/building-deployer-helm.md

Я добавил схему.yaml и файл yaml приложения. Я создал образ развертывания helm и отправил его в репозиторий, и когда я пытаюсь развернуть с помощью

 mpdev install 
  --deployer=$REGISTRY/$APP_NAME/deployer 
  --parameters='{"name": "test-deployment", "namespace": "test-ns"}' 
 

Я сталкиваюсь с ошибками, связанными с разрешениями.

Имя: «тест-развертывание-консул-синхронизация-каталог», Пространство имен: «» Объект: amp;{карта[«Апиверсия»:»rbac.authorization.k8s.io/v1″ «вид»:»Роль кластера» «метаданные»:карта[«аннотации»:карта[«kubectl.kubernetes.io/last-applied-configuration»:»»] «метки»:карта[«приложение»:»консул» «app.kubernetes.io/name»:»тестирование-развертывание» «диаграмма»:»консул-рулевой» «наследие»:»Рулевой»»выпуск»:»тестирование-развертывание»] «имя»:»тестирование-развертывание-каталог синхронизации консула»] «правила»:[карта[«apiGroups»: [» » ] «ресурсы»: [«службы»» конечные точки»]»команды»: [«получить» «список» «смотреть» «обновление» «исправление» «удалить» «создать»]] карту[«apiGroups»:[«»] «ресурсы»:[«узлы»] «глаголы»:[«достать»]]]]} от сервера: «/данные/ресурсы.в YAML»: clusterroles.управление доступом на основе ролей.авторизация.k8s.Ио «тестирование-развертывание-консул-синхронизация-каталог» запрещено: пользователей «системы:с помощью параметра serviceaccount:тест-НС:тестирование-развертывание-развертывание-СА» не удалось получить ресурс «clusterroles» в API группы «ролей.авторизация.k8s.Ио» по ошибке рамках кластера с сервера (запрещено): ошибка при извлечении текущей конфигурации: ресурс: «модель RBAC.авторизация.k8s.Ио/В1, ресурсов=clusterroles», GroupVersionKind: «управление доступом на основе ролей.авторизация.k8s.Ио/В1, добрый=ClusterRole»

Роль :

 apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: {{ .Release.Name }}-modify-pods
  namespace: {{ .Release.Namespace }}
rules:
- apiGroups: ["*"]
  resources: ["*"]
  verbs: ["*"]
 

Привязка ролей:

 apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: {{ .Release.Name }}-modify-pods-to-sa
  namespace: {{ .Release.Namespace }}
subjects:
  - kind: ServiceAccount
    name: {{ .Release.Name }}-controller
    namespace: {{ .Release.Namespace }}
  - kind: ServiceAccount
    name: {{ .Release.Name }}-deployer-sa
    namespace: {{ .Release.Namespace }}
  - kind: ServiceAccount
    name: {{ .Release.Name }}-app
    namespace: {{ .Release.Namespace }}
roleRef:
  kind: Role
  name: {{ .Release.Name }}-modify-pods
  apiGroup: rbac.authorization.k8s.io
 

Service Accounts :

 apiVersion: v1
kind: ServiceAccount
metadata:
  name: {{ .Release.Name }}-controller
  namespace: {{ .Release.Namespace }}

apiVersion: v1
kind: ServiceAccount
metadata:
  name: {{ .Release.Name }}-app
  namespace: {{ .Release.Namespace }}