使用Minikube在Linux上本地运行Kubernetes-现在具有Kubernetes 1.14支持
作者: 伊霍尔·德沃雷茨基(Ihor Dvoretskyi),开发倡导者,云原生计算基金会

几天前,Kubernetes社区宣布 Kubernetes 1.14,Kubernetes的最新版本。伴随着它,Kubernetes项目的一部分Minikube最近击中了 1.0里程碑,它支持 Kubernetes 1.14 默认。
Kubernetes是分布式Cloud Native计算领域的真正赢家(也是事实上的标准)。虽然它可以处理 5000个节点 在单个集群中,使用Kubernetes在单台计算机(例如笔记本电脑,开发人员工作站等)上进行本地部署是一种越来越普遍的场景。
几周前,我在Twitter上进行了一项民意调查,要求社区指定他们在Linux上本地运行Kubernetes的首选选项:
好的,Twitter✋
—ihor dvoretskyi(@idvoretskyi) 2019年2月6日
Linux上的本地Kubernetes集群是通过以下方式部署的:
这是有关Linux上本地部署选项的系列文章的第一篇,它将介绍Minikube,这是社区中最受欢迎的,用于在本地计算机上运行Kubernetes的解决方案。
迷你库 是跨平台,社区驱动的 Kubernetes 分发,主要用于本地环境。它部署了一个单节点集群,这对于在本地主机上启动并运行一个简单的Kubernetes集群是一个极好的选择。
迷你库设计为用作虚拟机(VM),默认的VM运行时为 虚拟盒子。同时,可扩展性是Minikube的关键优势之一,因此可以将其与 司机 在VirtualBox之外。
默认情况下,Minikube使用Virtualbox作为运行时来运行虚拟机。 Virtualbox是一个跨平台的解决方案,可以在包括GNU / Linux,Windows和macOS在内的各种操作系统上使用。
同时,QEMU / KVM是Linux原生的虚拟化解决方案,与Virtualbox相比可能会带来更多好处。例如,在GNU / Linux服务器上使用KVM要容易得多,因此,您不仅可以在具有GUI的Linux工作站或便携式计算机上运行单节点Minikube集群,还可以在远程无头服务器上运行单节点Minikube集群。
不幸的是,Virtualbox和KVM不能同时使用,因此,如果您已经在一台机器上运行KVM工作负载,并且还希望在其中运行Minikube,则首选使用KVM minikube驱动程序。
在本指南中,我们将重点介绍在Ubuntu 18.04上使用KVM驱动程序运行Minikube(我使用的是在 packet.com)

迷你库架构(资料来源:kubernetes.io)
免责声明
这不是Minikube的官方指南。您可能会在官方网站上找到有关运行和使用Minikube的详细信息 网页,其中涵盖了不同的用例,操作系统,环境等。相反,本指南的目的是提供在Linux上运行带有KVM的Minikube的简单明了的指南。
先决条件
- 您喜欢的任何Linux(在本教程中,我们将使用Ubuntu 18.04 LTS,并且以下所有说明均适用于该Linux。如果您喜欢使用其他Linux发行版,请查看相关文档)
libvirt
和QEMU-KVM已安装并正确配置- The Kubernetes CLI (
Kubectl
) for operating the Kubernetes cluster
QEMU / KVM和libvirt安装
注意:如果已经安装,请跳过
在继续之前,我们必须验证主机是否可以运行基于KVM的虚拟机。可以使用 好的 工具,可在Ubuntu上使用。
sudo apt install cpu-checker && sudo 好的
If you receive the following output after running 好的
, you can use KVM on your machine (otherwise, please check out your configuration):
$ sudo 好的
INFO: /dev/kvm exists
KVM acceleration can be used
Now let's install KVM and libvirt and add our current user to the libvirt
group to grant sufficient permissions:
sudo apt install libvirt-clients libvirt-daemon-system qemu-kvm \
&& sudo usermod -a -G libvirt $(whoami) \
&& newgrp libvirt
After installing libvirt, you may verify the host validity to run the virtual machines with virt-host-validate
tool, which is a part of libvirt.
sudo virt-host-validate
Kubectl(Kubernetes CLI)安装
注意:如果已经安装,请跳过
为了管理Kubernetes集群,我们需要安装 Kubectl,Kubernetes CLI工具。
The recommended way to install it on Linux is to download the pre-built binary and move it to a directory under the $PATH
.
curl -LO //storage.googleapis.com/kubernetes-release/release/$(curl -s //storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl \
&& sudo install Kubectl /usr/local/bin && rm Kubectl
另外,可以使用多种不同的方法来安装kubectl(例如,以.deb或snap软件包的形式安装-请查看 Kubectl文档 找到最适合您的)。
迷你库安装
迷你库 KVM驱动程序安装
VM驱动程序是Minikube本地部署的基本要求。在本教程中选择使用KVM作为Minikube驱动程序时,让我们使用以下命令安装KVM驱动程序:
curl -LO //storage.googleapis.com/minikube/releases/latest/docker-machine-driver-kvm2 \
&& sudo install docker-machine-driver-kvm2 /usr/local/bin/ && rm docker-machine-driver-kvm2
迷你库安装
现在让我们安装Minikube本身:
curl -LO //storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
&& sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64
验证Minikube安装
在继续之前,我们需要验证Minikube是否已正确安装。最简单的方法是检查Minikube的状态。
minikube version
要使用KVM2驱动程序:
现在,让我们使用Minikube和KVM运行本地Kubernetes集群:
minikube start --vm-driver kvm2
将KVM2设置为Minikube的默认VM驱动程序
如果将KVM用作我们计算机上Minikube的单个驱动程序,则将其设置为默认驱动程序并使用较少的命令行参数运行Minikube更为方便。以下命令将KVM驱动程序设置为默认值:
minikube config set vm-driver kvm2
现在,让我们像往常一样运行Minikube:
minikube start
验证Kubernetes安装
让我们检查Kubernetes集群是否已启动并正在运行:
Kubectl get nodes
现在,让我们运行一个简单的示例应用程序(在本例中为nginx):
Kubectl create deployment nginx --image=nginx
我们还要检查Kubernetes Pod是否已正确配置:
Kubectl get pods
截屏
下一步
至此,已经在本地计算机上适当地设置和配置了带有Minikube和KVM的Kubernetes集群。
要继续,您可以在项目网站上查看Kubernetes教程:
另外值得一看的是Linux基金会/云原生计算基金会的“ Kubernetes入门”课程,该课程可在EDX上免费获得: