最近在学习K8s,minikube是一个单节点学习K8s的工具,在部署的过程中遇到了很多坑,在这里记录一下。

虚机版本

Vmware版本:15.5.6
Ubuntu版本:18.04.4
最开始使用的低版本的VMware和14版本的ubuntu,然后安装过程中各种奇怪的报错,使用上面高版本后明显减少,基本没有意外的报错。
注意:

  1. 确保网络要通畅。
  2. 最好直接使用root权限,防止权限不足
  3. 虚机至少有两核
  4. 内存至少2G
  5. 硬盘至少20G

安装过程

安装过程大体分为以下几步:

  1. 设置源,方便下载
  2. 安装docker
  3. 下载并安装kubectl
  4. 下载并安装minikube
  5. 以driver=none的方式运行minikube

由于默认的安装源都是国外的,加上网络也不太好所以总是安装失败,因此在这个过程中一定要设置好国内的源。

第一步、设置源

设置deb源,以便加速下载

vi /etc/apt/sources.list 

运行上面命令,并在其中加入下面内容

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

然后分别执行下列命令导入key,返回ok代表成功

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -

最后更新源

sudo apt-get update

第二步、安装docker

docker直接安装是最新版本,然后在后面运行minikube start时遇到了daocker版本太高不兼容的error。最后使用了18.06.1~ce~3-0~ubuntu 版本可以运行

sudo apt-get install docker-ce=18.06.1~ce~3-0~ubuntu 

安装完成后运行docker version如果出现下图则说明安装成功。
在这里插入图片描述

第二步、安装kubectl

可能下载比较慢,可以找一下国内的源,更换下面的链接再安装。

sudo curl -Lo kubectl https://storage.googleapis.com/kubernetes-release/release/v1.10.0/bin/linux/amd64/kubectl && sudo chmod +x kubectl && sudo mv kubectl /usr/local/bin/

第三步、安装minikube

这个使用的阿里源,只要网络畅通会很快。

sudo curl -Lo minikube http://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.16.0/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/

第四步、启动minikube

minikube start --iso-url=https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.8.0.iso --vm-driver=none

启动要注意,
第一点:设置iso-url,否则使用默认的会提示找不到minikube-iso的error;
第二点:设置vm-driver=none,有很多文章是将其设置为virtualbox,但是这样设置后会报错:

This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory.

上网查了一下,感觉原因应该是我的Ubuntu已经是一个虚拟机了,不能在虚拟机里使用virtualbox再进行虚拟化,不知道这样理解是否正确,有懂得大佬请指教!
在这里插入图片描述
以上设置好运行后,遇到了几个报错:
1、端口已被占用
在这里插入图片描述
解决:

kubeadm reset

2、需要设置权限
在这里插入图片描述
minikube会提示使用–vm-driver=none得方式启动是不安全的(但是无所谓了,只是为了学习而已),并且需要赋予它一些权限,可以通过两种方式,最简单的一种就是直接设置一个环境变量。

vim /etc/profile

在里面加入

export CHANGE_MINIKUBE_NONE_USER=true

使生效

source profile

然后启动minikube就成功啦,运行minikube status查看启动结果。
在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐