Доступ к Kubernetes Masternode через kubectl из модуля приводит к HTTP 403 - PullRequest
1 голос
/ 04 июня 2019

Я попытался установить агент сборки Azure на наш локальный кластер kubernetes.При попытке запуска сборок мы всегда нажимаем Состояние 403 Запрещено при выполнении команд kubectl.

Поскольку RBAC включен, я настроил ServiceAccount, CluterRole и ClusterRoleBinding для нашего пространства имен агента сборки со следующими правилами:

kind: ServiceAccount
apiVersion: v1
metadata:
  name: build-agent
  namespace: agent_ns
automountServiceAccountToken: false
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: build-agent
rules:
  - apiGroups:
      - ""
    resources:
      - namespaces
      - nodes
      - nodes/proxy
      - proxy
      - pods
      - services
      - endpoints
      - secrets
    verbs:
      - get
      - list
      - watch
  - apiGroups:
      - extensions
    resources:
      - ingresses
    verbs:
      - get
      - list
      - watch
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: build-agent
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: build-agent
subjects:
- kind: ServiceAccount
  name: build-agent
  namespace: agent_ns

Тем не менее, если я залезу в стручок с помощью:

kubectl exec -it build-agent-xxxxxxxx-xxxx --namespace=agent_ns -- sh

и попытаюсь получить доступ к API kubernetes через curl, я получу 403:

curl https://10.x.x.x:6443
curl: (56) Received HTTP code 403 from proxy after CONNECT

Файл kubeconfig присутствует в виртуальной машине pod.Это то же самое, что я использую с хост-машины, когда я kubectl к кластеру.Аналогично команде curl, если я попытаюсь выполнить команду kubectl после перехода в модуль, запросы вернут 403:

> kubectl get ns
Unable to connect to the server: Forbidden

РЕДАКТИРОВАТЬ:

Описание развертывания теперь также содержитспецификация сервиса.Проблема все еще сохраняется:

> kubectl get pod build-agent-xxxxxxxxx-xxxxx -o yaml -n agent_ns

 ...
 spec:
    automountServiceAccountToken: false
 ...
 serviceAccount: build-agent
 serviceAccountName: build-agent

Я что-то упустил?При необходимости я могу предоставить больше информации, просто дайте мне знать.

Кластер работает нормально, у нас уже есть tiller, traefik и служба, которая работает и работает.

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