如何使用Vagrant/Minikube在本地安装Kubernetes
Kubernetes是一个广泛的平台,用于管理容器集群(来自Google)。
与Google的大多数服务器软件一样,Kubernetes在可伸缩性方面也很出色,但是将其用于笔记本电脑上的本地部署可能很难。
因此,对于此示例,我将使用运行Fedora 24的生产笔记本电脑,但由于实际的容器在VirtualBox中运行,因此我们可以使用任何Linux发行版。
我们将使用两种方法来安装Kubernetes,已弃用的vagrant方法和推荐的Minikube方法。
对于这两种方法,我们将使用VirtualBox,但对于Vagrant,也可以通过简单地将提供程序从“ virtualbox”切换为“ ubuntu”或者“ centos”而在裸机上进行部署。
Vagrant方法
准备工作:
- 我们需要安装了Virtual box的Linux发行版。 (目前尚不支持5.1,我不得不降级为5.0)
- 我们还需要安装Vagrant,sudo dnf install vagrant可以在fedora上完成。
设置必要条件后,我们运行脚本以在VirtualBox中安装Kubernetes
export KUBERNETES_PROVIDER=vagrant; wget -q -O - https://get.k8s.io | bash
该脚本将下载所有需要的内容并为我们创建默认集群。
它可能会运行更长的时间,所以请耐心等待。
完成后,它将显示带有创建的容器的ip地址的长消息。
我们通过以下命令登录到主服务器
ssh [email protected] -p 2222
密码是“无用的”,当然不带引号。
根密码也是无用的。
因此,现在我们在本地计算机上具有功能齐全的Kubernetes集群。
当关闭集群并希望对其进行备份时,我们首先需要将CD放入/home中的~/kubernetes目录,然后其中执行以下命令:
export KUBERNETES_PROVIDER=vagrant export VAGRANT_DEFAULT_PROVIDER=providername ./cluster/kube-up.sh
然后集群将再次启动。
这种方法很简单,但麻烦之处在于它已被弃用。
对Virtual Box 5.1的支持可能永远不会到来,因此我们还将对minikube做另一种方法
迷你库方法
要求
- 你需要虚拟盒子
- 我们需要在主机上安装kubectl
我们假设我们已经知道如何安装虚拟盒子,所以这里是如何安装kubectl
curl -Lo kubectl http://storage.googleapis.com/kubernetes-release/release/v1.3.6/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/
然后安装minikube:
curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.8.0/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
然后我们启动集群:
minikube start
之后,我们将启动一个minikube主服务器,然后可以使用kubectl和minikube命令来管理minikube集群。
[miki@x550jk ~]$kubectl get nodes NAME STATUS AGE minikubevm Ready 12m
如果要访问kubernetes仪表板,只需键入
minikube dashboard
它将在浏览器选项卡中打开仪表板。
关于minikube的最好的事情是,我们无需SSH到主VM中,只需从主机发出kubectl命令即可。
在熟悉机器上的Kubernetes之后,kubectl可用于管理minikube本地安装以及我们可能要构建的远程集群。
因此,要在托管集群之间切换,需要使用上下文的概念。
目前,上下文是在本地minikube上自动设置的,但是如果需要在与其他安装(无用的服务器,远程服务器等)一起使用后将其切换回minikube,请使用以下命令:
kubectl config use-context minikube
如果由于某种原因需要ssh进入vm,可以使用
minikube ssh