minikube配置代理:解决方案以及解决思路

minikube配置代理:解决方案以及解决思路

minikube的原理大致是是内部实现了一个虚拟机,并且将这个虚拟机作为了 k8s 集群的第一个node。

当我们通过kubectl run [pod-name] --image=[image-name]向这个node添加pod时,虚拟机会使用docker抓取image。抓取的过程就需要通过代理保证网络通信能稳定运行。

因此思路就是配置中的虚拟机的docker

1.进入虚拟机

$ kubectl ssh

2.配置http-proxy.conf

使用vi打开http-proxy.conf:

$ sudo vi /etc/systemd/system/docker.service.d/http-proxy.conf

在其中填入:

[Service]
Environment="HTTP_PROXY=http://192.168.49.1:7890"
Environment="HTTPS_PROXY=http://192.168.49.1:7890"

其中7890是主机http代理所使用的代理端口,192.168.49.1是主机ip,虚拟机通过这个ip与外部通信。在官方档案中搜索host 相关内容可以发现在虚拟机内可以通过$ ping host.minikube.internal来获得主机ip。

官方文档

3.重启docker服务

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

之后可以docker pull nginx测试能否正确运行。

4.另

网上也有人使用

minikube start --docker-env http_proxy=http://192.168.49.1:8123 \
               --docker-env https_proxy=http://192.168.49.1:8123 \
               --docker-env no_proxy=localhost,127.0.0.1,10.96.0.0/12,192.168.0.0/16

来配置代理,但在我的环境下没法复现,如果有人尝试可行的话可以评论cue我一下。

另外minikube ip不是物理机地址

posted @ 2024-08-15 17:21  MisakaMKT  阅读(310)  评论(0编辑  收藏  举报