微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Kubernetes:我们需要在 apiserver manifest 中设置 http_proxy 和 no_proxy 吗?

如何解决Kubernetes:我们需要在 apiserver manifest 中设置 http_proxy 和 no_proxy 吗?

我的集群在公司代理后面,我在三个 kubernetes 核心清单 (kube-apiserver.yaml em>、kube-controller-manager.yamlkube-scheduler.yaml)。现在,我想用 kubeadm 升级 kubernetes。但我知道 kubeadm 会在升级时从 kubeadm-config configmap 重新生成这些清单,所以没有这些环境变量。我在 kubeadm-config configmap 中找不到 http_proxy=myproxy 键(例如 https_proxy=myproxyno_proxy=10.96.0.0/16,10.244.0.0/16,<nodes-ip-range>)。

我真的需要在所有 kubernetes 清单中设置这些变量吗?如果没有,我认为 kubeadm 会发出警告,因为所有通信都将使用代理(我不希望那样)。

升级时如何将这些变量传递给 kubeadm?

解决方法

目前 Kubeadm 没有可用的标志。您可能想要打开该功能的 github 请求。

您可以使用 herehere 描述的方式导出变量:

$ export http_proxy=http://proxy-ip:port/
$ export https_proxy=http://proxy-ip:port/
$ export no_proxy=master-ip,node-ip,127.0.0.1

然后使用sudo -E bash使用当前

$ sudo -E bash -c "kubeadm init... "

另一种方法是在命令中引用这些变量,如 here 所示:

NO_PROXY=master-ip,127.0.0.1 HTTPS_PROXY=http://proxy-ip:port/ sudo kubeadm init --pod-network-cidr=192.168.0.0/16...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。