У меня проблемы с включением аутентификации 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. Я не уверен, в чем разница.