minikube 操作手册

发布时间 2023-08-29 20:30:40作者: Ba11ooner
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