В Cluster Config не удается получить модули при развертывании в пространстве имен не по умолчанию - PullRequest
0 голосов
/ 20 ноября 2018

Когда я развертываю свою службу golang в любом пространстве имен, кроме пространства имен default, служба не может извлечь модули в любом пространстве имен.Тот же сервис, развернутый в пространстве имен default, работает отлично, используя golang client-go api.

Это проблема безопасности?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 05 января 2019

Ниже приведено то, что я использовал в кластере мини-кубов, чтобы предоставить учетной записи службы по умолчанию доступ к crud ops на общих ресурсах.Очевидное предостережение в том, что вам нужно быть осторожным с реальным кластером.

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: crud-role
  namespace: default
rules:
- apiGroups: ["", "apps", "batch"]
  resources: [ "deployments", "jobs", pods", "replicasets", services" ]
  verbs: [ "create", "get", "list", "delete"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: crud-role-binding
  namespace: default
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: crud-role
subjects:
  - kind: ServiceAccount
    name: default
    namespace: default
0 голосов
/ 20 ноября 2018

Эта проблема связана с разрешением.Так как вы используете rest.InClusterConfig(config) для создания клиента.Это означает, что в качестве учетных данных используется учетная запись службы pod.Поэтому проверьте, имеет ли эта учетная запись службы разрешение на получение модулей в любом пространстве имен.

, если учетная запись службы в модуле не определена, то она будет использовать default учетную запись службы.

Если в вашем кластере включен RBAC, то проверьте привязку роли в этом пространстве имен, чтобы узнать, есть ли у вашей учетной записи службы разрешение.

# to see the list of role bindings in 'default' namespace
kubectl get rolebindings --namespace default

Чтобы увидеть конкретную привязку роли

kubectl get rolebindings ROLE-BINDING-NAME --namespace default -o yaml

Также вы можете создать роль и привязку роли, чтобы дать разрешение.Чтобы узнать о роли RBAC и связывании ролей см. Здесь: https://kubernetes.io/docs/reference/access-authn-authz/rbac/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...