尽可能简单地使用Kubernetes进行Windows10操作(第一部分)
当我开始使用Kubernetes的时候,
· 有太多东西要记住了,真是困难啊
· 如果能更简单一点就好了…
因为我觉得有很多感慨,所以觉得如果有像我这样的人可能会有所帮助,因此打算尽量简单地写一下如何使用Kubernetes。
首先
为什么不讨论为何要使用Kubernetes。
有很多与Kubernetes相关的优质文章。但是由于数量庞大,对于那些犹豫不决的人来说,如果能写出让他们觉得“我可以试试这个”的文章,就会很高兴。
对于已经在使用Kubernetes的人来说,这篇文章没有新鲜的信息。
抱歉让您白费了心打开它。
环境怎么样?
我会使用Windows 10专业版来运行Docker Desktop,并继续进行下去。
我在工作中使用AWS的EKS。简单来说,使用EKS意味着:
– 我不再使用AWS了
– 这会花费一些钱(从2020年1月开始,EKS集群突然降价了一半)
– 虽然一开始说要用Kubernetes,但最后还得学习其他东西
由于诸如此类的原因,您可能想要关闭此页面,因此,目前阶段我们将避开云端,在您当前正在使用的个人电脑上尝试使用本地Kubernetes 。
我需要学习Docker吗?
既然使用Docker Desktop,那么对于使用Docker作为前提知识可能会感到理所当然,但即使完全不会使用也没关系。
我知道 Docker 是更好的选择,但由于 YAML 文件等方面存在不同的写法,所以暂时不需要学习,可以在需要的时候再学习。
当你决定使用Kubernetes时,
我认为不会有人问道:“Docker是什么?”
“容器是什么?我第一次听说……”
但如果有人说:“我其实不太明白”,那也没关系。
安装 Docker Desktop
首先,需要安装 “Docker Desktop”。
在浏览器中搜索 “Docker Desktop”,
会出现 Docker Desktop 的页面在搜索结果中,
转到那个页面,点击中间的 “Download for Windows (stable)” 进行下载。
当您双击已下载的文件以执行时,
将出现用户账户控制屏幕,
请点击“是”以允许。
如果稍等片刻,Docker Desktop 的设置选项会稍稍显示出来。
由于Docker Desktop使用Hyper-V,因此请勾选上方的“启用Hyper-V Windows功能”。
下面是创建快捷方式,请按照您的喜好进行操作。
点击“确定”,稍等一会儿进行安装。
只要显示“安装成功”,请点击“关闭并重新启动”进行重新启动。
请注意,”Close and restart” 指的是关闭和重新启动,但并不是 Docker Desktop 重新启动,而是 Windows 系统重新启动。
再启动后,Docker桌面版已准备就绪,
让我们启动Docker桌面版试试看吧。
然后,教程的画面会弹出来。
它似乎会给出各种说明,
但这次我们要忽略教程,点击用红框标出的齿轮图标。
然后,跳转至Docker Desktop的设置界面。
如果在「General」的「Start Docker Desktop when you login」选项上勾选,那么每当Windows启动时,Docker Desktop也会自动启动。如果你每天都使用它,那么勾选这个选项会更加方便。
最重要的是底部的“ Kubernetes”部分。
让我们在「Kubernetes」的「启用Kubernetes」上打勾。
如果有需要的话,可以随时配置剩下的项目,所以可以忽略它们,直接点击“应用并重启”。
这个Restart是在Docker Desktop上进行的,不是在Windows上,所以很放心。
尽管需要一些时间,但请参考下方的图像,当 Kubernetes 部分显示为绿色圆圈,且状态为 running 时,即表示一切正常。
谷歌的自动化部署工具Kubernetes确认
让我们尝试在命令提示符中启动,并使用 “kubectl version” 命令来检查版本。
C:\Users\test>kubectl version
Client Version: version.Info{Major:"1", Minor:"16+", GitVersion:"v1.16.6-beta.0", GitCommit:"e7f962ba86f4ce7033828210ca3556393c377bcc", GitTreeState:"clean", BuildDate:"2020-01-15T08:26:26Z", GoVersion:"go1.13.5", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"16+", GitVersion:"v1.16.6-beta.0", GitCommit:"e7f962ba86f4ce7033828210ca3556393c377bcc", GitTreeState:"clean", BuildDate:"2020-01-15T08:18:29Z", GoVersion:"go1.13.5", Compiler:"gc", Platform:"linux/amd64"}
由于显示了客户端版本和服务器版本,所以看起来没有问题。
让我们接下来确认一下是否有任何正在运行的东西。
您可以使用「kubectl get all」命令进行确认。
C:\Users\test>kubectl get all
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 2d2h
好像有一样东西。
请先仔细观察这一点,恭喜您。现在,Kubernetes已经可用了。
尽管如此,我觉得现在不是我想要做的事情所在,下次我会写使用方法的。
概括
我认为这次只是为了能够使用Kubernetes,所以并没有什么特别的事情发生。但是,我还记得一开始我确实很难实现到这一步。
下次计划实际上采用Kubernetes。
我已经写下了这次可能会遇到困难的部分。
如果你顺利地进行到这一步,那么可以不用阅读。
故障排除
不能使用Hyper-V
请您以管理员身份启动命令提示符,并输入以下命令:
bcdedit /enum | find “hypervisorlaunchtype”
C:\WINDOWS\system32>bcdedit /enum | find "hypervisorlaunchtype"
hypervisorlaunchtype Auto
如果 Hyper-V 已开启,则应该将 hypervisorlaunchtype 设置为 Auto。
如果 hypervisorlaunchtype 已关闭,请执行以下命令:
bcdedit /set hypervisorlaunchtype auto
C:\WINDOWS\system32>bcdedit /set hypervisorlaunchtype auto
この操作を正しく終了しました。
确认一遍,应该是设为自动的。
C:\WINDOWS\system32>bcdedit /enum | find "hypervisorlaunchtype"
hypervisorlaunchtype Auto
确认已启动Auto之后,请重新启动Windows。
重新启动后,应该能够使用Hyper-V。