好好上班 發表於 2022-11-23 13:35:00

Minikube Linux(Centos,Debian,Ubuntu)搭建

<h2 id="前言">前言</h2>
<p>最近工作中要用到 Prometheus + Grafana ,之前一直都是用 Azure 或者 AWS 现成的 k8s集群,所以需要单独搭建一个k8s用于实践。<br>
所以了解到了minikube,也是非常简单,两行命令就可以搭建一个的K8s,也是真的简单。<br>
<img src="https://img2022.cnblogs.com/blog/1575394/202211/1575394-20221123131106901-196427574.png"></p>
<h2 id="开始搭建">开始搭建</h2>
<p>在搭建过程中,碰到许许多多问题,一些常见的硬件,环境监测问题,都有解决方案<br>
但是有个问题,困扰了我两天,终于解决了,所以记录一下解决方案,实现真正的三步启动minikube</p>
<ul>
<li>第一步搭建docker环境</li>
<li>第二步Linux添加一个用户,赋予docker组</li>
<li>第三步docker配置国内代理源</li>
<li>第四步搭建minikube</li>
</ul>
<p>到这里,你就可以使用 minikube start 启动 minikube了</p>
<pre><code class="language-shell">minikube start
</code></pre>
<p>如果你在国内,且没有配置全局代理,就会很容易碰见 <strong>Initial timeout of 40s passed</strong>错误<br>
我们通过 --v=9 开启最详细的日志,会发现千奇百怪的错误,例如</p>
<ul>
<li>6443端口请求timeout</li>
<li>kube-apiservser找不到<br>
等等等,我也是卡在这里</li>
</ul>
<p>其实这个日志具有误导性,找过很多帖子和 github issues 发现基本上说的都是docker image问题,下载不下来<br>
我尝试过也没用</p>
<pre><code>minikube start --image-mirror-country='cn' --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers'
</code></pre>
<h2 id="解决方案">解决方案</h2>
<p>最后详细看日志,发现他修改一下配置文件,例如hostname等等<br>
但是我查看并没有发现本机上有被修改,这个时候看到了 issues,给出了解决方案</p>
<pre><code>docker exec -it minikube bash
docker pull registry.aliyuncs.com/google_containers/pause:3.6
docker tag registry.aliyuncs.com/google_containers/pause:3.6 k8s.gcr.io/pause:3.6
</code></pre>
<p>docker exec 不是进入容器嘛,后面发现,minikube start 启动的时候,会启动一个运行 kicbase/stable:v0.0.36<br>
<img src="https://img2022.cnblogs.com/blog/1575394/202211/1575394-20221123132853759-723262069.png"><br>
进入容器,发现容器里面也有一个 docker,所以我在linux配置的docker代理,但是容器使用自己的docker,导致一直下载不下来image,就会出现一推奇奇怪怪的报错问题,但是根本原因就是 minikube 容器里面的 docker 下载不下来 image,因为在国内。<br>
所以我们需要进入容器,手动 pull 国内的 image, tag 成 minikube 所需要的,最后就正常启动</p>
<p>对国内开发者真的不友好,如果你的机器,没有全局FQ,会有千奇百怪的问题</p><br><br>
来源:https://www.cnblogs.com/fonks/p/16918017.html
頁: [1]
查看完整版本: Minikube Linux(Centos,Debian,Ubuntu)搭建