#kubectl #kubeconfig
#kubectl #kubeconfig
Вопрос:
В нашей компании есть несколько кластеров Kubernetes. Чтобы получить содержимое конфигурации kubectl, мы используем Dex для входа в систему и копирования / вставки содержимого в наш локальный confi для kubectl.
Я хочу сделать это автоматизированным и поэтому запустить кучу команд, чтобы получить содержимое с помощью curl
.
Я не мог понять, как, проверив ответы на запросы. Пожалуйста, помогите мне, если кто-нибудь знает, как это сделать.
Комментарии:
1. возможно ли запустить dex в режиме CLI? похоже ли это на ssh?
Ответ №1:
Я нашел, как это сделать. Итак, нам нужно сделать два вызова. Сначала извлекается страница входа, на которой мы можем получить идентификатор запроса:
the_id=$(curl -s -v -L "https://login.${cluster}" | grep -Po 'action="(.*)"')
Приведенный выше поиск в ответе для атрибута action=
, где указано, куда отправить запрос
Затем используйте the_id
в следующем вызове:
konfig=$(curl --insecure POST -H 'Content-Type: application/x-www-form-urlencoded' -d "login=$usernameamp;password=$password" -v -L "${cluster}${the_id}" | grep -Pzo '(?s)id=".*?</')
Эта команда вернет HTML-страницу, в которой вы можете найти конфигурацию. Очевидно, что для вас это может быть другой ответ, но извлечение request id
из первого вызова — это ключ, который я пропустил для начала.