K8S部署nginx应用

134 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第17天,点击查看活动详情

 尝试在K8S中部署一个nginx应用。

在master节点上执行:

[root@k8smaster ~]# kubectl create deployment nginx --image=nginx
deployment.apps/nginx created

#这条命令表示,基于nginx镜像,创建一个deployment,并将nginx应用启动起来。这里deployment后面的nginx是自定义的一个deployment名称,可以是任何名字。image参数指定的是镜像名称,这里表示nginx镜像

查看pod:

[root@k8smaster ~]# kubectl get pod
NAME                     READY   STATUS    RESTARTS   AGE
nginx-6799fc88d8-s82f9   1/1     Running   0          6m46s

 查看deployment:

[root@k8smaster ~]# kubectl get deployment
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
nginx   1/1     1            1           59m

 在node节点上查看镜像已经拉取成功:

在node节点上可以看到已经有了nginx容器:

 暴露端口:

[root@k8smaster ~]# kubectl expose deployment nginx --port=80 --type=NodePort
service/nginx exposed


#这里deployment后面指定的是要和前面创建的deployment名字一样,表示对该deployment绑定端口

查看service:

 这里的80是用于node之间通信的端口,比如说当前有多个node节点时,node之间对该nginx应用进行访问的时候使用80端口。而冒号后面的31336这个端口是用于外部对nginx的访问,比如我们通过浏览器对nginx服务进行访问时,通过80端口是访问不到的,必须通过31336这个端口。一般来讲,这个端口是一个3开头的五位随机数。

访问nginx服务(ip:port):

 访问成功。