首页 文章

如何为docker配置polipo的HTTP代理以部署Kubernetes

提问于
浏览
1

我是Docker的初学者 . 想知道这样做是否是一种好习惯,最好的方法是什么?

System: Ubuntu LTS 16.04.2

我想在我的服务器上使用代理部署Kubernetes . 由于一些问题,我使用polipo将sock5代理转换为http代理 . http代理已成功应用于终端 . 然后我搜索了:https://docs.docker.com/engine/admin/systemd/#http-proxy并在 /etc/systemd/system/docker.service.d/http-proxy.conf 中添加了HTTP_PROXY环境变量:

[服务]环境=“HTTP_PROXY = http://127.0.0.1:8123 /”

然后这样做:

$ sudo systemctl show --property环境docker Environment = HTTP_PROXY = http://127.0.0.1:8123 / $ sudo systemctl daemon-reload $ sudo systemctl restart docker

然后我成功安装了 kubelet kubeadm kubectl kubernetes-cni 并运行了这个命令:

#kubeadm init

这是操作的结果:

root @ ubuntu16:〜#kubeadm init [kubeadm]警告:kubeadm处于测试阶段,请不要将其用于 生产环境 集群 . [init]使用Kubernetes版本:v1.8.2 [init]使用授权模式:[Node RBAC] [preflight]运行飞行前检查[预检]警告:连接到“https://59.64.78.138:6443”使用代理“ http://127.0.0.1:8123/” . 如果不是这样,请调整代理设置[预检]启动kubelet服务[kubeadm]警告:从1.8开始,令牌默认在24小时后过期(如果您需要非过期令牌,请使用--token-ttl 0) [证书]生成ca证书和密钥 . [证书]生成的apiserver证书和密钥 . [证书] apiserver服务证书已签署DNS名称[ubuntu16 kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local]和IP [10.96.0.1 my_server_IP] [证书]生成的apiserver-kubelet-client证书和关键 . [证书]生成sa密钥和公钥 . [证书]生成前代理证书和密钥 . [证书]生成前代理客户端证书和密钥 . [证书]现在“/ etc / kubernetes / pki”中存在有效的证书和密钥[kubeconfig]将KubeConfig文件写入磁盘:“admin.conf”[kubeconfig]将KubeConfig文件写入磁盘:“kubelet.conf”[kubeconfig]写了KubeConfig文件到磁盘:“controller-manager.conf”[kubeconfig]将KubeConfig文件写入磁盘:“scheduler.conf”[controlplane]将组件kube-apiserver的Static Pod清单写入“/ etc / kubernetes / manifests / kube-apiserver” .yaml“[controlplane]将组件kube-controller-manager的静态Pod清单写入”/etc/kubernetes/manifests/kube-controller-manager.yaml“[controlplane]将组件kube-scheduler的Static Pod清单写入”/ etc /kubernetes/manifests/kube-scheduler.yaml“[etcd]为本地etcd实例写入静态Pod清单”/etc/kubernetes/manifests/etcd.yaml“[init]等待kubelet启动控制平面为目录“/ etc / kubernetes / manifests”中的静态窗格[init]这通常需要大约一分钟;或者如果必须拉动控制平面图像则更长 .

然后它没有继续,我跑了

#systemctl status kubelet●kubelet.service - kubelet:已加载Kubernetes节点代理:已加载(/lib/systemd/system/kubelet.service;已启用;供应商预设:已启用)Drop-In:/ etc / systemd / system / kubelet .service.d└─10-kubeadm.conf,90-local-extras.conf
活跃:自2017年3月11日星期一21:17:37 CST开始活跃(正在运行); 9分钟前文件:http://kubernetes.io/docs/
主PID:19363(kubelet)任务:14内存:39.9M CPU:14.229s
CGroup:/system.slice/kubelet.service└─19363/ usr / bin / kubelet --bootstrap->?
kubeconfig = / etc / kubernetes / bootstrap -kubelet.conf --kubeconfig = / etc / k Nov 05 21:26:28 ubuntu16 kubelet [19363]:W1105 21:26:28.959628 19363 cni.go:196]无法更新cni config:No ne Nov 05 21:26:28 ubuntu16 kubelet [19363]:E1105 21:26:28.960538 19363 kubelet.go:2095] Container runtime network not Nov 05 21:26:33 ubuntu16 kubelet [19363]:W1105 21: 26:33.962500 19363 cni.go:196]无法更新cni config:no ne Nov 05 21:26:33 ubuntu16 kubelet [19363]:E1105 21:26:33.963407 19363 kubelet.go:2095]容器运行时网络不是11月05日21:26:38 ubuntu16 kubelet [19363]:W1105 21:26:38.974986 19363 cni.go:196]无法更新cni config:no ne Nov 05 21:26:38 ubuntu16 kubelet [19363]:E1105 21:26: 38.975851 19363 kubelet.go:2095]容器运行时网络不是11月05日21:26:43 ubuntu16 kubelet [19363]:W1105 21:26:43.977879 19363 cni.go:196]无法更新cni config:No ne Nov 05 21: 26:43 ubuntu16 kubelet [19363]:E1105 21:26:43.978806 19363 kubelet.go:2095]容器运行时网络不是没有v 05 21:26:48 ubuntu16 kubelet [19363]:W1105 21:26:48.992642 19363 cni.go:196]无法更新cni config:no ne Nov 05 21:26:48 ubuntu16 kubelet [19363]:E1105 21: 26:48.993587 19363 kubelet.go:2095]容器运行时网络不是第1-23 / 23行(END)

现在我很困惑如何解决这个问题 . 我在网上搜索了很长时间 . 但没用 . 请帮助或尝试提供一些如何实现这一目标的想法 .

提前致谢 .

1 回答

  • 0

    安装我有这个修改来对齐docker和kubelet之间的cfgroups:

    docker info | grep -i cgroup

    在文件 /etc/systemd/system/kubelet.service.d/10-kubeadm.conf 中修改相应的行以具有:

    Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs"

    再见

相关问题