Действия в кластере

Импорт манифестов

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

На открывшейся странице введите, выберите из файла компьютера или перетащите манифест объекта для импорта. Чтобы импортировать несколько манифестов одновременно, необходимо разместить их в одном файле с разделителем --- и после выбрать этот файл для загрузки. Загруженные манифесты проверяются на синтаксис YAML автоматически. Файл, перетянутый или выбранный с устройства, распознается и отображается в окне введения данных. Может быть распознан только валидный YAML.

Скриншот загрузки файла с одним манифестом

importone

Скриншот загрузки файла с двумя манифестами

importtwo

Запуск проверки приводит к DRY RUN (server) применению манифеста в K8s.

Результат проверки каждого загруженного манифеста будет приведен в правой стороне экрана. Для удобства использования кнопка “Загрузить” доступна в верхней и нижней частях экрана. Загрузка манифестов доступна только после проверки их в режиме DRY RUN. Статус результата проверки отображается в строчке объекта. Чтобы просмотреть полный манифест и описание результата проверки, раскройте строчку с объектом.

Если в результате проверки в режиме DRY RUN не выявлено ошибок, отобразится сообщение, что Манифест объекта может быть применен.

Скриншот успешного результата проверки манифеста

importsuccess1

Скриншот результата проверки манифеста с ошибкой, доступного для загрузки

importfail1

Изменить объекты в виде манифестов можно на страницах объектов на вкладке “Манифест”.

Получение kubeconfig

Пользователь сможет скачать конфигурацию кластера с доступом, соответствующим правам его кластерным резрешениям. Для скачивания kubeconfig из графического интерфейса нажмите стелочку справа от имени пользователя. В выпадающем списке выберите пункт “Скачать Kubeconfig”. Загрузка начнется автоматически.

Скриншот

kubeconfig1

С целью обеспечения безопасности подключения по умолчанию действие токена рассчитано на 24 часа, т.е. kubeconfig будет валиден для использования не более 24 часов.

При необходимости изменения времени действия токена вы можете выполнить шаги по инструкции на странице Как изменить время жизни токена или указать значение параметра expired при запросе на создание kubeconfig. Время действия токена можно указать в минутах(m) и часах (h). Например, если нужен токен, выписанный на 4 дня, укажите параметр expired=168.

Для получения kubeconfig в интерфейсе командной строки воспользуйтесь модулем kubectl-shturval-plugin или используйте Client URL.

Применение Client URL

  1. Экспортируйте переменные для авторизации и скачивания kubeconfig.
Переменные
export CLUSTERNAME=my-cluster
export SH_USERNAME="admin"
export SH_PASS="my-password"
export INGRESS="apps.ip-x-x-x-x.shturval.link"

export AUTHENDPOINT="https://auth.$INGRESS"
export BACKENDPOINT="https://back.$INGRESS"
export KUBECONFIG_PATH=/tmp/$CLUSTERNAME.conf
export CLIENT_SECRET=clientsecret
export COOKIE_PATH=/tmp/cookie
  1. Авторизуйтесь, при этом в пути авторизации укажите параметр expired=время жизни токена. В примере проставлено время действия токена 48 часов дня (expired=48h):
Команда
curl -k -v --silent $AUTHENDPOINT/login -c $COOKIE_PATH --data-urlencode "username=$SH_USERNAME" \ 
--data-urlencode "password=$SH_PASS" &>/dev/null

echo "Got cookie" 

code=$(curl -k -b $COOKIE_PATH -v "$AUTHENDPOINT/oauth/authorize?response_type=code&client_id=backend&expired=48h&redirect_uri=localhost/cb" -v 2>&1 | grep -E -o "\<code=[A-Z0-9]+")

echo "Got code"

token=$(curl -k --silent "$AUTHENDPOINT/oauth/token" \
--header 'Content-Type: application/x-www-form-urlencoded' \
-b $COOKIE_PATH \
--data-urlencode 'client_id=backend' \
--data-urlencode "client_secret=$CLIENT_SECRET" \
--data-urlencode 'grant_type=authorization_code' \
--data-urlencode "$code" \
--data-urlencode "redirect_uri=localhost/cb" | jq -r '.access_token')

echo "Got token"

  1. Отправьте запрос на получение кубконфига:
Команда
curl -k --silent "$BACKENDPOINT/api/v1/clusters/$CLUSTERNAME/kubeconfig" -H "Authorization: Bearer $token" -H 'accept: application/json, text/plain, */*' > $KUBECONFIG_PATH 

echo "Kubeconfig is ready"
echo "export KUBECONFIG=$KUBECONFIG_PATH"

Загрузка конфигурационного файла для kubectl-shturval-plugin

При авторизации с помощью модуля kubectl-shturval-plugin потребуются указать набор параметров для подключения к платформе. Вы можете запросить параметры напрямую из интерфейса командной строки или скачать конфигурационный файл (shturval-login-plugin.yaml) с параметрами из графического интерфейса.

Доступно скачивание:

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

configallclusterlp configallclusterlp1

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

configlp configlp1

×