美文网首页
运行第一个Kubernetes应用

运行第一个Kubernetes应用

作者: 伊凡的一天 | 来源:发表于2018-03-19 18:35 被阅读273次

本文中的Kubernetes集群是通过minikube在本地搭建的,这也是本地使用Kubernetes进行实验的最简单的方式,如果你还没有在本地搭建Kubernetes环境,具体教程请参考:使用Minikube本地安装Kubernetes集群

  1. 首先启动本地Kubernetes集群
$ minikube start
Starting local Kubernetes cluster...
Running pre-create checks...
Creating machine...
Starting local Kubernetes cluster...
  1. 指定镜像和端口运行一个名为hello-minikube的应用
$ kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.4 --port=8080
deployment "hello-minikube" created

以上命令成功运行了一个名为hello-minikube的应用,这个应用使用k8s.gcr.io/echoserver:1.4镜像,并且指定运行端口为8080。

上面这个命令本质上创建了一个Pod对象和一个Deployment对象。

Pod是Kubernetes操作的最小单元,一个Pod中可以运行一个或多个docker容器,这些容器共享这个Pod中的资源。更多关于Pod的介绍,请参考:Kubernetes对象之Pod。在本例中,此Pod中运行了一个容器,容器的镜像为k8s.gcr.io/echoserver:1.4,并且运行在Pod的8080端口。

Deployment对象能够对Pod进行管理,从而实现应用的滚动升级,扩容缩容等操作。更过关于Deployment的介绍,请参考:Kubernetes对象之Deployment

使用kubectl get pod命令可以查看当前集群中的Pod。

  1. 将Deployment暴露为外部可访问的服务
kubectl expose deployment hello-minikube --type=NodePort

将hello-minikube应用对外暴露为Service。

第一步命令会创建一个名为hello-minikube的,类型为deployment的对象。此时应用已经在集群中运行了,然而Kubernetes只会为此应用分配一个集群内可访问的虚拟IP,如果想要从集群外访问,就必须将这个应用暴露为一个Service--type=NodePort参数指定了这个Service使用宿主机的端口来暴露服务。

更多关于Service的介绍,请参考:Kubernetes对象之Service

  1. 查看hello-minikube service的url
$ minikube service hello-minikube --url
http://192.168.64.2:32354
  1. 访问hello-minikube service
$ curl http://192.168.64.2:32354
CLIENT VALUES:
client_address=192.168.99.1
command=GET
real path=/

至此,你的第一个Kubernetes应用就运行成功了!

可以通过kubectl delete deployment hello-minikube命令删除这个应用。

参考文章

相关文章

网友评论

      本文标题:运行第一个Kubernetes应用

      本文链接:https://www.haomeiwen.com/subject/gzipqftx.html