背景:我在使用 win10 的企业网络中,我被指示使用 px 代理,并且必须使用 kubectl 连接到在云提供商中运行的集群。我有 kubeconfig,位于 .kube 目录中。当我使用
kubectl get no
我收到错误。另一方面,如果我使用 Lens 并在设置中添加代理 localhost:port,它及其终端就可以正常工作,我可以按预期使用 kubectl。我可以使用 describe、apply、top 以及我习惯的任何其他命令
如果我使用 powershell、cmd、git bash kubectl,则会失败并出现错误,提示无法访问集群,使用 curl 访问 api 服务器也是如此。
kubectl 在我的路径中,我没有 Windows 设置的管理员权限。我老板的回复是“它在我的计算机上运行正常”和“每个新加入的人都会遇到问题”,这更奇怪,因为我们是一个 2 人团队,我 4 周前加入,其中两周他都在度假,而且在不同的时区。
问题:将 http_proxy 环境变量设置为 px 代理地址是否会使 kubectl、curl 和其他 cli 工具能够使用 px 代理?
答案1
注意:我没有 K8 甚至 docker。我提供的信息是我在最近一次会议上提出的。
正如我的评论。
您是说,您已经设置了环境变量,也就是说,设置了 kubeconfig、文件或类似的东西......
apiVersion: v1
clusters:
- cluster:
proxy: http://proxy-address:port
...也:
$env:http_proxy = "http://px-proxy-address:port"
...在 CLI 或您的代码中,或者只是将其添加到您的 PS 配置文件中。
Set-Item Env:http_proxy "http://px-proxy-address:port"
Set-Item Env:https_proxy "http://px-proxy-address:port"
Set-Item Env:ftp_proxy "http://px-proxy-address:port"
此外,访问几乎任何 https 站点都要求您在代码中设置适当的安全设置。
意思是这个...
# Required for use with web SSL sites
[Net.ServicePointManager]::
SecurityProtocol = [Net.ServicePointManager]::
SecurityProtocol -bor [Net.SecurityProtocolType]::
Tls12
... 或这个:
$AllProtocols = [System.Net.SecurityProtocolType]'Ssl3,Tls,Tls11,Tls12'
[System.Net.ServicePointManager]::SecurityProtocol = $AllProtocols