Включить аутентификацию webhook kubelet api - PullRequest
0 голосов
/ 30 октября 2018

У меня проблемы с включением аутентификации webhook для API-интерфейса kubelet. Мой кластер развернут с помощью kubeadm. Этот пост похож, но не тот же вопрос

Я могу аутентифицироваться на своем сервере API с токеном на предъявителя, просто отлично:

curl -k https://localhost:6443/api --header "Authorization: Bearer $TOKEN"

Я не могу аутентифицироваться на API Kubelet с тем же заголовком. Я включил следующее на сервере API:

--authorization-mode=Node,RBAC
--anonymous-auth=false
--runtime-config=authentication.k8s.io/v1beta1=true,authorization.k8s.io/v1beta1=true

Следующее включено на узле (ах) kubelet (через /var/lib/kubelet/config.yaml)

address: 0.0.0.0
apiVersion: kubelet.config.k8s.io/v1beta1
authentication:
  anonymous:
    enabled: false
  webhook:
    cacheTTL: 2m0s
    enabled: true
  x509:
    clientCAFile: /etc/kubernetes/pki/ca.crt
authorization:
  mode: Webhook
  webhook:
    cacheAuthorizedTTL: 5m0s
    cacheUnauthorizedTTL: 30s

Несмотря на это, я получаю «403 запрещено» при скручивании конечной точки / metrics на кубеле. Стоит отметить, что я могу выполнить тот же вызов API для кластера, развернутого с помощью KOPS. Я не уверен, в чем разница.

1 Ответ

0 голосов
/ 31 октября 2018

403 указывает, что вы успешно аутентифицировались (или вы получили бы ошибку 401), kubelet проверил с помощью apiserver, если вы были авторизованы для доступа к метрикам kubelet (в противном случае он просто позволил бы это), он определенно получил ответ от apiserver (в противном случае вы получили бы ошибку 500), и apiserver указал, что аутентифицированный пользователь не авторизован для доступа к метрикам kubelet.

См. https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet-authentication-authorization/#kubelet-authorization для получения подробной информации о том, какие разрешения необходимо предоставить для доступа к различным конечным точкам в API-интерфейсе kubelet. Для метрик должен быть предоставлен ресурс nodes/metrics в "" apiGroup.

...