Я попытался настроить Kubernetes 1.13 для аутентификации OpenID Connect (OIDC) следующим образом:
- установленный сервер Keycloak
- добавлены параметры командной строки
--oidc-issuer-url=https://my_keycloak/auth/realms/my_realm
и т. Д.,kube-apiserver
- сохраненный идентификатор токена в
users.user.auth-provider.config.client-id
и т. д., в kubeconfig my_user
Из моего прочтения документации kubectl
теперь должен иметь доступкластер как my_user
.Однако kubectl get nodes
говорит:
error: You must be logged in to the server (Unauthorized)
И curl -k https://api_server:6443/api/v2/nodes --header "Authorization: Bearer $id_token"
говорит:
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Failure",
"message": "Unauthorized",
"reason": "Unauthorized",
"code": 401
}
kubectl logs $kube_apiserver -n kube-system
, journalctl -u kubelet.service
, и стандартный сигнал Keycloak все молчат.Так, где я могу увидеть больше информации журнала, чтобы определить, где может произойти сбой аутентификации OIDC?
ОБНОВЛЕНИЕ Опция --v
на клиенте (keyctl
) илисервер (например, сервер API) помогает в некоторой степени.