# 使用Minikube安装k8s

Kubernetes 集群搭建有一定的复杂性，初学即使是照着教程按照步骤来，也会出现很多问题。所以社区提供了最小集群安装工具:`MiniKube`，MiniKube 是一个轻量级的 Kubernetes 实现，会在本机创建一台虚拟机，并部署一个只包含一个节点的简单集群。

## 安装 MiniKube

[官方安装文档](https://github.com/kubernetes/minikube#installation)已经比较详细，可以按照官方步骤安装。可以分为源代码编译安装与二进制安装，这里使用较简单的二进制方式。

### 检查你的linux机器是否支持虚拟化

```shell
grep --color 'vmx|svm' /proc/cpuinfo
```

如果没有任何输出，则不支持。注意，如果你使用的是虚拟机，需要开启CPU的虚拟化支持，以VMware为例：

![file](https://2351062869-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7b2CdwBN9liniVJpfEAc%2Fuploads%2Fgit-blob-630c1b4e13535edc2060a2c73a08a41f81aa8446%2Fimage-1571809226570.png?alt=media)

### 安装Kubectl

用户可以通过Kubectl命令行工具，在Kubernetes集群中部署和管理应用程序。通过他可以探查资源、创建、删除、更新集群中的各种组件以及浏览新创建的集群并在其中创建样例应用程序。

```shell
# 安装最新稳定版
 curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
 
# 安装指定版本
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.14.3/bin/linux/amd64/kubectl
```

赋予执行权限，并放到PATH下：

```shell
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
```

### 安装MiniKube

地址：https://github.com/kubernetes/minikube/releases

```shell
curl -Lo minikube https://storage.googleapis.com/minikube/releases/v1.1.1/minikube-linux-amd64 && chmod +x minikube && sudo cp minikube /usr/local/bin/ && rm minikube
```

验证安装是否成功：

```shell
minikube --help 
```

### 安装虚拟驱动

官方文档：https://github.com/kubernetes/minikube/blob/master/docs/drivers.md

这里采用KVM2作为虚拟化驱动：

```shell
# Debian or Ubuntu 18.x: 
sudo apt install libvirt-clients libvirt-daemon-system qemu-kvm
# Ubuntu 16.x or older: 
sudo apt install libvirt-bin libvirt-daemon-system qemu-kvm
# Fedora/CentOS/RHEL: 
sudo yum install libvirt-daemon-kvm qemu-kvm
# openSUSE/SLES: 
sudo zypper install libvirt qemu-kvm
```

### 安装KVM

Linux下，虚拟化技术可以使用`VMware`或者`KVM`。这里以KVM为例：

Ubuntu下安装比较简单：

```shell
sudo apt-get install qemu-kvm libvirt-bin bridge-utils virt-manager virtinst virt-viewer
```

Centos下安装：https://www.cnblogs.com/EasonJim/p/9150733.html

检测KVM是否安装成功：

```shell
root@ubt1:~# kvm --version
QEMU emulator version 2.11.1(Debian 1:2.11+dfsg-1ubuntu7.14)
Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers
```

## 使用 MiniKube

使用minikube start命令启动

```shell
minikube start --vm-driver=kvm
```
