当前位置: 首页 > 知识库问答 >
问题:

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

贝杜吟
2023-03-14

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

系统: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环境变量:

[服务]

environment=“http_proxy=http://127.0.0.1:8123/”

然后那样做:

$sudo systemctl show--属性环境docker Environment=http_proxy=http://127.0.0.1:8123/

$sudo systemctl守护进程-重新加载

$sudo systemctl重新启动docker

以下是操作结果:

root@ubuntu16:~#kubeadm init

[kubeadm]警告:kubeadm处于测试版,请不要将其用于生产集群

[飞行前]警告:连接到“https://59.64.78.138:6443”使用代理

“http://127.0.0.1:8123/”。如果不打算这样做,请调整代理设置

“飞行前”启动库贝莱特服务

[kubeadm]警告:从1.8开始,默认情况下,令牌在24小时后过期(如果需要一个未过期的令牌,请使用--token-ttl0)

[证书]生成的ca证书和密钥。

[证书]生成apiserver证书和密钥。

[证书]为DNS名称[ubuntu16 kubernetes kubernetes.default.svc kubernetes.default.svc.cluster.local]和IPs[10.96.0.1my_server_IP]签署了服务证书的apiserver

[证书]生成apiserver-kubelet-client证书和密钥。

[证书]生成sa密钥和公钥。

[证书]生成前端代理CA证书和密钥。

[证书]生成前端代理客户端证书和密钥。

[证书]有效的证书和密钥现在存在于“/etc/kubernetes/pki”中

[kubeconfig]将kubeconfig文件写入磁盘:“admin.conf”

[kubeconfig]将kubeconfig文件写入磁盘:“kubelet.conf”

[kubeconfig]将kubeconfig文件写入磁盘:“controller-manager.conf”

[kubeconfig]将kubeconfig文件写入磁盘:“scheduler.conf”

[controlplane]将组件kube-apiserver的静态Pod manifest写入“/etc/kubernetes/manifests/kube-apiserver.yaml”

[controlplane]将组件kube-controller-manager的静态Pod manifest写入“/etc/kubernetes/manifests/kube-controller-manager.yaml”

[controlplane]将组件kube-scheduler的静态Pod manifest写入“/etc/kubernetes/manifests/kube-scheduler.yaml”

[etcd]将本地etcd实例的静态Pod清单写入“/etc/kubernetes/manifests/etcd.yaml”

[init]等待kubelet从目录“/etc/kubernetes/manifests”中以静态豆荚的形式启动控制平面

这通常需要一分钟左右的时间;如果必须拉控制平面图像,则更长时间。

然后它没有继续,我跑了

#systemctl status kubelet

cubelet.service-kubelet:Kubernetes节点代理

loaded:loaded(/lib/systemd/system/kubelet.service;enabled;供应商预置:enabled)

插入:/etc/systemd/system/kubelet.service.d

      └─10-kubeadm.conf, 90-local-extras.conf

活动:自太阳2017-11-05 21:17:37 CST以来活动(运行);9min前

Docs: 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

011月05日21:26:28 ubuntu16 Kubelet[19363]:W1105 21:26:28.959628 19363 cni.GO:196]无法更新cni配置:No ne

011月05日21:26:33 ubuntu16 Kubelet[19363]:W1105 21:26:33.962500 19363 cni.GO:196]无法更新cni配置:No ne

2005年11月5日21:26:33 ubuntu16 Kubelet[19363]:E1105 21:26:33.963407 19363 Kubelet.go:2095]容器运行时网络not

011月05日21:26:38 ubuntu16 Kubelet[19363]:W1105 21:26:38.974986 19363 cni.GO:196]无法更新cni配置:No ne

2005年11月5日21:26:38 ubuntu16 Kubelet[19363]:E1105 21:26:38.975851 19363 Kubelet.go:2095]容器运行时网络not

011月05日21:26:43 ubuntu16 Kubelet[19363]:W1105 21:26:43.977879 19363 cni.GO:196]无法更新cni配置:No ne

011月05日21:26:48 ubuntu16 Kubelet[19363]:W1105 21:26:48.992642 19363 cni.GO:196]无法更新cni配置:No ne

011月05日21:26:48 ubuntu16 Kubelet[19363]:E1105 21:26:48.993587 19363 Kubelet.go:2095]容器运行时网络not

第1-23/23行(结束)

现在我很困惑如何解决这个问题。我在网上搜索了很长时间。但没用。请帮助或尝试给出一些想法如何实现这一点。

提前谢了。

共有1个答案

空浩淼
2023-03-14

安装它时,我进行了以下修改,以在docker和Kubelet之间对齐cfgroups:

docker信息grep-i cgroup

在文件/etc/systemd/system/kubelet.service.d/10-kubeadm.conf中,将相应的行修改为:

环境=“kubelet_cgroup_args=--cgroup-driver=cgroupfs”

拜拜

 类似资料:
  • 我在Windows 10上安装了Docker,并从Docker Hub中提取了jenkins Docker。接下来,我开始了我的jenkins docker, 接下来,我使用Manage Jenkins和Manage Plugins安装Docker plugin,然后转到配置页面并尝试添加Docker Cloud。 在我进入 Docker 主机 URI : tcp://127.0.0.1:2375

  • 理解运行web应用程序的服务器的部署配置几乎与应用安全测试本身同样重要。毕竟应用链的安全强度取决与他最弱的环节。应用程序平台是宽广和多变的,但是一些关键平台配置错误可以攻破应用程序,同样的方法,一个不安全的应用也能导致服务器被攻破。 为了评估应用程序平台是否已经准备就绪,应用配置管理测试包括如下章节: 网络基础设施配置测试 (OTG-CONFIG-001) 应用平台配置管理测试 (OTG-CONF

  • null 我的问题是: 是否需要创建文件,然后在文件中引用它们,或者部署文件也可以嵌入pod定义? K8S文档似乎暗示的部分相当于定义一个pod。那是正确的吗?如果我想声明性地描述多pod部署呢?是否需要多个deployment.yml文件?

  • 问题内容: 简而言之 :如何在Mac OS X上为Docker设置HTTP / HTTPS代理? 详细说明 : 我在代理后面的Mac OS X上运行Docker(1.12)。我按照安装说明进行操作,并安装了boot2docker。如果我从网络内部Docker注册表中提取信息,则此方法工作正常。 但是,从docker.io拉出时出现以下错误: 注1 :,并在环境中可用(运行显示全部三个)。 注2 :

  • 我有一个小Clojure应用程序,它使用http工具包向服务器发送一些http post请求。我希望通过代理P路由https POST请求,即,我希望流量像应用程序一样- (这是因为目标主机X基于IP限制访问) 这可能吗? 此外,该应用程序运行在ubuntu服务器上,是否有可能通过系统级配置使http工具包使用代理服务器?但我更喜欢其他过程不受影响。

  • 问题内容: 我想 在Solaris上 配置Java代理设置以使用代理自动配置(PAC)脚本。 我已经找到了使用Java控制面板在Windows机器上进行设置的说明,但是在查找Solaris Java安装的位置/如何进行相同设置更改时遇到了麻烦。 我想使用代理自动配置(PAC)脚本,而不是手动为每个连接设置代理信息,或使用单个代理。我需要针对不同类型的URL利用多个代理。 问题答案: 可悲的是,系统