我遇到了一个特殊的问题。 我有kubernetes集群,我为集群的主节点设置了no_proxy(在docker systemd环境中)。为了能够运行docker build / push到在主节点上的docker上运行的注册表。
现在我有一个问题,因为我的容器无法访问外部网络(因为通信是通过我假设的k8s主节点进行的)。
或者如果我选择不为docker中的主节点设置no_proxy,那么我将无法通过主服务器的外部IP将映像推送到注册表中,必须使用(localhost)作为推送目标->稍后会破坏我的应用程序
我使用weave作为我的cni插件
答案 0 :(得分:0)
在您的节点上运行的容器的网络通信与您的主服务器与外界或通过代理的网络通信无关。
基本上,在节点上运行的容器的网络通信通过其自己的网络接口等进行。
话虽如此,您是否正在主服务器上运行工作负载?如果是,那可能会影响您的主容器的通信(如果您为某些主机名设置了no_proxy)。它还可能会影响您的kube-controller-manager,kube-apiserver,core-dns,kubelet和网络覆盖在主机上的通信。
您是否按照here正确配置了Docker客户端代理?