Minikube是一种轻量化的Kubernetes集群,专为开发者和学习者设计,以便他们能够更好地学习和体验Kubernetes的功能。它利用个人PC的虚拟化环境,实现了Kubernetes的快速构建和启动。目前,Minikube已经支持在macOS、Linux和Windows平台上,利用各类本地虚拟化环境作为驱动运行。
在使用Minikube之前,需要确保满足一些环境要求,包括至少2个CPU、2GB可用内存、20GB可用磁盘空间以及网络连接。此外,还需要一个容器或虚拟机管理器,如Docker、Hyperkit、Hyper-V、KVM、Parallels、Podman、VirtualBox或VMWare。在使用Minikube安装Kubernetes之前,应确保这些工具已经正确安装并启动。
总的来说,Minikube是一个方便开发者和学习者在本地环境中快速搭建和体验Kubernetes的工具。它提供了一个轻量级的、易于管理的Kubernetes集群,使开发者能够更好地理解和使用Kubernetes的功能。
下面介绍下window WSL 如何安装minikube
一、二进制方式安装minikube
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 sudo install minikube-linux-amd64 /usr/local/bin/minikube
二、之后使用 minikube 命令可以看到输出。
启动集群
设置自己的阿里镜像地址
minikube start \
--driver none \
--registry-mirror https://2wk9cvvl.mirror.aliyuncs.com \
--insecure-registry harbor23.com \
--image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers
启动成功
安装完成
三、验证
kubectl get all --all-namespaces
四、启动dashboard
minikube dashboard
访问地址
http://127.0.0.1:45615/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/#/role?namespace=default
五、部署mariadb测试
需要关联的harbor镜像仓库
详情参考harbor镜像仓库搭建
apiVersion: apps/v1
kind: Deployment
metadata:name: matomo-dbnamespace: matomolabels:app: matomo-db
spec:replicas: 1selector:matchLabels:app: matomo-dbtemplate:metadata:name: matomo-dblabels:app: matomo-dbspec:containers:- name: matomo-dbimage: harbor23.com/test/mariadb:latestimagePullPolicy: IfNotPresentenv:- name: MARIADB_ROOT_PASSWORDvalue: root123
---
kind: Service
apiVersion: v1
metadata:name: matomo-dbnamespace: matomo
spec:type: ClusterIPselector:app: matomo-dbports:- protocol: TCPport: 3306targetPort: 3306
公共仓库无需要鉴权
出现image访问不了的问题?
解决方法:登录到minikube的docker容器中,执行curl harbor23.com 发现报x509错误,问题原因是harbor23.com 未加入到docker insecure-registry中,说明启动项中的--insecure-registry harbor23.com 并未生效
需要修改主机的minikube配置 vi ~/.minikube/machines/minikube/config.json
然后重启minikube
minikube stop
minikube start
重启完成后镜像拉取正常
六、删除集群
minikube delete
七、如何本机访问k8s服务
【1】方法一、通过代理
执行 kubectl proxy
curl http://localhost:8001/version 查看代理信息
curl http://localhost:8001/api/v1/namespaces/default/pods/【容器id】:【容器中服务端口号】/proxy/【服务路径】
【2】方法二、通过service并暴露映射本地端口
先创建service
kubectl expose deployment/spring-test --type="NodePort" --port 8888
暴露服务端口到主机:
kubectl port-forward service/spring-test 39080:8888
然后就能通过本机ip【localhost】+端口号访问了