Действия в кластере
На этой странице
Импорт манифестов
Если у пользователя есть разрешение на создание хотя бы одного типа объекта, то на любой странице кластера ему будет доступен импорт манифестов. Иконка открытия страницы импорта манифестов расположена слева от имени пользователя.
На открывшейся странице введите, выберите из файла компьютера или перетащите один или несколько манифестов объектов для импорта. Загруженные манифесты проверяются на синтаксис YAML автоматически. Запуск проверки приводит к DRY RUN применению манифеста в K8s.
Результат проверки каждого загруженного манифеста будет приведен в правой стороне экрана. Для удобства использования кнопка “Загрузить” доступна в верхней и нижней частях экрана. Загрузка манифестов доступна только после проверки их в режиме DRY RUN.
Файл, перетянутый или выбранный с устройства, распознается и отображается в окне введения данных. Может быть распознан только валидный YAML.
Изменить объекты в виде манифестов можно на страницах объектов на вкладке “Манифест”.
Скриншот
Получение kubeconfig
Пользователь сможет скачать конфигурацию кластера с доступом, соответствующим правам его кластерным резрешениям. Для скачивания kubeconfig из графического интерфейса нажмите стелочку справа от имени пользователя. В выпадающем списке выберите пункт “Скачать Kubeconfig”. Загрузка начнется автоматически.
Скриншот
С целью обеспечения безопасности подключения по умолчанию действие токена рассчитано на 24 часа, т.е. kubeconfig будет валиден для использования не более 24 часов.
При необходимости изменения времени действия токена вы можете выполнить шаги по инструкции на странице Как изменить время жизни токена или указать значение параметра expired при запросе на создание kubeconfig. Время действия токена можно указать в минутах(m) и часах (h). Например, если нужен токен, выписанный на 4 дня, укажите параметр expired=168.
Для получения kubeconfig примените один из способов:
- Воспользуйтесь плагином kubectl-shturval-plugin. Подробнее на странице Как получить доступ к кластеру из консоли.
- Используйте Client URL. Для этого следуйте инструкции, приведенной далее.
- Экспортируйте переменные для авторизации и скачивания 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
- Авторизуйтесь, при этом в пути авторизации укажите параметр 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"
- Отправьте запрос на получение кубконфига:
Команда
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"