Аутентификация Kubernetes API

Я выполнил эти инструкции по настройке кластера kubernetes на AWS с помощью kops.

Затем я смог запустить kubectl create -f ... команды, чтобы запустить приложение.

Я могу получить доступ (как я полагаю) к API в https://api.useast1.dev.example.com/ в моем браузере.

Это запрашивает аутентификацию, учетные данные которой я получаю, запустив

kubectl config view --minify

согласно этим инструкциям из github kops.

Затем API показывает:

{
  "paths": [
    "/apis",
    "/apis/",
    "/apis/apiextensions.k8s.io",
    "/apis/apiextensions.k8s.io/v1beta1",
    "/healthz",
    "/healthz/etcd",
    "/healthz/ping",
    "/healthz/poststarthook/generic-apiserver-start-informers",
    "/healthz/poststarthook/start-apiextensions-controllers",
    "/healthz/poststarthook/start-apiextensions-informers",
    "/metrics",
    "/swagger-2.0.0.json",
    "/swagger-2.0.0.pb-v1",
    "/swagger-2.0.0.pb-v1.gz",
    "/swagger.json",
    "/swaggerapi",
    "/version"
  ]
}

Теперь я пытаюсь настроить GitLab CI, который запрашивает конечную точку API и токен службы.

Я создал токен службы, используя эти инструкции от kubernetes, хотя я еще не делал часть imagePullSecret.

Однако, когда я пытаюсь выполнить что-либо в кластере kubernetes (например, установить Helm Tiller), я получаю: Kubernetes error: Unauthorized. Я предполагаю, что это потому, что я не дал ему никаких учетных данных для доступа к этому API.

Как настроить кластер Kubernetes, чтобы Gitlab не требовал этих учетных данных для доступа к API?


person dwjohnston    schedule 27.02.2018    source источник


Ответы (1)


Хорошо, была небольшая путаница в том, что такое токен.

Лучший способ получить токен:

kubectl get secrets

Чтобы перечислить секреты

потом

kubectl describe secret SECRET_NAME

Чтобы получить токен.

person dwjohnston    schedule 28.02.2018