如何使用Vagrant/Minikube在本地安装Kubernetes

时间:2020-03-05 15:27:58  来源:igfitidea点击:

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