Troubleshooting
На странице представлены решения возможных типовых ошибок доступа в кластер из консоли.
Недействительность токена (access token)
Пример ошибки
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 кластера.
- Выполните шаги раздела Аутентификации с kubeconfig кластера.
или
- с помощью модуля
kubectl-shturval-pluginзагрузите повторно kubeconfig кластера.
Некорректный сертификат в 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 кластера.
- Выполните шаги раздела Аутентификация с kubeconfig кластера.
или
- с помощью модуля
kubectl-shturval-pluginзагрузите повторно kubeconfig кластера.
Ошибка экспорта kubeconfig кластера
Пример ошибки
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
...
E1216 16:19:13.707804 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. Если имя файла kubeconfig кластера отличное отconfig, переименуйте файл kubeconfig кластера.
Команда
# Поместить в ~/.kube и переименовать clustername.conf
mv /downloads/clustername.conf ~/.kube/config
# Проверить расположение config
ls ~/.kube/ | grep config
Где /downloads/clustername.conf - путь до расположения 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
Решение:
- необходимо включить синхронизацию по протоколу Network Time Protocol (NTP). Перейдите к инструкции синхронизации времени для различных операционных систем (ОС) и выполните синхронизацию. Если в ОС установлен один из сервисов NTP: timesyncd, ntpd, Chrony, вы можете использовать команду
timedatectlдля настройки синхронизации времени.
Команда timedatectl
# Проверить запущен ли сервис NTP
timedatectl timesync-status
# Установить синхронизацию с сервисом NTP
timedatectl set-ntp on
# Проверить настройки даты и времени
timedatectl
Пример когда синхронизация времени включена
Local time: Tue 2024-12-17 13:07:44 MSK
Universal time: Tue 2024-12-17 10:07:44 UTC
RTC time: Tue 2024-12-17 10:07:43
Time zone: Europe/Moscow (MSK, +0300)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Ошибка в работе OIDC
Данная ошибка может возникнуть в случаях:
- не валидного CA сертификата;
- недоступности кластера управления;
- отсутствия у пользователя необходимых прав на выполнение действий в кластере.
Пример ошибки
error: You must be logged in to the server (Unauthorized)
Действия:
- Получите логи контейнера kube-apiserver на каждом Control Plane узле, чтобы убедиться в валидности СА сертификата.
Команда получения логов контейнера kube-apiserver
crictl logs $(crictl ps | awk '/kube-apiserver/ {print $1}')
Пример ответа ошибки
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.apps.ip-xx-xx-xx-xx.shturval.link/.well-known/openid-configuration": tls: failed to verify certificate: x509: certificate signed by unknown authority
Решение:
- Если ошибка из-за СА сертификата, то получите валидный СА сертификат, добавьте данные сертификата на Control Plane узлы в
/etc/ssl/certs/oidc.crt. СА сертификат содержится в Configmaproot-caнеймспейсаcert-managerв вашем кластере. При отсутствии доступа к Configmaproot-caобратитесь за получением валидного СА сертификата к администратору кластера. - Если проблема не с СА сертификатом, обратитесь к администратору платформы для уточнения доступности кластера управления.
- Если сертификат валидный и кластер управления доступен, то у вас недостаточно прав для действий в кластере. Запросите у администратора кластера расширение прав.
Отсутствие доступа к API-серверу
Данная ошибка может возникнуть в случае, когда API-сервер не работает, перезапускается или заблокирован.
Пример ошибки
The connection to the server ХХХ.ХХХ.ХХХ.ХХХ:6443 was refused - did you specify the right host or port?
Действия:
- обратитесь к администратору платформы или кластера для выяснения причин перезапуска или отказа в работе API-сервера.