Как получить доступ к кластеру из консоли
Способы доступа
Переход к управлению доступными кластерами в интерфейсе командной строки возможен одним из способов:
- Аутентификация с kubeconfig кластера из графического интерфейса.
Примечание ‒ Далее приведены варианты с модулем kubectl-shturval-plugin Комплекса:
- Аутентификация с загруженным конфигурационным файлом из графического интерфейса.
- Аутентификация с подготовленным конфигурационным файлом в консоли (без графического интерфейса).
- Аутентификация без конфигурационного файла в консоли (без графического интерфейса).
Аутентификация с kubeconfig кластера
Чтобы получить доступ к кластеру из консоли с загруженным kubeconfig из графического интерфейса, необходимо:
- в графическом интерфейсе кластера в правом верхнем углу экрана нажать стрелку рядом с именем пользователя и в выпадающем списке выбрать пункт "Скачать Kubeconfig" (рисунок 7). Загрузка начнется автоматически. Kubeconfig кластера будет загружен с именем clustername.conf;

Рисунок 7 ‒ Выбор скачивания kubeconfig
- после скачивания kubeconfig кластера в интерфейсе командной строки проверить список файлов папки ~/.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 от другого кластера, то выполнить один из способов:
- Первый способ ‒ перезаписать его данные новым kubeconfig кластера;
- Второй способ ‒ экспортировать переменную 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 кластера.
- проверить доступ к кластеру, используя команды kubectl для управления кластером.
Пример:
# Тестовое подключение к кластеру
kubectl cluster-info
# Вывести список узлов кластера
kubectl get nodes
Если возникли ошибки доступа в кластер, можно найти способ решения проблемы в п. Действия в случае типовых ошибок доступа.
Модуль доступа к кластерам (kubectl-shturval-plugin)
В Комплексе реализован модуль kubectl-shturval-plugin, позволяющий получить доступ к кластерам из интерфейса командной строки..
Модуль обеспечивает выгрузку kubeconfigs кластеров и прохождения аутентификации в Комплексе . Возможно загрузить:
- kubeconfig для доступа ко всем кластерам, доступным пользователю;
- kubeconfig для доступа к одному кластеру.
Когда загружены kubeconfigs кластеров, можго управлять доступными кластерами, используя команды утилиты kubectl.
При аутентификации с помощью модуля требуется указать набор параметров для подключения к Комплексу. Чтобы при подключении не вводить все требуемые параметры, можно сохранить их в конфигурационном файле. Если конфигурационный файл создан, то модуль будет подтягивать заданные значения параметров для аутентификации.
Конфигурационный файл (shturval-login-plugin.yaml) с требуемыми параметрами может быть получен или загружен одним из способов:
- Сформирован с помощью модуля kubectl-shturval-plugin из интерфейса командной строки;
- Загружен из графического интерфейса Комплекса.
Чтобы установить модуль, нужно выполнить шаги инструкции в п. Аутентификация с kubeconfig кластера.
Варианты аутентификации:
- С загрузкой конфигурационного файла из графического интерфейса.
- С конфигурационным файлом, подготовленным в консоли (без графического интерфейса).
- Без конфигурационного файла и графического интерфейса.
Установка и команды модуля
Для установки модуля kubectl-shturval-plugin нужно выполнить следующие шаги:
- скачать бинарный файл модуля по ссылке:
kubectl-shturval-plugin # для Linux;
kubectl-shturval-plugin # для Windows;
Если Комплекс развернут в закрытом окружении (условно-закрытом), вместо ссылки на скачивание следует использовать адрес ссылки на kubectl-shturval на вашем зеркале, например https://adress-resgistry/repository/shturval_bin_public/kubectl-shturval/2.13.0/kubectl-shturval (только для Linux);
- проверить расположение исполняемого файла kubectl.
Пример команды для Linux (рисунок 8):
which kubectl

Рисунок 8 ‒ Проверка расположения файла kubectl для Linux
Пример команды для Windows (рисунок 9):
Get-ChildItem -Path C:\ "kubectl.exe" -Recurse -Force -ErrorAction SilentlyContinue

Рисунок 9 ‒ Проверка расположения файла kubectl для Windows
- разместить бинарный файл в одной директории с исполняемым файлом kubectl и обеспечить выдачу права на выполнение. Если название бинарного файла отличается от kubectl-shturval, переименовать при перемещении.
Пример команды для Linux:
sudo cp ВВЕДИТЕ-ПУТЬ-ДО-ЗАГРУЖЕННОГО-kubectl-shturval-version ВВЕДИТЕ-ДИРЕКТОРИЮ-ГДЕ-РАСПОЛАГАЕТСЯ-kubectl-shturval && sudo chmod +x ВВЕДИТЕ-ДИРЕКТОРИЮ-ГДЕ-РАСПОЛАГАЕТСЯ-kubectl-shturval
Пример команды для Windows:
cp ВВЕДИТЕ-ПУТЬ-ДО-ЗАГРУЖЕННОГО-kubectl-shturval.exe ВВЕДИТЕ-ДИРЕКТОРИЮ-ГДЕ-РАСПОЛАГАЕТСЯ-kubectl.exe
- убедиться, что файл располагается в той же директории, что и исполняемый файл kubectl (рисунок 11).
Пример команды для Linux:
ls ВВЕДИТЕ-ДИРЕКТОРИЮ-ГДЕ-РАСПОЛАГАЕТСЯ-kubectl | grep kubectl-shturval
Пример команды для Windows:
Test-Path -PathType Leaf -Path 'ВВЕДИТЕ-ДИРЕКТОРИЮ-ГДЕ-РАСПОЛАГАЕТСЯ-kubectl.exe\kubectl-shturval.exe'
Команды
Команды и доступные параметры модуля приведены в таблице 9.
Пример вызова справки команды kubectl shturval login (рисунок 10):
kubectl shturval login -h

Рисунок 10 ‒ Результат выполнения команды
Аутентификация с модулем
С конфигурационным файлом из графического интерфейса
В графическом интерфейсе РОСА Кубис для модуля kubectl-shturval-plugin можно загрузить конфигурационный файл:
- настроенный на загрузку всех kubeconfigs кластеров, доступных пользователю;
- настроенный на загрузку kubeconfig одного кластера, доступного пользователю.
Доступ к одному кластеру
Когда установлен модуль доступа к кластерам kubectl-shturval-plugin, для получения доступа к кластеру из консоли:
- перейти в графический интерфейсе кластера и нажать стрелку справа от имени пользователя, выбрать "Скачать config для shturval-login-plugin": начнется загрузка файла shturval-login-plugin.yaml (рисунок 11).

Рисунок 11 ‒ Скачивание config для shturval-login-plugin
Пример shturval-login-plugin.yaml:
auth-url: shturval.clustername.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: shturval.clustername.ip-XX-XX-XX-XX.shturval.link
Важно ‒ В конфигурационном файле путь расположения загруженного kubeconfig кластера изменен. Kubeconfig кластера будет загружен в директорию, где выполняются команды, и с именем, соответствующим названию кластеру.
- перейти в интерфейс командной строки и поместить полученный конфигурационный файл в директорию домашнего каталога пользователя (например, для Linux ‒ /root).
Пример команды:
mv ВВЕДИТЕ-ПУТЬ-ДО-ЗАГРУЖЕННОГО-shturval-login-plugin.yaml ПАПКА-ДОМАШНЕГО-КАТАЛОГА-ПОЛЬЗОВАТЕЛЯ/shturval-login-plugin.yaml
- выполнить команду для загрузки kubeconfig кластера. Пароль вашей учетной записи будет запрошен в интерактивном режиме.
Пример загрузки kubeconfig кластера со значениями загруженного конфигурационного файла:
kubectl shturval login
- переместить kubeconfig кластера в папку ~/.kube и переименовать файл в config.
Команда:
mv ВВЕДИТЕ-ПУТЬ-ДО-clustername.conf ~/.kube/config
Когда загружены kubeconfig кластера, для управления можно использовать команды утилиты kubectl.
Если возникли ошибки доступа в кластер, можно найти способ решения проблемы в п. Доступ ко всем доступным пользователю кластерам.
Доступ ко всем доступным пользователю кластерам
Когда установлен модуль доступа к кластерам kubectl-shturval-plugin, для получения доступа к кластерам из консоли нужно:
- в графическом интерфейсе на главной странице Комплекса нажать стрелку справа от имени пользователя и выбрать "Скачать config shturval-login-plugin для всех кластеров" (рисунок 12): начнется загрузка файла shturval-login-plugin.yaml.

Рисунок 12 ‒ Скачивание config для shturval-login-plugin
Пример shturval-login-plugin.yaml:
auth-url: shturval.clustername.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: shturval.clustername.ip-XX-XX-XX-XX.shturval.link
Важно ‒ В конфигурационном файле путь расположения загруженных kubeconfigs кластеров изменен. Kubeconfigs кластеров будут загружены в файл all-clusters.conf директории, где выполняются команды.
- перейти в интерфейс командной строки и поместить полученный конфигурационный файл в директорию домашнего каталога пользователя (например, для Linux ‒ /root).
Пример команды:
mv ВВЕДИТЕ-ПУТЬ-ДО-ЗАГРУЖЕННОГО-shturval-login-plugin.yaml ПАПКА-ДОМАШНЕГО-КАТАЛОГА-ПОЛЬЗОВАТЕЛЯ/shturval-login-plugin.yaml
- выполнить команду для загрузки kubeconfigs кластеров. Пароль вашей учетной записи будет запрошен в интерактивном режиме.
Пример загрузки kubeconfigs кластеров со значениями загруженного конфигурационного файла:
kubectl shturval login
- переместить kubeconfigs кластеров в папку ~/.kube и переименовать файл в config.
Пример команды:
mv ВВЕДИТЕ-ПУТЬ-ДО-all-clusters.conf ~/.kube/config
Когда загружены kubeconfigs кластеров, можно управлять доступными кластерами, используя команды утилиты kubectl.
С конфигурационным файлом из консоли
После установки модуля kubectl-shturval-plugin можно сгенерировать конфигурационный файл с необходимым набором параметров. Для этого в интерфейсе командной строки нужно:
- запустить команду
kubectl shturval login genconfig, в которую необходимо подставить свои значения параметров (таблица 10).
- убедиться, что конфигурационный файл подготовлен.
Пример команды (рисунок 13):

Рисунок 13 ‒ Подготовка конфигурационного файла
cat ВВЕДИТЕ-ПУТЬ-ДО-shturval-login-plugin.yaml
- выполнить команду
kubectl shturval loginдля загрузки kubeconfigs доступных кластеров, в которую подставить свои значения параметров (таблица 11).
Важно:
- Данные параметров, которые указаны в команде
kubectl shturval loginбудут иметь приоритет перед значениями этих же параметров конфигурационного файла shturval-login-plugin.yaml. При этом значения параметров конфигурационного файла не будут перезаписаны. - После вызова команды без пароля для подключения (параметр -p / --password) он будет запрошен в интерактивном режиме.
- Когда загружены kubeconfigs кластеров, можно управлять доступными кластерами, используя команды утилиты
kubectl.
Если возникли ошибки доступа в кластер, можно найти способ решения проблемы в п. Действия в случае типовых ошибок доступа.
Примеры генерации конфигурационного файла
Для генерации конфигурационного файла нужно запустить команду kubectl shturval login genconfig, в которую необходимо подставить свои значения параметров.
- Команда генерации конфигурационного файла без заданных параметров (только со значениями по умолчанию):
kubectl shturval login genconfig
- Команда генерации конфигурационного файла с параметрами учетной записи (без пароля), URL shturval-backend-сервера и без проверки безопасности TLS-соединения:
kubectl shturval login genconfig --username=ВВЕДИТЕ-ИМЯ-ПОЛЬЗОВАТЕЛЯ-ДЛЯ-ПОДКЛЮЧЕНИЯ --server-url=ВВЕДИТЕ-URL-shturval-backend-СЕРВЕРА --insecure=true --client-secret=ВВЕДИТЕ-Secret-КЛИЕНТА-СЕРВИСА-АУТЕНТИФИКАЦИИ
В —client-secret следует вписать значение ключа backend секрета backend-<автогенерируемые символы>. Он находится в неймспейсе shturval-backend кластера управления. При отсутствии доступа к секрету необходимо запросить данные у администратора Комплекса.
Ваш конфигурационный файл с именем shturval-login-plugin.yaml и заданными параметрами будет находиться в директории домашнего каталога пользователя (например, для Linux ‒ /root).
- Команда генерации конфигурационного файла с параметрами учетной записи, URL shturval-backend-сервера, загрузкой конфигурационного файла в заданную директорию и без проверки TLS-соединения:
kubectl shturval login genconfig --username=ВВЕДИТЕ-ИМЯ-ПОЛЬЗОВАТЕЛЯ-ДЛЯ-ПОДКЛЮЧЕНИЯ --password='ВВЕДИТЕ-ПАРОЛЬ-ПОЛЬЗОВАТЕЛЯ' --server-url=ВВЕДИТЕ-URL-shturval-backend-СЕРВЕРА --insecure=true --client-secret=ВВЕДИТЕ-Secret-КЛИЕНТА-СЕРВИСА-АУТЕНТИФИКАЦИИ --config-path=ВВЕДИТЕ-Путь-ДО-РАСПОЛОЖЕНИЯ-КОНФИГУРАЦИОННОГО-ФАЙЛА
В —client-secret нужно вписать значение ключа backend секрета backend-<автогенерируемые символы>. Он находится в неймспейсе shturval-backend кластера управления.
- Команда генерации конфигурационного файла с параметрами учетной записи URL shturval-backend-сервера и c проверкой безопасности TLS-соединения (задан корневой сертификат):
kubectl shturval login genconfig --username=ВВЕДИТЕ-ИМЯ-ПОЛЬЗОВАТЕЛЯ-ДЛЯ-ПОДКЛЮЧЕНИЯ --password='ВВЕДИТЕ-ПАРОЛЬ-ПОЛЬЗОВАТЕЛЯ' --server-url=ВВЕДИТЕ-URL-shturval-backend-СЕРВЕРА --client-secret=ВВЕДИТЕ-Secret-КЛИЕНТА-СЕРВИСА-АУТЕНТИФИКАЦИИ --cacert=-----BEGIN CERTIFICATE-----Содержимое в Base64-----END CERTIFICATE-----
- Команда генерации конфигурационного файла с проверкой безопасности TLS-соединения (задан путь до корневого доверенного сертификата в параметре):
kubectl shturval login genconfig --username=ВВЕДИТЕ-ИМЯ-ПОЛЬЗОВАТЕЛЯ-ДЛЯ-ПОДКЛЮЧЕНИЯ --password='ВВЕДИТЕ-ПАРОЛЬ-ПОЛЬЗОВАТЕЛЯ' --server-url=ВВЕДИТЕ-URL-shturval-backend-СЕРВЕРА --client-secret=ВВЕДИТЕ-Secret-КЛИЕНТА-СЕРВИСА-АУТЕНТИФИКАЦИИ --cacert-file=ВВЕДИТЕ-ПУТЬ-ДО-КОРНЕВОГО-ДОВЕРЕННОГО-СЕРТИФИКАТА
- Команда генерации конфигурационного файла с измененными по умолчанию параметрами идентификатора клиента для внешнего сервиса аутентификации, URL-адреса сервера аутентификации и директории для загрузки kubeconfigs:
kubectl shturval login genconfig --kubeconfig=ВВЕДИТЕ-ПУТЬ-ДЛЯ-ЗАГРУЗКИ-kubeconfig --auth-url=keycloak.clustername.ip-XX-XX-XXX-XX.shturval.link --client-id=ВВЕДИТЕ-ИДЕНТИФИКАТОР-КЛИЕНТА-ДЛЯ-ВНЕШНЕГО-СЕРВИСА-АУТЕНТИФИКАЦИИ
Примеры загрузки kubeconfigs доступных кластеров, если сгенерирован конфигурационный файл
Для загрузки kubeconfigs доступных кластеров нужно запустить команду kubectl shturval login, в которую необходимо подставить свои значения параметров:
- Команда загрузки kubeconfigs доступных кластеров, если конфигурационный файл был сконфигурирован без заданных параметров (только со значениями по умолчанию):
kubectl shturval login --username=ВВЕДИТЕ-ИМЯ-ПОЛЬЗОВАТЕЛЯ-ДЛЯ-ПОДКЛЮЧЕНИЯ --server-url=ВВЕДИТЕ-URL-shturval-backend-СЕРВЕРА --insecure=true --client-secret=ВВЕДИТЕ-Secret-КЛИЕНТА-СЕРВИСА-АУТЕНТИФИКАЦИИ
Пароль для подключения будет запрошен в интерактивном режиме.
- Команда загрузки kubeconfigs доступных кластеров, если конфигурационный файл включает все обязательные параметры для загрузки kubeconfigs доступных кластеров:
kubectl shturval login
Пароль для подключения будет запрошен в интерактивном режиме.
- Команда загрузки kubeconfigs доступных кластеров, если в конфигурационном файле заданы все обязательные параметры для загрузки kubeconfigs доступных кластеров и необходимо выполнить загрузку kubeconfigs с доступом другой учетной записи:
kubectl shturval login --username=ВВЕДИТЕ-ИМЯ-ПОЛЬЗОВАТЕЛЯ-ДЛЯ-ПОДКЛЮЧЕНИЯ --password='ВВЕДИТЕ-ПАРОЛЬ
Без конфигурационного файла и графического интерфейса
Прежде чем выполнять аутентификацию нужно:
- ознакомиться с вариантами получения доступа к кластеру из консоли;
- установить модуль доступа к кластерам kubectl-shturval-plugin;
- когда модуль kubectl-shturval-plugin установлен, для загрузки kubeconfigs кластеров, доступных пользователю, запустить команду
kubectl shturval login, в которую необходимо подставить свои значения параметров (таблица 12).
- После загрузки kubeconfigs кластеров можно управлять доступными кластерами, используя команды утилиты kubectl.
Важно ‒ После вызова команды без пароля для подключения (параметр -p/--password), он будет запрошен в интерактивном режиме.
Примеры загрузки kubeconfigs кластеров, доступных пользователю, без конфигурационного файла
- Команда загрузки kubeconfigs кластеров с заданными параметрами учетной записи без пароля, URL shturval-backend-сервера, секрета клиента для сервиса аутентификации и без проверки безопасности TLS-соединения:
kubectl shturval login --username=ВВЕДИТЕ-ИМЯ-ПОЛЬЗОВАТЕЛЯ-ДЛЯ-ПОДКЛЮЧЕНИЯ --server-url=ВВЕДИТЕ-URL-shturval-backend-СЕРВЕРА --insecure=true --client-secret=ВВЕДИТЕ-Secret-КЛИЕНТА-СЕРВИСА-АУТЕНТИФИКАЦИИ
В --client-secret следует вписать значение ключа backend секрета backend-<автогенерируемые символы>. Он находится в неймспейсе shturval-backend кластера управления. При отсутствии доступа к секрету нужно запросить данные у администратора Комплекса.
- Команда загрузки kubeconfigs кластеров с заданными параметрами учетной записи, URL shturval-backend-сервера, секрета клиента для сервиса аутентификации и включенной проверкой безопасности TLS-соединения (задан корневой сертификат):
kubectl shturval login --username=ВВЕДИТЕ-ИМЯ-ПОЛЬЗОВАТЕЛЯ-ДЛЯ-ПОДКЛЮЧЕНИЯ --password='ВВЕДИТЕ-ПАРОЛЬ-ПОЛЬЗОВАТЕЛЯ' --server-url=ВВЕДИТЕ-URL-shturval-backend-СЕРВЕРА --client-secret=ВВЕДИТЕ-Secret-КЛИЕНТА-СЕРВИСА-АУТЕНТИФИКАЦИИ --cacert=-----BEGIN CERTIFICATE-----Содержимое в Base64-----END CERTIFICATE-----
В --client-secret нужно вписать значение ключа backend секрета backend-<автогенерируемые символы>. Он находится в неймспейсе shturval-backend кластера управления. При отсутствии доступа к секрету, необходимо запросить данные у администратора Комплекса.
- Команда загрузки kubeconfigs кластеров с заданными параметрами учетной записи, URL shturval-backend-сервера, секрета клиента для сервиса аутентификации и включенной проверкой безопасности TLS-соединения (задан путь до корневого доверенного сертификата):
kubectl shturval login --username=ВВЕДИТЕ-ИМЯ-ПОЛЬЗОВАТЕЛЯ-ДЛЯ-ПОДКЛЮЧЕНИЯ --password='ВВЕДИТЕ-ПАРОЛЬ-ПОЛЬЗОВАТЕЛЯ' --server-url=ВВЕДИТЕ-URL-shturval-backend-СЕРВЕРА --client-secret=ВВЕДИТЕ-Secret-КЛИЕНТА-СЕРВИСА-АУТЕНТИФИКАЦИИ --cacert-file=ВВЕДИТЕ-ПУТЬ-ДО-КОРНЕВОГО-ДОВЕРЕННОГО-СЕРТИФИКАТА
В --client-secret нужно вписать значение ключа backend секрета backend-<автогенерируемые символы>. Он находится в неймспейсе shturval-backend кластера управления. При отсутствии доступа к секрету, необходимо запросить данные у администратора Комплекса.
- Команда загрузки kubeconfigs кластеров без проверки безопасности TLS-соединения, с заданной директорией для загрузки kubeconfigs доступных кластеров:
kubectl shturval login --username=ВВЕДИТЕ-ИМЯ-ПОЛЬЗОВАТЕЛЯ-ДЛЯ-ПОДКЛЮЧЕНИЯ --password='ВВЕДИТЕ-ПАРОЛЬ-ПОЛЬЗОВАТЕЛЯ' --server-url=ВВЕДИТЕ-URL-shturval-backend-СЕРВЕРА --insecure=true --client-secret=ВВЕДИТЕ-Secret-КЛИЕНТА-СЕРВИСА-АУТЕНТИФИКАЦИИ --kubeconfig=ВВЕДИТЕ-ПУТЬ-ДЛЯ-ЗАГРУЗКИ-kubeconfig
В --client-secret нужно вписать значение ключа backend секрета backend-<автогенерируемые символы>. Он находится в неймспейсе shturval-backend кластера управления. При отсутствии доступа к секрету, необходимо запросить данные у администратора Комплекса.
- Команда загрузки kubeconfig одного кластера с заданными обязательными параметрами аутентификации, паролем для подключения к серверу shturval-backend, без проверки безопасности TLS-соединения:
kubectl shturval login --username=ВВЕДИТЕ-ИМЯ-ПОЛЬЗОВАТЕЛЯ-ДЛЯ-ПОДКЛЮЧЕНИЯ --password='ВВЕДИТЕ-ПАРОЛЬ-ПОЛЬЗОВАТЕЛЯ' --server-url=ВВЕДИТЕ-URL-shturval-backend-СЕРВЕРА --client-secret=ВВЕДИТЕ-Secret-КЛИЕНТА-СЕРВИСА-АУТЕНТИФИКАЦИИ --cluster-name=myclustername --insecure=true
В --client-secret нужно вписать значение ключа backend секрета backend-<автогенерируемые символы>. Он находится в неймспейсе shturval-backend кластера управления. При отсутствии доступа к секрету, необходимо запросить данные у администратора Комплекса.
- Команда загрузки kubeconfig одного кластера с заданными обязательными параметрами аутентификации, проверкой безопасности TLS-соединения:
kubectl shturval login --username=ВВЕДИТЕ-ИМЯ-ПОЛЬЗОВАТЕЛЯ-ДЛЯ-ПОДКЛЮЧЕНИЯ --password='ВВЕДИТЕ-ПАРОЛЬ-ПОЛЬЗОВАТЕЛЯ' --server-url=ВВЕДИТЕ-URL-shturval-backend-СЕРВЕРА --client-secret=ВВЕДИТЕ-Secret-КЛИЕНТА-СЕРВИСА-АУТЕНТИФИКАЦИИ --cluster-name=ВВЕДИТЕ-ИМЯ-КЛАСТЕРА --cacert-file=ВВЕДИТЕ-ПУТЬ-ДО-КОРНЕВОГО-ДОВЕРЕННОГО-СЕРТИФИКАТА
В --client-secret нужно вписать значение ключа backend секрета backend-<автогенерируемые символы>. Он находится в неймспейсе shturval-backend кластера управления. При отсутствии доступа к секрету, необходимо запросить данные у администратора Комплекса.
Если возникли ошибки доступа в кластер, можно найти способ решения проблемы в п. Действия в случае типовых ошибок доступа .
Действия в случае типовых ошибок доступа
На странице представлены решения возможных типовых ошибок доступа в кластер из консоли:
- Ошибка недействительности токена (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 кластера.
- Ошибка экспорта kubeconfig кластера
EE1216 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для настройки синхронизации времени:
# Проверить запущен ли сервис 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}')
Если на Control Plane-узле получена ошибка, то причина ошибки в невалидном СА-сертификате. Пример ответа ошибки:
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. СА-сертификат содержится в Configmap root-ca неймспейса cert-manager в вашем кластере. При отсутствии доступа к Configmap root-ca обратиться за получением валидного СА-сертификата к администратору кластера.
- Если проблема не с СА-сертификатом, обратиться к администратору Комплекса для уточнения доступности кластера управления.
- Если сертификат валидный и кластер управления доступен, то у вас недостаточно прав для действий в кластере. Следует запросить у администратора кластера расширение прав.
- Отсутствие доступа к API-серверу
Данная ошибка может возникнуть в случае, если API-сервер не работает, перезапускается или заблокирован.
The connection to the server ХХХ.ХХХ.ХХХ.ХХХ:6443 was refused ‒ did you specify the right host or port?
Действия:
- обратиться к администратору Комплекса или кластера для выяснения причин перезапуска или отказа в работе API-сервера.