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

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

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

На открывшейся странице введите, выберите из файла компьютера или перетащите манифест объекта для импорта. Чтобы импортировать несколько манифестов одновременно, необходимо разместить их в одном файле с разделителем --- и после выбрать этот файл для загрузки. Загруженные манифесты проверяются на синтаксис 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://shturval.$INGRESS/authn"
export BACKENDPOINT="https://shturval.$INGRESS"
export KUBECONFIG_PATH=/tmp/$CLUSTERNAME.conf
# В переменную CLIENT_SECRET впишите значение client_secret из секрета с именем backend-<автогенерируемые символы>. Он находится в неймспейсе shturval-backend.
# При отсутствии доступа к секрету, запросите данные у администратора платформы
export CLIENT_SECRET=clientsecret
export COOKIE_PATH=/tmp/cookie
  1. Авторизуйтесь, при этом в пути авторизации укажите параметр expired=время жизни токена. В примере проставлено время действия токена 48 часов дня (expired=48h):
Команда
# Выполните аутентификацию к AUTHENDPOINT
curl -k -v -s $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" 2>&1 | grep -E -o "\<code=[A-Z0-9]+")

echo "Got code"

# Получите токен доступа (access token) после успешного получения авторизационного кода
token=$(curl -k -s "$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 kubectl-shturval-plugin для всех кластеров.
Скриншот

configallclusterlp configallclusterlp1

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

configlp configlp1

×