minikube 操作手册
minikube
#启动
minikube start
#多节点启动
minikube start --nodes=3
#镜像导入
minikube image load <image-name>:<image-version>
#查看集群 IP
minikube ip #返回 Minikube 虚拟机的 IP 地址,可以用于访问集群中的服务
#查看 Service IP
minikube service list # 返回 Minikube 内部的 Kubernetes API 服务器地址,可以用于与集群进行交互
#关闭
minikube stop
minikube stop
vs minikube delete
minikube stop
命令的作用是停止运行中的 minikube 虚拟机,但保留其状态和数据。下次使用 minikube start
命令时,将会恢复原有的状态和数据进行继续使用。
minikube delete
命令的作用是停止并完全清除 minikube 虚拟机,包括其状态、数据和配置信息。下次要重新使用 minikube,必须从头开始创建和配置一个新的 minikube 虚拟机。
node
#增
kubectl create node <your-new-node-name> --hostname=<your-new-node-hostname> --kubelet-version=<your-new-node-kubelet-version> --docker-version=<your-new-node-docker-version> --labels=<your-new-node-labels>
#删
kubectl delete node <node-name>
#改(权限)
# 将<node-name>节点设置为 master 节点
kubectl label node <node-name> node-role.kubernetes.io/master=
# 将<node-name>节点设置为 worker 节点
kubectl label node <node-name> node-role.kubernetes.io/worker=
#查
kubectl get nodes
kubectl get nodes -o wide #详细信息
Pod
#增
kubectl run <pod-name> --image=<image-name>:<image-version> #使用本地镜像
kubectl run <pod-name> --image=<url>/<image-name>:<image-version> #使用远程镜像
#删
kubectl delete pod <pod-name>
#查
kubectl get pod
#端口转发
kubectl port-forward <pod-name> <outer-port>:<inner-port> #前台运行
实操记录
#创建单节点集群
minikube start
#查看本地镜像
docker images
#导入镜像
minikube image load stateless-backend:v1
#直接通过 Pod 启动镜像
kubectl run testapp --image=stateless-backend:v1
#暴露端口
kubectl port-forward testapp 8080:8080
#访问 http://127.0.0.1:8080/user/hello ✅
#访问 http://10.244.0.10:8080/user/hello ❌ Pod IP
#访问 http://192.168.49.2:8080/user/hello ❌ 集群节点 IP
#删除 Pod
kubectl delete pod testapp
#跳转到 yaml 文件所在目录
cd /Project/k8s/multi-env
#启动 Deployment,通过 Deployment 启动 Pod,进而启动镜像
kubectl apply -f app.yml
#-------------------------------------------------------------------------------------------
#暴露服务 By 端口映射
#查看详细信息
kubectl get pods -o wide
#暴露 Pod 端口
kubectl port-forward test-k8s-7bf88ccdc7-f4mqq 8080:8080
#访问 http://127.0.0.1:8080/user/hello ✅
#访问 http://10.244.0.8:8080/user/hello ❌ Pod IP
#访问 http://192.168.49.2:8080/user/hello ❌ 集群节点 IP
#-------------------------------------------------------------------------------------------
#暴露服务 By expose Deployment --type=ClusterIP
#创建 ClusterIP Service
kubectl expose deployment test-k8s --type=ClusterIP --port=8080
#暴露 Service 端口
kubectl port-forward service/test-k8s 8080:8080
#访问 http://127.0.0.1:8080/user/hello ✅
#访问 http://10.244.0.8:8080/user/hello ❌ Pod IP
#访问 http://192.168.49.2:8080/user/hello ❌ 集群节点 IP
#删除 deployment
kubectl delete deployment test-k8s
#删除 service
kubectl delete service test-k8s
#-------------------------------------------------------------------------------------------
#暴露服务 By expose Deployment --type=ClusterIP
#重新启动 deployment
kubectl apply -f app.yml
#创建 NodePort Service
kubectl expose deployment test-k8s --type=NodePort --port=8080 --target-port=8080
#暴露 Service 端口
kubectl port-forward service/test-k8s 8080:8080
#访问 http://127.0.0.1:8080/user/hello ✅
#访问 http://10.244.0.8:8080/user/hello ❌ Pod IP
#访问 http://192.168.49.2:8080/user/hello ❌ 集群节点 IP
#删除 deployment
kubectl delete deployment test-k8s
#删除 service
kubectl delete service test-k8s