前言:
在上一篇 结尾中使用到了minikube方式来做k8s本地环境来学习k8s。
那么这篇先了解下minikube及使用
一、Minikube 简介
minikube 在 macOS、Linux 和 Windows 上实现了本地 Kubernetes 集群。minikube 的主要目标是成为本地 Kubernetes 应用程序开发的最佳工具,并支持所有适合的 Kubernetes 功能。
环境准备:
为什么使用minikube
- 实际开发和体验 Kubernetes时,可能会遇到网络访问的原因或者其他的坑导致无法使用Kubernetes进行实验
- Minikube更加轻量化,比Docker Desktop开销更小
minikube流程
本次部署将采用Docker来实现minikube的部署使用,需要先准备好Docker环境
二、Minikube 安装及使用
1、获取安装包:minikube支持多平台,本次操作是在window下安装,直接获取minikube安装包即可:
获取安装包后运行一直下一步即可。
2、minikube安装成功后,进入命令行:启动k8s集群
//指定 2个节点:由于本机已使用了docker做驱动器,本次使用hpyerv作为驱动 minikube start -n 2 --driver=docker --image-mirror-country=cn
常用参数:
- --driver='': 驱动为: virtualbox, vmwarefusion, hyperv, vmware, docker 其中一个
- -n,--node:节点数量
- --image-mirror-country='':需要使用的镜像镜像的国家/地区代码。留空以使用全球代码。对于*用户,请将其设置为cn。
- --registry-mirror=[]: 传递给 Docker 守护进程的注册表镜像(镜像加速)
- --cpus=2: CUP数量
- --memory='': 为 Kubernetes 分配的 RAM 容量(格式:<数字>[<单位>],其中单位 = b、k、m 或g)
启动如下:
3、minikube 常用命令:
a)打开Kubernetes控制台:
//打开控制台页面 minikube dashboard
查看两个运行节点:
b)登录kubernetes环境:
//登录环境 minikube ssh //进入后获取当前运行的镜像: docker ps
c)查看配置文件内容
kubectl config view
d)service转发:
//命令格式:minikube service service名称 minikube service k8s-service
e)其他命令查看帮助:
Basic Commands: start 启动本地Kubernetes集群 status 获取本地Kubernetes集群状态 stop 停止本地Kubernetes集群 delete 删除本地Kubernetes集群 dashboard 访问minikube集群中运行的仪表盘 pause 暂停Kubernetes unpause 恢复 Kubernetes Images Commands: docker-env 配置环境以使用 minikube's Docker daemon podman-env 配置环境以使用 minikube's Podman service cache 在minikube中添加、删除或推送本地镜像 image 管理镜像 Configuration and Management Commands: addons 启用或禁用加载项 config 修改持久配置值 profile 获取当前集群配置文件 update-context 更新kubeconfig Networking and Connectivity Commands: service 连接到service tunnel 连接到 LoadBalancer 服务 Advanced Commands: mount 将指定的目录挂载到 minikube ssh 登录minikube环境 kubectl 运行与集群版本匹配的kubectl二进制文件 node 节点相关操作 cp 拷贝指定文件到minikube Troubleshooting Commands: ssh-key 检索指定节点的ssh标识密钥路径 ssh-host 检索指定节点的ssh主机密钥 ip 检索指定节点的IP地址 logs Returns logs to debug a local Kubernetes cluster update-check 打印当前和最新版本版本 version 打印 minikube 版本
4、部署应用:
按照前面文章中内容进行部署。
总结:
minikube相对于直接使用docker-desktop更加简单方便,并且可以实现多节点集群效果。对于开发、学习人员来说还是比较方便。下一步将对Ingress资源进行了解