Получить доступ к кластеру из консоли

В платформе Штурвал реализован модуль kubectl-shturval-plugin, позволяющий получить доступ к кластерам без использования графического интерфейса платформы.

  • Модуль обеспечивает прохождение аутентификации в платформе и выгрузку kubeconfigs всех кластеров, доступных пользователю, или kubeconfig одного выбранного кластера;
  • С помощью модуля возможно формирование конфигурационного файла с заданными параметрами. Файл содержит набор требуемых параметров для аутентификации и загрузки kubeconfigs кластеров, что позволяет сократить время при повторной аутентификации. Конфигурационный файл также может быть загружен из графического интерфейса платформы “Штурвал”.

Когда загружены kubeconfigs, вы можете управлять доступными кластерами, используя команды утилиты kubectl.

План действий:

  1. Загрузить и установить модуль kubectl-shturval-plugin;
  2. Подготовить конфигурационный файл и выполнить аутентификацию или получить доступ к кластерам без конфигурационного файла.

Установка модуля kubectl-shturval-plugin

  1. Чтобы начать работу с модулем, скачайте бинарный файл модуля по ссылке:

Если платформа развернута в закрытом окружении, вместо ссылки на скачивание используйте адрес ссылки на kubectl-shturval на вашем зеркале, например, https://registry-link/kubectl-shturval-2.10.0.

  1. Проверьте расположение исполняемого файла kubectl.
Команда
which kubectl
Скриншот

loginctl

По умолчанию исполняемый файл kubectl находится в /usr/local/bin/. Если путь расположения исполняемого файла отличен от /usr/local/bin/, используйте его в командах далее вместо /usr/local/bin/.

  1. Разместите бинарный файл в одной директории с исполняемым файлу kubectl и обеспечьте выдачу права на выполнение. Если название бинарного файла отличается от kubectl-shturval, переименуйте его при перемещении.
Команда
sudo cp /downloads/kubectl-shturval-version /usr/local/bin/kubectl-shturval && sudo chmod +x /usr/local/bin/kubectl-shturval 

Вместо /downloads/kubectl-shturval-version укажите путь до файла kubectl-shturval-version, загруженного на шаге 1.

Скриншот

loginsudochromd1

  1. Убедитесь, что файл располагается в той же директории, что и исполняемый файл kubectl.
Команда
ls /usr/local/bin/ | grep kubectl-shturval
Скриншот

loginls

Команды и доступные параметры модуля

Команда Описание
kubectl shturval login Обеспечивает прохождение аутентификации в платформе и выгрузку kubeconfigs кластеров, доступных пользователю, или kubeconfig одного кластера
kubectl shturval login genconfig Формирует конфигурационный файл с заданными параметрами. Конфигурационный файл используется командой kubectl shturval login при получении доступа к кластерам
Доступные параметры команды kubectl shturval login genconfig
Параметр Обязательный Описание
--auth-url [string] нет URL-адрес сервера аутентификации Shturval
--cacert [string] нет Содержимое корневого доверенного сертификата
--cacert-file [string] нет Путь до корневого доверенного сертификата
--client-id [string] нет Идентификатор клиента для внешнего сервиса аутентификации. По умолчанию: backend
--client-secret [string] нет Secret клиента для внешнего сервиса аутентификации
-n, --cluster-name [string] нет Имя кластера для получения kubeconfig. Не указывается, если необходимо получить kubeconfigs всех доступных кластеров
--config-path [string] нет Путь до расположения конфигурационного файла shturval-login-plugin.yaml. По умолчанию: /root
-i, --insecure нет Признак проверки безопасности TLS соединения
-k, --kubeconfig [string] нет Путь расположения загруженных kubeconfigs. По умолчанию: /root/.kube/config
-p, --password [string] нет Пароль для подключения к серверу shturval-backend. Если пароль содержит специальные символы ($,<, >, *, &, ?, /,\ ), необходимо их экранировать с помощью одинарных кавычек. Например, --password='my$Password?'
-s, --server-url [string] нет URL shturval-backend сервера
--ttl [string] нет Время жизни токена. По умолчанию 24h
-u, --username [string] нет Имя пользователя для подключения к серверу shturval-backend
-v, --version нет Версия команды login
Доступные параметры команды kubectl shturval login
Параметр Обязательный Описание
--auth-url [string] нет URL-адрес сервера аутентификации Shturval
--cacert [string] нет Содержимое корневого доверенного сертификата
--cacert-file [string] нет Путь до корневого доверенного сертификата
--client-id [string] нет Идентификатор клиента для внешнего сервиса аутентификации. По умолчанию: backend
--client-secret [string] нет Secret клиента для внешнего сервиса аутентификации
-n, --cluster-name [string] нет Имя кластера для получения kubeconfig. Не указывается, если необходимо получить kubeconfigs всех кластеров
--config-path [string] нет Путь до расположения конфигурационного файла shturval-login-plugin.yaml. По умолчанию: /root
-i, --insecure нет Признак проверки безопасности TLS соединения
-k, --kubeconfig [string] нет Путь расположения загруженных kubeconfigs. По умолчанию: /root/.kube/config
-p, --password [string] да, если нет конфигурационного файла или не задан пароль в нем, или файл загружен из интерфейса Пароль для подключения к серверу shturval-backend. Если пароль содержит специальные символы ($,<, >, *, &, ?, /,\ ), необходимо их экранировать с помощью одинарных кавычек. Например, --password='my$Password?'
-s, --server-url [string] да, если нет конфигурационного файла или не задан URL в нем URL shturval-backend сервера
--ttl [string] нет Время жизни токена. По умолчанию 24h
-u, --username [string] да, если нет конфигурационного файла или не задано имя пользователя в нем Имя пользователя для подключения к серверу shturval-backend
-v, --version нет Версия команды login
Пример вызова справки команды kubectl shturval login
kubectl shturval login -h
Скриншот

loginhel1p

Примеры генерации конфигурационного файла

Для генерации конфигурационного файла запустите команду kubectl shturval login genconfig, в которую необходимо подставить свои значения параметров.

1. Команда генерации конфигурационного файла без заданных параметров (только с дефолтными значениями)
kubectl shturval login genconfig 
2. Команда генерации конфигурационного файла с параметрами учетной записи, URL shturval-backend сервера и без проверки безопасности TLS соединения
kubectl shturval login genconfig --username=myName --password='my$Password?' --server-url=https://back.apps.ip-XX-XX-XXX-XX.shturval.link --insecure=true --client-secret=clientsecret

Вместо clientsecret впишите значение ключа backend секрета auth-clients. Он находится в неймспейсе shturval-backend кластера управления.

Скриншот

logingenconfig1

Ваш конфигурационный файл с именем shturval-login-plugin.yaml и заданными параметрами будет находится в директории /root.

3. Команда генерации конфигурационного файла с параметрами учетной записи, URL shturval-backend сервера, загрузкой конфигурационного файла в заданную директорию и без проверки TLS соединения
kubectl shturval login genconfig --username=myName --password='my$Password?' --server-url=https://back.apps.ip-XX-XX-XXX-XX.shturval.link --insecure=true --client-secret=clientsecret --config-path=/mydir

Вместо clientsecret впишите значение ключа backend секрета auth-clients. Он находится в неймспейсе shturval-backend кластера управления.

4. Команда генерации конфигурационного файла с параметрами учетной записи URL shturval-backend сервера и c проверкой безопасности TLS соединения (задан корневой сертификат)
kubectl shturval login genconfig --username=myName --password='my$Password?' --server-url=https://back.apps.ip-XX-XX-XXX-XX.shturval.link  --client-secret=clientsecret --cacert=-----BEGIN CERTIFICATE-----Содержимое в Base64-----END CERTIFICATE-----
5. Команда генерации конфигурационного файла с проверкой безопасности TLS соединения (задан путь до корневого доверенного сертификата в параметре)
kubectl shturval login genconfig --username=myName --password='my$Password?' --server-url=https://back.apps.ip-XX-XX-XXX-XX.shturval.link  --client-secret=clientsecret --cacert-file=/downloads/ca-cert.pem
6. Команда генерации конфигурационного файла с измененными по умолчанию параметрами идентификатора клиента для внешнего сервиса аутентификации, URL-адреса сервера аутентификации и директории для загрузки kubeconfigs
kubectl shturval login genconfig --kubeconfig=/tmp/kube/config --auth-url=keycloak.apps.ip-XX-XX-XXX-XX.shturval.link --client-id=myclient

Примеры загрузки kubeconfigs доступных кластеров, когда сгенерирован конфигурационный файл

Для загрузки загрузки kubeconfigs доступных кластеров запустите команду kubectl shturval login, в которую необходимо подставить свои значения параметров.

1. Команда загрузки kubeconfigs доступных кластеров, если конфигурационный файл был сконфигурирован без заданных параметров (только с дефолтными значениями)
kubectl shturval login --username=myName --password='my$Password?' --server-url=https://back.apps.ip-XX-XX-XXX-XX.shturval.link --insecure=true --client-secret=clientsecret
2. Команда загрузки kubeconfigs доступных кластеров, если конфигурационный файл был сконфигурирован без пароля пользователя, а остальные обязательные параметры для загрузки kubeconfigs доступных кластеров заданы в конфигурационном файле
kubectl shturval login --password='my$Password?'
3. Команда загрузки kubeconfigs доступных кластеров, если конфигурационный файл включает все обязательные параметры для загрузки kubeconfigs доступных кластеров
kubectl shturval login 
Скриншот

shturvallogin

4. Команда загрузки kubeconfigs доступных кластеров, если в конфигурационном файле заданы все обязательные параметры для загрузки kubeconfigs доступных кластеров и необходимо выполнить загрузку kubeconfigs с доступом другой учетной записи
kubectl shturval login --username=myName --password='my$Password?'

Примеры загрузки kubeconfigs кластеров без конфигурационного файла

Для загрузки загрузки kubeconfigs доступных кластеров запустите команду kubectl shturval login, в которую необходимо подставить свои значения параметров.

1. Команда загрузки kubeconfigs кластеров с заданными обязательными параметрами учетной записи, URL shturval-backend сервера, секрета клиента для сервиса аутентификации и без проверки безопасности TLS соединения
kubectl shturval login --username=myName --password='my$Password?' --server-url=https://back.apps.ip-XX-XX-XXX-XX.shturval.link --insecure=true --client-secret=clientsecret

Где вместо myName и my$Password? укажите ваш логин и пароль, в server-url задайте IP адрес shturval-backend сервера вместо XX-XX-XXX-XX.

Скриншот

logindownload

2. Команда загрузки kubeconfigs кластеров с заданными обязательными параметрами учетной записи, URL shturval-backend сервера, секрета клиента для сервиса аутентификации и включенной проверкой безопасности TLS соединения (задан корневой сертификат)
kubectl shturval login --username=myName --password='my$Password?' --server-url=https://back.apps.ip-XX-XX-XXX-XX.shturval.link --client-secret=clientsecret --cacert=-----BEGIN CERTIFICATE-----Содержимое в Base64-----END CERTIFICATE-----
3. Команда загрузки kubeconfigs кластеров с заданными обязательными параметрами учетной записи, URL shturval-backend сервера, секрета клиента для сервиса аутентификации и включенной проверкой безопасности TLS соединения (задан путь до корневого доверенного сертификата)
kubectl shturval login --username=myName --password='my$Password?' --server-url=https://back.apps.ip-XX-XX-XXX-XX.shturval.link --client-secret=clientsecret --cacert-file=/downloads/ca_cer.pem
Скриншот

logincert1

4. Команда загрузки kubeconfigs кластеров с заданными обязательными параметрами, без проверки безопасности TLS соединения, с заданной директорией для загрузки kubeconfigs доступных кластеров
kubectl shturval login --username=myName --password='my$Password?' --server-url=https://back.apps.ip-XX-XX-XXX-XX.shturval.link --insecure=true --client-secret=clientsecret --kubeconfig=/tmp/kube/config 
Скриншот

loginkubeconfig

5. Команда загрузки kubeconfig одного кластера с заданными обязательными параметрами аутентификации, без проверки безопасности TLS соединения
kubectl shturval login --username=myName --password='my$Password?' --server-url=https://back.apps.ip-XX-XX-XXX-XX.shturval.link --client-secret=clientsecret --cluster-name=myclustername --insecure=true

Вместо myName и myPassword? укажите ваш логин и пароль, в server-url задайте IP адрес shturval-backend сервера вместо XX-XX-XXX-XX.

Скриншот

loginonekubeconf

6. Команда загрузки kubeconfig одного кластера с заданными обязательными параметрами аутентификации, проверкой безопасности TLS соединения
kubectl shturval login --username=myName --password='my$Password?' --server-url=https://back.apps.ip-XX-XX-XXX-XX.shturval.link --client-secret=clientsecret --cluster-name=myclustername --cacert-file=/downloads/ca_cer.pem
Скриншот

loginonekubeconfcacert

Подготовка конфигурационного файла и аутентификация

Из интерфейса командной строки

Когда модуль kubectl-shturval-plugin установлен, вы можете сгенерировать конфигурационный файл с необходимым набором параметров. Для этого:

  1. Запустите команду kubectl shturval login genconfig, в которую необходимо подставить свои значения параметров.

  2. Убедитесь, что конфигурационный файл подготовлен.

Команда
cat /root/shturval-login-plugin.yaml 
Скриншот

logincatconfig1

  1. Выполните команду kubectl shturval login для загрузки kubeconfigs доступных кластеров, в которую подставьте свои значения параметров.

Обратите внимание! Данные параметров, которые вы укажете в команде kubectl shturval login будут иметь приоритет перед значениями этих же параметров конфигурационного файла shturval-login-plugin.yaml. При этом значения параметров конфигурационного файла не будут перезаписаны.

Из графического интерфейса для одного кластера

  1. Для скачивания конфигурационного файла перейдите в ваш кластер и нажмите стрелку справа от имени пользователя. Выберите Скачать config для shturval-login-plugin. Начнется загрузка файла shturval-login-plugin.yaml.
Скриншот

configlp configlp1

Пример shturval-login-plugin.yaml
auth-url: auth.apps.ip-XX-XX-XX-XX.shturval.link
client-id: backend
client-secret: qz86fkqkb
cacert: |
  -----BEGIN CERTIFICATE-----
  MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkG
  A1UEBhMCVVMxFjAUBgNpFQUWw==
  -----END CERTIFICATE-----
username: username
cluster-name: clustername
kubeConfig: clustername.conf
server-url: back.apps.ip-XX-XX-XX-XX.shturval.link

Обратите внимание! В конфигурационном файле путь расположения загруженного kubeconfig кластера изменен. Kubeconfig кластера будет загружен в директорию, где выполняются команды и с именем, соответствующим названию кластеру.

  1. Поместите полученный конфигурационный файл в папку /root.
Команда
mv /downloads/shturval-login-plugin.yaml /root/shturval-login-plugin.yaml

Где /downloads/shturval-login-plugin.yaml - путь до загруженного из графического интерфейса shturval-login-plugin.yaml.

  1. Выполните команду для загрузки kubeconfig кластера, обязательно указав пароль вашей учетной записи в параметре --password.
Пример загрузки kubeconfig кластера со значениями загруженного конфигурационного файла
kubectl shturval login --password='my$Password?'
  1. Переместите kubeconfig кластера в папку ~/.kube и переименуйте файл в config.
Команда
mv /root/clustername.conf ~/.kube/config

Где /root/clustername.conf - путь до kubeconfig кластера, загруженного на предыдущем шаге.

Из графического интерфейса для нескольких кластеров

Из графического интерфейса можно скачать конфигурационный файл, чтобы загрузить kubeconfigs всех доступных пользователю кластеров.

  1. На главной странице платформы “Штурвал” нажмите стрелку справа от имени пользователя и выберите Скачать config shturval-login-plugin для всех кластеров. Начнется загрузка файла shturval-login-plugin.yaml.
Скриншот

configallclusterlp configallclusterlp1

Пример shturval-login-plugin.yaml
auth-url: auth.apps.ip-XX-XX-XX-XX.shturval.link
client-id: backend
client-secret: qz86fkqkb
cacert: |
  -----BEGIN CERTIFICATE-----
  MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkG
  A1UEBhMCVVMxFjAUBgNpFQUWw==
  -----END CERTIFICATE-----
username: username
kubeConfig: all-clusters.conf
server-url: back.apps.ip-XX-XX-XX-XX.shturval.link

Обратите внимание! В конфигурационном файле путь расположения загруженных kubeconfigs кластеров изменен. Kubeconfigs кластеров будут загружены в файл all-clusters.conf директории, где выполняются команды.

  1. Поместите полученный конфигурационный файл в папку /root.
Команда
mv /downloads/shturval-login-plugin.yaml /root/shturval-login-plugin.yaml

Где /downloads/shturval-login-plugin.yaml - путь до загруженного из графического интерфейса shturval-login-plugin.yaml.

  1. Выполните команду для загрузки kubeconfigs кластеров, обязательно указав пароль учетной записи в параметре --password.
Пример загрузки kubeconfigs кластеров со значениями загруженного конфигурационного файла
kubectl shturval login --password='my$Password?'
  1. Переместите kubeconfigs кластеров в папку ~/.kube и переименуйте файл в config
Команда
mv /root/all-clusters.conf ~/.kube/config

Где /root/all-clusters.conf - путь до kubeconfigs кластеров.

Порядок действий для аутентификации без конфигурационного файла

Загрузка kubeconfigs кластеров

  1. Когда модуль kubectl-shturval-plugin установлен, выполните подключение к платформе с обязательными параметрами аутентификации. При необходимости сконфигурируйте дополнительные параметры и выполните команду kubectl shturval login , в которую подставьте свои значения параметров.

В результате выполнения команды kubectl shturval login:

  • пройдена аутентификация в платформе;
  • kubeconfigs всех доступных кластеров загружены в файл config директории /root/.kube (если директория не была переопределена).
  1. Когда kubeconfigs загружены, получите список контекстов кластеров, которыми вы можете управлять.
Команда
kubectl config get-contexts
Скриншот

logincontext

  1. Настройте контекст в kubectl для управления необходимым кластером.
Команда
kubectl config use-context context-name

Укажите вместо context-name имя необходимого контекста.

Скриншот

loginusecontext

  1. Убедитесь, что контекст верно настроен.
Команда
kubectl config current-context
Скриншот

logincurrent

Используйте команды kubectl для управления кластером указанного контекста.

Загрузка kubeconfig одного кластера

Когда установлен модуль kubectl-shturval-plugin, вы можете загрузить kubeconfig одного кластера. Для этого следуйте инструкции:

  1. Выполните подключение к платформе с обязательными параметрами аутентификации и заданным именем кластера в значении параметра --cluster-name. При необходимости сконфигурируйте дополнительные параметры, выполните команду kubectl shturval login, в которую подставьте свои значения для параметров.

В результате выполнения команды kubectl shturval login будет:

  • пройдена аутентификация в платформе;
  • kubeconfig указанного кластера загружен в файл config директории /root/.kube (если директория по умолчанию не была переопределена в параметре --kubeconfig).
  1. Когда kubeconfig загружен, проверьте на какой контекст настроен kubectl.
Команда
kubectl config current-context

Используйте команды kubectl для управления кластером текущего контекста.

Аутентификация с kubeconfig кластера

Когда вы скачали kubeconfig clustername.conf кластера из графического интерфейса платформы “Штурвал”, выполните аутентификацию с kubeconfig в интерфейсе командной строки:

  1. Проверьте список файлов папки ~/.kube.
  • Если в папке нет файла config, то поместите скаченный kubeconfig в папку ~/.kube и переименуйте файл в config. Проверьте расположение файла config.
Команда
# Поместить в ~/.kube и переименовать clustername.conf
mv /downloads/clustername.conf ~/.kube/config
# Проверить расположение config 
ls ~/.kube/ | grep config

Где /downloads/clustername.conf - путь до загруженного из графического интерфейса clustername.conf.

  • Если в ~/.kube уже существует файл config с kubeconfig от другого кластера, то выполните один из способов:

1 Способ

Перезапишите его данные новым kubeconfig кластера.

2 Способ

Экспортируйте переменную KUBECONFIG, чтобы указать путь до нового kubeconfig кластера. В этом случае данные kubeconfig другого кластера останутся в файле config.

Команда обновления данных config
# Поместить в ~/.kube и переименовать clustername.conf
mv /downloads/clustername.conf ~/.kube/config

Где /downloads/clustername.conf - путь до загруженного из графического интерфейса clustername.conf.

Команда экспорта переменной
export KUBECONFIG=/root/.kube/clustername.conf

Где вместо /root/.kube/clustername.conf укажите путь до kubeconfig кластера.

  1. Проверьте доступ к кластеру, используя команды kubectl для управления кластером.
Пример
# Тестовое подключение к кластеру
kubectl cluster-info
# Вывести список узлов кластера
kubectl get nodes

Если возникли ошибки доступа в кластер, вы можете найти способ решения проблемы в следующем разделе Действия в случае типовых ошибок доступа.

Действия в случае типовых ошибок доступа

1. Ошибка недействительности токена (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)

Решение:

или

  • с помощью модуля kubectl-shturval-plugin загрузите повторно kubeconfig кластера.
2. Некорректный сертификат в 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")

Решение:

или

  • с помощью модуля kubectl-shturval-plugin загрузите повторно kubeconfig кластера.
3. Ошибка экспорта 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 кластера.

4. Ошибка синхронизации времени
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

5. Ошибка в работе OIDC

Данная ошибка может возникнуть в случаях:

  1. не валидного CA сертификата;
  2. недоступности кластера управления;
  3. отсутствия у пользователя необходимых прав на выполнение действий в кластере.
error: You must be logged in to the server (Unauthorized)

Действия:

  • Получите логи контейнера kube-apiserver на каждом Master-узле, чтобы убедиться в валидности СА сертификата.
Команда получения логов контейнера kube-apiserver
crictl logs $(crictl ps | awk '/kube-apiserver/ {print $1}')
Если на Master-узле получена ошибка, то причина ошибки в не валидном СА сертификате.
Пример ответа ошибки
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

Решение:

  1. Если ошибка из-за СА сертификата, то получите валидный СА сертификат, добавьте данные сертификата на Master-узлы в /etc/ssl/certs/oidc.crt. СА сертификат содержится в Configmap root-ca неймспейса cert-manager в вашем кластере. При отсутсвии доступа к Configmap root-ca обратитесь за получением валидного СА сертифика к администратору кластера.
  2. Если проблема не с СА сертификатом, обратитесь к администратору платформы для уточнения доступности кластера управления.
  3. Если сертифкат валидный и кластер управления доступен, то у вас недостаточно прав для действий в кластере. Запросите у администратора кластера расширение прав.
6. Отсутствие доступа к API-серверу

Данная ошибка может возникнуть в случае, когда API-сервер не работает, перезапускается или заюлокирован.

The connection to the server ХХХ.ХХХ.ХХХ.ХХХ:6443 was refused - did you specify the right host or port?

Действия:

  • обратитесь к администратору платформы или кластера для выяснения причин перезапуска или отказа в работе API-сервера.
×