【问题标题】:Kubernetes : do we need to set http_proxy and no_proxy in apiserver manifest?Kubernetes:我们需要在 apiserver manifest 中设置 http_proxy 和 no_proxy 吗?
【发布时间】:2021-04-13 10:24:10
【问题描述】:
我的集群在企业代理后面,我在三个 kubernetes 核心清单(kube-apiserver.yaml、 kube-controller-manager.yaml 和 kube-scheduler.yaml)。现在,我想用 kubeadm 升级 kubernetes。但是我知道 kubeadm 会在升级时从 kubeadm-config configmap 重新生成这些清单,所以没有这些环境变量。我在 kubeadm-config configmap 中找不到 extraEnvs 键(例如 extraArgs 和 extraVolumes)。
我真的需要在所有 kubernetes 清单中设置这些变量吗?如果不是,我认为 kubeadm 会发出警告,因为所有通信都将使用代理(我不希望这样)。
升级时如何将这些变量传递给 kubeadm?
【问题讨论】:
标签:
kubernetes
proxy
http-proxy
kubeadm
【解决方案1】:
目前没有可用于 Kubeadm 的此类标志。您可能想要打开该功能的 github 请求。
您可以使用here或here描述的方式并导出变量:
$ 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,node-ip,127.0.0.1 HTTPS_PROXY=http://proxy-ip:port/ sudo kubeadm init --pod-network-cidr=192.168.0.0/16...