Kubernetes 401 несанкционированный, маркер не скопирован в контейнеры

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

Показать журналы:

[2016-12-27 16:16:29,012][WARN ][io.fabric8.elasticsearch.discovery.k8s.K8sUnicastHostsProvider] 
[James Dr. Power] Exception caught during discovery javax.ws.rs.WebApplicationException : HTTP 401 Unauthorized

Переменные среды модуля включают:

KUBERNETES_CA_CERTIFICATE_FILE=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt

Однако каталог / var / run пуст

es-master-gqq7m:/var/run# pwd
/var/run 

es-master-gqq7m:/var/run# ls -la 
total 0
drwxr-xr-x    2 root     root             6 Jun 12  2015 . 
drwxr-xr-x    9 root     root            81 Jun 12  2015 ..

Полное определение контроллера репликации находится здесь и включает:

spec:
  serviceAccount: elasticsearch
  env: 
    - name: KUBERNETES_CA_CERTIFICATE_FILE 
      value: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt

[cstelly@smcluster ~]$ kubectl get serviceaccounts
NAME            SECRETS   AGE
default         1         29d
elasticsearch   1         4d

Есть идеи?

Спасибо!


Редактировать

В ответ на это , в настоящее время apiconfig имеет флаг

--admission-control=AlwaysAdmit

Что касается объема информации, я побежал

kubectl describe pod <pod-name>, и единственная информация Тома я вижу:

Volumes:
  storage:
    Type:   EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium: 

2 ответа

  1. Секрет маркера учетной записи службы должен быть добавлен в качестве Тома при создании модулей. Это делается модулем serviceaccount admission.

    Несколько вопросов:

    1. Если вы проверяете один из работающих модулей API, включает ли он Том и монтирование Тома, ссылающиеся на маркер учетной записи службы?

    2. Какие плагины доступа вы настроили для вашего сервера API?

  2. Маркер сам создается во время обработки контроля допуска.

    Для параметра > 1.4 рекомендуется

    --admission-control=NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,ResourceQuota
    

    Имейте в виду» ServiceAccount » часть!

    Посмотреть оригинал doc