minikube官方git地址:GitHub - kubernetes/minikube: Run Kubernetes locally
参考:
minikube 如何简单搭建 kubernetes(k8s)环境? - 知乎
minikube安装及使用_minikube安装教程_ltgsoldier1的博客-CSDN博客
minikube 启动一个 nginx 服务 deployment - 简书
1、安装docker环境
参考网上的docker环境安装,不再赘述
2、为k8s创建集群优化内核参数
- #新建文件
- vim /etc/sysctl.d/kubernetes.conf
-
- #写入内容
- net.bridge.bridge-nf-call-iptables=1
- net.bridge.bridge-nf-call-ip6tables=1
- net.ipv4.ip_forward=1
- vm.swappiness=0
- vm.overcommit_memory=1
- vm.panic_on_oom=0
- fs.inotify.max_user_instances=8192
- fs.inotify.max_user_watches=1048576
- fs.file-max=52706963
- fs.nr_open=52706963
- net.ipv6.conf.all.disable_ipv6=1
- net.netfilter.nf_conntrack_max=131072
-
- #加载内核参数配置
- sudo sysctl -p /etc/sysctl.d/kubernetes.conf
3、安装kubectl
- #安装
- curl -Lo kubectl http://kubernetes.oss-cn-hangzhou.aliyuncs.com/kubernetes-release/release/v1.23.1/bin/linux/amd64/kubectl
- chmod +x kubectl && mv kubectl /usr/local/bin/
- #检查版本
- kubectl version
- #检查pods
- kubectl get pods -A
4、安装minikube
- #官方下载安装
- curl -LO minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
- #阿里镜像下载 建议使用此地址 minikube相关镜像源也会改成国内地址
- curl -Lo minikube https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.23.1/minikube-linux-amd64
- #安装
- chmod +x minikube && mv minikube /usr/local/bin/
- #初始化
- docker pull coredns/coredns:1.8.4
- docker tag coredns/coredns:1.8.4 registry.cn-hangzhou.aliyuncs.com/google_containers/coredns/coredns:v1.8.4
- minikube start --force --driver=docker --image-mirror-country='cn' --kubernetes-version=v1.23.1 --image-repository="registry.cn-hangzhou.aliyuncs.com/google_containers"
-
- #查看是否安装成功
- minikube status
- #停止minikube服务
- minikube stop
- #设置驱动器
- minikube config set driver docker
5、启动dashboard 控制台
-
- # 启动 dashboard 控制台
- minikube dashboard
- * 正在开启 dashboard ...
- - Using image registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-scraper:v1.0.7
- - Using image registry.cn-hangzhou.aliyuncs.com/google_containers/dashboard:v2.3.1
- * 正在验证 dashboard 运行情况 ...
- * Launching proxy ...
- * 正在验证 proxy 运行状况 ...
- http://127.0.0.1:45634/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
-
- #观察上面最后显示的url的端口
- 此处为45634
- #创建暴露给外部访问的代理,port使用上面的端口
- kubectl proxy --port=45634 --address='服务器ip地址' --accept-hosts='^.*'
- #浏览器访问
- http://服务器ip地址:45634/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
6、常用命令
minikube常用命令
- # 检查安装结果
- minikube help
- minikube status
-
- # 查询运行的 pod
- minikube kubectl -- get po -A
-
- #获取ip
- minikube ip
-
- #进入minikube虚拟机
- minikube ssh
-
- # 挂起虚拟机
- minikube pause
-
- # 停止虚拟机
- minikube stop
-
- # 修改虚拟机内存配置
- minikube config set memory 16384
-
- # 查看 minikube 的安装插件列表
- minikube addons list
-
- # 删除minikube
- minikube delete --all
-
- # 使用minikube导入镜像,当本地镜像总是无法找到时,可以留意这个这种方式
- minikube load xxx.tar
-
- # 检查安装结果
- kubectl version
- kubectl get nodes
- kubectl get pods -A
-
- #查看集群信息
- kubectl cluster-info
-
- # 创建带有终端的 Pod,并进入(后续测试用)
- kubectl run busybox --image=busybox -it
-
- # 部署 app 进行测试
- kubectl run nginx02 --image=nginx
- kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.4 --port=8081
-
- # deployment
- kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4
- kubectl expose deployment hello-minikube --type=NodePort --port=8080
- kubectl get service hello-minikube
-
- # 使用 minikube 访问服务
- minikube service hello-minikube
-
- # 使用端口映射访问服务
- kubectl port-forward service/hello-minikube 7080:8080
- curl http://localhost:7080/
-
- # 使用 LB 类型的 deployment 测试
- kubectl create deployment balanced --image=k8s.gcr.io/echoserver:1.4
- kubectl expose deployment balanced --type=LoadBalancer --port=8080
- minikube tunnel
- kubectl get services balanced
7、在windows下安装minikube和kubectl
检查你的虚拟机资源限制是否至少有2CPU、2GB内存,例如:
如果docker desktop后端是WSL2,请检查C:\Users\用户目录\.wslconfig,至少配置
memory=2GB
processors=2
重启wsl2
wsl --shutdown
- #下载minikube和kubectl,地址分别是
- https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.23.1/minikube-windows-amd64.exe
- http://kubernetes.oss-cn-hangzhou.aliyuncs.com/kubernetes-release/release/v1.23.1/bin/windows/amd64/kubectl.exe
- #把它们两个可执行文件都添加到全局环境变量path里
- move minikube-windows-amd64.exe 全局path\minikube.exe
- move kubectl.exe 全局path\kubectl.exe
- #初始化
- docker pull coredns/coredns:1.8.4
- docker tag coredns/coredns:1.8.4 registry.cn-hangzhou.aliyuncs.com/google_containers/coredns/coredns:v1.8.4
- minikube start --force --driver=docker --image-mirror-country='cn' --kubernetes-version=v1.23.1 --image-repository="registry.cn-hangzhou.aliyuncs.com/google_containers"
- #查看是否安装成功
- minikube status
-
- # 启动 dashboard 控制台
- minikube dashboard
8、minikube用service暴露服务
minikube创建pod和对应的service后,需要再次输入以下命令才能最终暴露可访问的service端口
minikube service service名称 -n 命名空间