Minikube
Minikube是一种可以轻松在本地运行Kubernetes的工具。 Minikube在笔记本电脑上的VM内运行一个单节点Kubernetes集群,以供希望试用Kubernetes或每天进行开发的用户使用。
Step-1
我们首先检验一下 minikube 的环境安装
1 | minikube version |
现在我们要在终端启动一个虚拟机,然后Kubenets部署在虚拟机里面去:
1 | minikube start --wait=false |
1 | minikube start --wait=false |
Step-2
现在我们的已经有一个 Kubenets集群在运作了。继续看:
1 | kubectl cluster-info |
会打印处 cluster 的相关信息:
1 | Kubernetes master is running at https://172.17.0.9:8443 |
再来看一下我们使用到的节点:
1 | kubectl get nodes |
Step-3
使用kubectl run,它可以将容器部署到集群上:
1 | kubectl create deployment first-deployment --image=katacoda/docker-http-server |
现在我们拿到我们运行中的 Pods:
1 | kubectl get pods |
得到的信息如下:
1 | NAME READY STATUS RESTARTS AGE |
容器运行后,可以根据要求通过不同的网络选项进行公开。 一种可能的解决方案是NodePort,它为容器提供了动态端口。
1 | kubectl expose deployment first-deployment --port=80 --type=NodePort |
得到的信息如下:
1 | service/first-deployment exposed |
下面的命令查找分配的端口并执行HTTP请求:
1 | export PORT=$(kubectl get svc first-deployment -o go-template='{{range.spec.ports}}{{if .nodePort}}{{.nodePort}}{{"\n"}}{{end}}{{end}}')$ echo "Accessing host01:$PORT" |
The result is the container that processed the request.
Step-4
使用Minikube通过以下命令启用仪表板:
1 | minikube addons enable dashboard |
通过部署以下YAML定义,使Kubernetes仪表板可用。 仅应在Katacoda上使用。
1 | kubectl apply -f /opt/kubernetes-dashboard.yaml |
yaml 的内容如下:
1 | apiVersion: v1 |
Kubernetes仪表板使您可以在UI中查看应用程序。 在此部署中,仪表板已在端口30000上可用,但可能需要一段时间才能启动。
要查看仪表板启动的进度,请使用以下命令查看kube-system命名空间中的Pod:
1 | kubectl get pods -n kubernetes-dashboard -w |