0

我们公司有多个 Kubernetes 集群。要获取 kubectl 配置内容,我们使用 Dex 登录并将内容复制/粘贴到 kubectl 的本地配置文件中。

我想让这个自动化,所以运行一堆命令来获取使用curl.

我无法通过检查请求响应来弄清楚如何。如果有人知道怎么做,请帮助我。

4

1 回答 1

0

我找到了怎么做。所以我们需要打两个电话。第一个检索登录页面,我们可以在其中获取请求 ID:

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=$username&password=$password" -v -L "${cluster}${the_id}" | grep -Pzo '(?s)id=".*?</')

此命令将返回一个 HTML 页面,您可以在其中找到配置。显然,对你来说,它可能是不同的响应,但从request id第一个电话中获取是我一开始就错过的关键。

于 2021-01-11T23:20:28.793 回答