Kubernetes Minikube
https://kubernetes.io/zh/docs/setup/learning-environment/minikube/
Docker 和 Kubernetes 从听过到略懂:给程序员的旋风教程
1. MacOS
- Install minikube and start
1 2 3 4 5 6 |
# install brew install minikube # start minikube start # status minikube status |
2. 使用名为 echoserver
的镜像创建一个 Kubernetes Deployment,并使用 --port
在端口 8080 上暴露服务。echoserver
是一个简单的 HTTP 服务器。
1 2 3 |
kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.10 --port=8080 deployment.apps/hello-minikube created |
3. 要访问 hello-minikube
Deployment,需要将其作为 Service 公开:
1 |
kubectl expose deployment hello-minikube --type=NodePort |
选项 --type = NodePort
指定 Service 的类型。
输出类似于:
1 |
service/hello-minikube exposed |
4. 现在 hello-minikube
Pod 已经启动,但是您必须等到 Pod 启动完全才能通过暴露的 Service 访问它。
检查 Pod 是否启动并运行:
1 |
kubectl get pod |
5. 获取暴露 Service 的 URL 以查看 Service 的详细信息:
1 2 3 |
minikube service hello-minikube --url http://192.168.64.2:30715 |
6. 要查看本地集群的详细信息,请在浏览器中复制粘贴并访问上一步骤输出的 URL。
7. 删除 hello-minikube
Service:
1 2 3 |
kubectl delete services hello-minikube service "hello-minikube" deleted |
8. 删除 hello-minikube
Deployment:
1 2 3 |
kubectl delete deployment hello-minikube deployment.extensions "hello-minikube" deleted |
9. 停止本地 Minikube 集群:
1 |
minikube stop |
10. 删除本地 Minikube 集群:
1 |
minikube delete |
1-1. 通过重用 Docker 守护进程使用本地镜像
当为 Kubernetes 使用单个 VM 时,重用 Minikube 的内置 Docker 守护程序非常有用。重用内置守护程序意味着您不必在主机上构建 Docker 镜像仓库并将镜像推入其中。相反,您可以在与 Minikube 相同的 Docker 守护进程内部构建,这可以加速本地实验。
要在 Mac/Linux 主机上使用 Docker 守护程序,请在 shell 中运行 docker-env command
:
1 |
eval $(minikube docker-env) |
您现在可以在 Mac/Linux 机器的命令行中使用 Docker 与 Minikube VM 内的 Docker 守护程序进行通信:
1 |
docker ps |
要访问 Kubernetes Dashboard,请在启动 Minikube 后在 shell 中运行此命令以获取地址:
1 |
minikube dashboard |
要访问通过节点(Node)端口公开的 Service,请在启动 Minikube 后在 shell 中运行此命令以获取地址:
1 |
minikube service [-n NAMESPACE] [--url] NAME |