尝试在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):
访问成功。