1、Minikube简介
Kubernetes 是目前公认最为主流的容器编排的开源平台。企业应用服务需要容器化时都避免不了学习和使用 Kubernetes 。然而部署一整套多节点的 Kubernetes 集群对于刚接触它的开发人员来说确实有一定的难度。
针对这种情况,Kubernetes 官方提供了 Minikube 与 Kubeadm 两个工具来帮助开发人员快速部署 Kubernetes 环境。 Minikube 用于快速在本地搭建 Kubernetes 单节点集群环境,它对硬件资源没有太高的要求,方便开发人员学习试用,或者进行日常的开发。 虽然说 Minikube 部署的是单节点的集群,不过麻雀虽小,五脏俱全,深入了解后就会发现这也是个有意思的项目。Kubeadm 则是官方推荐的部署 Kubernetes 多节点集群的工具,由于不是本文重点,不作过多赘述。
首先minikube提供了一种非常简单的方法来安装单节点的K8S环境,minikube支持多种环境,比如linux,macos,windows都可以,支持多种安装方式,默认会使用virtualbox创建虚拟机并安装k8s环境,也可以在启动的时候通过--vm-driver 使用虚拟化技术,
官方文档参考:https://minikube.sigs.k8s.io/docs/
我的环境是:windows10+Vmware
minikube工作原理图:
2、安装
2.1 安装docker
在Centos7 下安装minikube的时候,会使用--vm-driver=none,添加这个参数之后,minikube会直接在当前系统里安装kubenetes,以下介绍主要的步骤 1. 安装docker yum remove docker-latest-logrotate docker-logrotate docker-selinux dockdocker-engine yum install -y yum-utils device-mapper-persistent-data lvm2 docker官方源: yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 这里使用阿里云安装源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo rpm --import http://mirrors.aliyun.com/docker-ce/linux/centos/gpg yum makecache fast yum -y install docker-ce 安装完成启动Docker systemctl start docker && systemctl status docker && systemctl enable docker
2.2 安装kubectl
step 1:访问官方github网址:https://github.com/kubernetes/kubernetes/releases
step 2:找到想使用的发布版本,在每个发布版本的最后一行有类似“CHANGELOG”这样的内容,点击超链进入;
step 3:然后进入“Client Binaries”区域;
step 4:选择和目标机器系统匹配的二进制包下载;
step 5:解压缩,放入/usr/local/bin目录;
2.3 安装minikube
阿里云发布的minikube地址:https://github.com/AliyunContainerService/minikube
这里从release目录下载最新的minikube版本:https://github.com/kubernetes/minikube/releases/
mv minikube-linux-amd64 minikube chmod +x minikube mv minikube /usr/local/bin 执行 国内安装方式: minikube start --registry-mirror=https://registry.docker-cn.com --vm-driver=none 执行上面那个会有问题,所以采用下面这个 --vm-driver=none用的是本地的docker minikube start --image-mirror-country=cn --registry-mirror=https://b3uey254.mirror.aliyuncs.com --vm-driver=none
特别注意:minikube start --vm-driver=none 这是说表示minikube运行在宿主机不需要KVM或者VirtualBox,但根据官方文档的介绍,我们还是不采用这种方法。
[root@localhost kubernetes]# minikube start --image-mirror-country=cn --registry-mirror=https://b3uey254.mirror.aliyuncs.com --vm-driver=none
#查看状态: minikube status
#查看动了哪些容器
#查看启动了哪些pod
#列出所有的service
3、遇到的问题
问题一:
Error with pre-create check: "This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory"
解决方法:在VMware右击虚拟机打开设置,点击处理器,把虚拟化引擎的虚拟化功能勾上
问题二:
直接在Centos7中安装minikube后运行minikube start回报这么一个错误: * minikube v1.3.1 on Centos 7.2.1511 ! Please don't run minikube as root or with 'sudo' privileges. It isn't necessary with virtualbox driver. * Using image repository registry.cn-hangzhou.aliyuncs.com/google_containers * Creating virtualbox VM (CPUs=2, Memory=2000MB, Disk=20000MB) ... E0926 14:56:54.978506 15786 start.go:723] StartHost: create: precreate: VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path
查了下github上的issue发现,原来需要安装VirtualBox。方法如下: vi /etc/yum.repos.d/virtualbox.repo [virtualbox] name=Oracle Linux / RHEL / CentOS-$releasever / $basearch - VirtualBox baseurl=http://download.virtualbox.org/virtualbox/rpm/el/$releasever/$basearch enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://www.virtualbox.org/download/oracle_vbox.asc yum install VirtualBox-6.0 -y 完成在Centos中安装VirtualBox。 运行minikube start开始愉快的K8S之旅
问题三:
[ERROR Swap]: running with swap on is not supported. Please disable swap.
1. 关掉swapoff
swapoff -a
2. 注释掉配置
vi /etc/fstab
注释掉最后一行
3.重启虚拟机
reboot now