echoserver
是官方提供的一个简单的 HTTP服务,我们拉一下它的镜像:
docker pull gcr.azk8s.cn/google-containers/echoserver:1.10
docker tag gcr.azk8s.cn/google-containers/echoserver:1.10 k8s.gcr.io/echoserver:1.10
镜像pull done后,运行如下命令启动一个Deployment
:
kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.10 --port=8080
#得到输出如下:deployment.apps/hello-minikube created
我们需要创建一个 Service
来访问 刚创建的 Deployment
:
通过 expose
这个关键词 将刚才的 Deployment 暴露给一个 Service,而 --type=NodePort
指定了服务的类型。
kubectl expose deployment hello-minikube --type=NodePort
#得到输出如下:service/hello-minikube exposed
查看pod的运行状态来确认,服务是否正常启动:
kubectl get pod
#得到输出如下:
NAME READY STATUS RESTARTS AGE
hello-minikube-3383150820-vctvh 0/1 ContainerCreating 0 3s
ContainerCreating 说明服务还在创建中,等到 STATUS 变成了 Running ,说明服务正常运行。
查看刚创建的service的访问地址,直接访问 :
minikube service hello-minikube --url
浏览器访问改地址,得到如下返回:
Hostname: hello-minikube-7c77b68cff-8wdzq
Pod Information:
-no pod information available-
Server values:
server_version=nginx: 1.13.3 - lua: 10008
Request Information:
client_address=172.17.0.1
method=GET
real path=/
query=
request_version=1.1
request_scheme=http
request_uri=http://192.168.99.100:8080/
Request Headers:
accept=*/*
host=192.168.99.100:30674
user-agent=curl/7.47.0
Request Body:
-no body in request-
非常完美,非常优雅,哈哈哈哈。
如果你不希望这个demo继续运行,接下来你需要删除,刚部署的 Service
和 Deployment
:
删除Service:
kubectl delete services hello-minikube
# 输出 : service "hello-minikube" deleted
删除Deployment:
kubectl delete deployment hello-minikube
# 输出 : deployment.extensions "hello-minikube" deleted
或者你想停止集群的运行:
minikube stop
# 输出 :
Stopping "minikube"...
"minikube" stopped.
删除集群:
minikube delete
# 输出 :
Deleting "minikube" ...
The "minikube" cluster has been deleted.
网友评论