Типовые ошибки доступа
На странице собраны типовые ошибки доступа к кластеру из консоли и действия, которые можно выполнить самостоятельно или передать администратору.
С чего начать
Сначала определите, каким способом вы подключались:
Краткая таблица ошибок
| Проблема | Что можно сделать самостоятельно | Когда нужен администратор |
|---|---|---|
| Токен недействителен или истек | Перескачать kubeconfig или повторно выполнить вход через плагин | Если доступ не восстанавливается после повторного входа |
| Ошибка сертификата | Перескачать kubeconfig или повторно получить его через плагин | Если проблема связана с CA или сертификатами кластера |
localhost:8080 вместо адреса кластера |
Проверить, куда сохранен kubeconfig и какое имя у файла | Если корректный kubeconfig есть, но подключение все равно не работает |
| Ошибка синхронизации времени | Включить NTP-синхронизацию | Если вы не управляете настройками ОС |
Unauthorized / OIDC |
Проверить права и сценарий входа | Если нужно проверить CA, доступность кластера управления или права в кластере |
| API-сервер недоступен | Проверить, что ошибка не связана с локальным kubeconfig | Если API-сервер не отвечает |
Недействительный токен
Пример ошибки:
E1202 11:06:00.839825 3042497 memcache.go:265]
couldn't get current server API group list: the server has asked for the client to provide credentials
...
error: You must be logged in to the server (the server has asked for the client to provide credentials)
Что можно сделать самостоятельно
- повторно скачать kubeconfig из GUI;
- заново пройти сценарий Получение kubeconfig кластера;
- или повторно загрузить kubeconfig с помощью
kubectl-shturval-plugin.
Некорректный сертификат в kubeconfig
Такая ошибка возможна, если в kubeconfig содержится сертификат от другого кластера.
Пример ошибки:
Unable to connect to the server: tls: failed to verify certificate: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "kubernetes")
Что можно сделать самостоятельно
- повторно скачать kubeconfig кластера из GUI;
- заново выполнить шаги страницы Получение kubeconfig кластера;
- или повторно получить kubeconfig через
kubectl-shturval-plugin.
Когда нужен администратор
Если повторная загрузка kubeconfig не помогла, причина может быть в доверенном CA-сертификате кластера.
kubectl пытается подключиться к localhost:8080
Пример ошибки:
E1216 16:19:13.703968 7159 memcache.go:265] couldn't get current server API group list: Get "http://localhost:8080/api?timeout=32s": dial tcp [::1]:8080: connect: connection refused
...
The connection to the server localhost:8080 was refused - did you specify the right host or port?
Что можно сделать самостоятельно
Убедитесь, что kubeconfig сохранен в ~/.kube/config или явно указан через KUBECONFIG.
# Поместить в ~/.kube и переименовать clustername.conf
mv /downloads/clustername.conf ~/.kube/config
# Проверить расположение config
ls ~/.kube/ | grep config
Если вы используете отдельный kubeconfig, проверьте сценарий из страницы Получение kubeconfig кластера.
Ошибка синхронизации времени
Пример ошибки:
Unable to connect to the server: tls: failed to verify certificate: x509: certificate has expired or is not yet valid: current time 2023-12-16T16:30:28+03:00 is before 2024-12-16T09:14:38Z
Что можно сделать самостоятельно
Включите синхронизацию времени по NTP. В документации по узлам есть инструкция синхронизации времени.
Если в ОС уже установлен один из сервисов NTP, можно использовать:
# Проверить, запущен ли сервис NTP
timedatectl timesync-status
# Включить синхронизацию с сервисом NTP
timedatectl set-ntp on
# Проверить настройки даты и времени
timedatectl
Когда нужен администратор
Если вы не можете менять настройки времени в ОС самостоятельно.
Ошибка в работе OIDC или Unauthorized
Такая ошибка может быть связана:
- с невалидным CA-сертификатом;
- с недоступностью кластера управления;
- с отсутствием у пользователя необходимых прав на действия в кластере.
Пример ошибки:
error: You must be logged in to the server (Unauthorized)
Что можно сделать самостоятельно
- убедиться, что вы используете актуальный kubeconfig или повторно выполнили вход через плагин;
- проверить, хватает ли вам прав на кластер или namespace, через страницу Что делать, если не хватает прав доступа?.
Когда нужен администратор
Если ошибка связана не с локальным kubeconfig, администратору могут понадобиться дополнительные проверки.
Пример команды для получения логов kube-apiserver:
crictl logs $(crictl ps | awk '/kube-apiserver/ {print $1}')
Пример ошибки, которая указывает на проблему с CA:
E1216 14:14:01.209890 1 authentication.go:73] "Unable to authenticate the request" err="[invalid bearer token, oidc: authenticator not initialized]"
E1216 14:14:06.695653 1 oidc.go:304] oidc authenticator: initializing plugin: Get "https://auth.clustername.ip-xx-xx-xx-xx.shturval.link/.well-known/openid-configuration": tls: failed to verify certificate: x509: certificate signed by unknown authority
Если проблема в CA-сертификате, администратору нужно получить валидный сертификат и добавить его на Control Plane узлы в /etc/ssl/certs/oidc.crt. В документации указано, что CA-сертификат содержится в ConfigMap root-ca неймспейса cert-manager.
API-сервер недоступен
Пример ошибки:
The connection to the server ХХХ.ХХХ.ХХХ.ХХХ:6443 was refused - did you specify the right host or port?
Что можно сделать самостоятельно
- убедиться, что используется корректный kubeconfig;
- исключить ситуацию с
localhost:8080, описанную выше; - повторно получить kubeconfig выбранным сценарием.
Когда нужен администратор
Если API-сервер не отвечает, нужно обратиться к администратору платформы или кластера для выяснения причин отказа или перезапуска.