1、介绍
官方:https://minikube.sigs.k8s.io/
为了方便大家开发和体验Kubernetes,社区提供了可以在本地部署的Minikube。
仅需要一些一些容器环境(例如docker)或者虚拟机环境,然后在此之上使用minikube start就可以启动K8s。
环境依赖:
- 2核以上CPU
- 2GB以上内存
- 20GB可用的存储空间
- 虚拟环境:Docker, xhyve driver , VirtualBox 或 VMware Fusion
2、安装
1. 环境选择:
1.1 使用Virtualbox
下载地址:
https://download.virtualbox.org/virtualbox/5.2.18/VirtualBox-5.2.18-124319-OSX.dmg
下载成功安装即可。
也可直接进入官网下载相应的版本:
https://download.virtualbox.org/virtualbox
1.2 使用Docker
由于minikube复用了docker-machine,在其软件包中已经支持了相应的VirtualBox、VMware Fusion驱动,
所以安装docker后就不用再安装VirtualBox或VMware Fusion。
2. 安装minikube
#下载阿里云版本,否则网络原因,镜像无法拉下来
curl -Lo minikube https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.18.1/minikube-darwin-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
3、启动
minikube start
为了访问海外的资源,阿里云提供了一系列基础设施,请按照如下参数进行配置。其中常见参数
--driver=***
从1.5.0版本开始,Minikube默认使用本地最好的驱动来创建Kubernetes本地环境--image-mirror-country cn
默认利用 registry.cn-hangzhou.aliyuncs.com/google_containers 作为安装Kubernetes的容器镜像仓库 (阿里云版本可选)--iso-url=***
利用阿里云的镜像地址下载相应的 .iso 文件 (阿里云版本可选)--registry-mirror=***
为了拉取Docker Hub镜像,需要为 Docker daemon 配置镜像加速,参考阿里云镜像服务--cpus=2
为minikube虚拟机分配CPU核数--memory=2048mb
: 为minikube虚拟机分配内存数--kubernetes-version=***
minikube 虚拟机将使用的 kubernetes 版本
缺省驱动
minikube start --cpus=4 --memory=4096mb
Virtualbox驱动
minikube start --driver=virtualbox
Docker驱动
minikube start --driver=docker
因为我的mac上已经安装了docker desktop,所以不需要额外再安装Virtualbox,直接选择Docker驱动。
查看docker desktop,镜像和容器的状态,都为正在运行
打开Kubernetes控制台
minikube dashboard
默认浏览器自动打开控制台
设置docker为默认驱动
minikube config set driver docker
查看minikube配置文件,修改已生效
4、使用Minikube
Minikube利用本地虚拟机环境部署Kubernetes,其基本架构如下图所示
使用Minikube CLI管理虚拟机上的Kubernetes环境,比如:启动,停止,删除,获取状态等。
一旦Minikube虚拟机启动,用户就可以使用熟悉的Kubectl CLI在Kubernetes集群上执行操作。
4.1 基础命令
1. 查看minikube的状态
minikube status
2. 关闭cluster
minikube stop
关闭前后
3. 删除cluster
minikube delete
minikube delete --all #删除本地所有集群和配置文件
4.2 通过deployment创建无状态的pod
准备好3个deployment的yaml文件
分别演示:
1、创建一个nginx的deployment,启动2个pod
2、更新deployment容器的版本
3、更新deployment增加副本数来扩容应用
1、创建一个nginx的deployment,启动2个pod
通过控制台和kubectl查看,2个pod已经running
通过 kubectl describe 查看nginx-deployment的详情
2、更新deployment容器的版本
3、更新deployment增加副本数来扩容应用
通过控制台和kubectl查看,4个pod已经running