Kubernetes 如何在使用kubectl工具时添加自定义http头
找不到任何问题Kubernetes 如何在使用kubectl工具时添加自定义http头,kubernetes,http-headers,kubectl,Kubernetes,Http Headers,Kubectl,找不到任何问题 我必须添加几个自定义http头来访问我的专用api服务器代理,但目前没有可用的线索。我错过了什么吗?这是一个肮脏的硬编码黑客,告诉你如何得到你想要的结果。这不是一个经过充分审查的解决方案。此方法将编译kubectl的新版本,该版本将添加所需的头。也许它至少会给你一个跑步的想法 我之所以想这样做,是因为我把我的k8s api端点放在了互联网上,并用Cloudflare访问来保护它。为了允许Cloudflare访问让我通过这堵钢墙,我需要传入两个标题,一个是我的客户id,另一个是客户
我必须添加几个自定义http头来访问我的专用api服务器代理,但目前没有可用的线索。我错过了什么吗?这是一个肮脏的硬编码黑客,告诉你如何得到你想要的结果。这不是一个经过充分审查的解决方案。此方法将编译kubectl的新版本,该版本将添加所需的头。也许它至少会给你一个跑步的想法 我之所以想这样做,是因为我把我的k8s api端点放在了互联网上,并用Cloudflare访问来保护它。为了允许Cloudflare访问让我通过这堵钢墙,我需要传入两个标题,一个是我的客户id,另一个是客户机密。这就像一个魔咒,是一种可能有人想添加自定义标题的情况 步骤:
- 我想你已经安装好了,如果不是现在就去安装
- git克隆(可能需要一段时间,它相当大)
- cd kubernetes/staging/src/k8s.io/client-go/transport/
- 打开文件round_trippers.go进入您喜爱的代码编辑器
- 搜索
func(rt userAgentRoundTripper)往返(请求http.Request)(*http.Response,error)
- 通过添加如下行来添加所需的标题
req.Header.Set(“Bob Is”,“cool”)
- cd返回到根文件夹kubernetes/
- cd cmd/kubectl/
- 去建立自定义kubectl
- 现在用./custom kubectl get ns--v=9测试它
- 在该输出中,查找添加到对K8s api的rest调用中的头,您应该在输出中看到
-H“Bob Is:cool”
- 为了使这不是一个黑客行为,也许可以看看是否有办法添加一个你创建的kubectl插件,或者询问k8s社区的善良的人们,你如何使这个黑客行为更干净,或者是否有理由添加客户标题不是一个好主意。最坏的情况是参数化自定义kubectl构建,以引入您添加的新参数——自定义请求头,并使其更干净