kubectl create deployment kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1
查看
kubectl get deployments
打开新的终端执行
kubectl proxy
此时,切回上一个终端,通过 kubectl get pods
可查看已部署好的pod。并通过
curl http://localhost:8001/api/v1/namespaces/default/pods/$POD_NAME/
查看pod信息
要创建新服务并将其公开给外部流量,将使用以 NodePort 作为参数的公开命令。
kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port 8080
执行kubectl get services
,查看已经暴露出去的服务。
在这里我们看到服务收到了一个唯一的集群 IP、一个内部端口和一个外部 IP(节点的 IP)。 如果使用多台机器搭建的k8s集群,则可以直接使用ip:port 进行访问。
此处EXTERNAL-IP 显示<none>
,是因为我们使用 Docker Desktop 作为容器驱动程序运行 minikube。需要 minikube 隧道来进行访问。这是因为 Docker Desktop 内的容器与主机隔离。
执行
minikube service kubernetes-bootcamp --url
在浏览器中打开http://127.0.0.1:58521
,具体端口号要看minikube给定的是多少。
浏览器显示:Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-f95c5b745-lf5r9 | v=1