1.minikube简介
1.1 什么是minikube
minikube相当于一个运行在本地的Kubernetes单节点,我们可以在里面创建Pods来创建对应的服务。也就是说Minikube是一个快速搭建单节点Kubenetes集群的工具,它对硬件资源没有太高的要求,方便开发人员学习使用,或者进行日常的开发。
1.2 minikube的作用
Minikube 搭建的环境支持大部分 Kubernetes 的功能,具体如下:
DNS、NodePorts、ConfigMaps and Secrets、Dashboards、Ingress
Container Runtime: Docker, and rkt
Enabling CNI (Container Network Interface)等
1.3 minikube的工作环境
Minikube 支持 Windows、macOS、Linux 三种 OS 下安装使用。根据平台不同,Minikube 会下载对应的虚拟机镜像,并在镜像内安装 k8s。
目前的虚拟机技术都是基于 Hypervisor 来实现的,Hypervisor 规定了统一的虚拟层接口,由此 Minikube 就可以无缝切换不同的虚拟机实现,如 macOS 可以切换 hyperkit 或 VirtualBox, Windows 下可以切换 Hyper-V 或 VirtualBox 等。
如果 Minikube 安装在内核原生就支持 LXC 的 OS 内,如 Ubuntu、CentOS 等,再安装一次虚拟机显然就是对资源的浪费了,Minikube 也提供了直接对接 OS 底层的方式(--vm-driver=none)
2.安装minikube
针对不同的os,都有对应的安装教程,参考文档:https://minikube.sigs.k8s.io/docs/start/
本文以mac上安装为例
首先安装docker,详见相关文章
直接使用brew安装:brew install minikube
安装完成后,检查一下版本:
~ minikube version
~ kubectl version
3.集群操作
3.1 启动minikube创建K8S集群
~ minikube start
3.2 进入minikube虚拟机
~ minikube ssh
通过minikube ssh进到虚机里,然后看看是否有一些container运行起来了
执行对应的docker命令即可
如图,运行了一堆minikube需要的k8s命令
3.3 关闭集群
minikube stop #停止当前运行的集群
minikube delete # 彻底删除集群
4.在浏览器中打开 Kubernetes 仪表板(Dashboard)
~ minikube dashboard #打开Dashboard
会自动打开访问链接(端口随机),http://127.0.0.1:63576/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/#/overview?namespace=default
5.使用kubectl命令
~ kubectl config view #查看集群配置
~ kubectl get services # 列出所有 namespace 中的所有 service
~ kubectl get node #查看节点
~ kubectl get pods --all-namespaces # 列出所有 namespace 中的所有 pod