3、k8s-服务的部署(nginx)
说明:pod是kubernetes的最小单元-而容器时运行在pod中的、服务是运行在容器中的、所以:pod>容器>服务 --(这是一个包含的关系)
1、创建部署nginx:kubectl create deployment nginx --image=nginx:1.14-alpine# kubectl create deployment
是一个 Kubernetes 命令,用于创建一个部署(Deployment)、部署名字为 nginx
#nginx --image=nginx:1.14-alpine
,它的含义是创建一个名为 "nginx" 的部署,并使用 "nginx:1.14-alpine" 镜像作为部署的容器镜像
# 具体来说这个命令 已经创建了一个pod、是将nginx:1.14-alpine 镜像来创建pod
#当执行这个命令的时候、任意一个node节点上就会去拉取镜像、而不在master节点上去拉取
=================================
#创建成功
deployment.apps/nginx created
=================================
2、暴露外界访问的端口:kubectl expose deployment nginx --port=80 --type=NodePort
# 将k8s集群中的一个部署(nginx)暴露给外部访问
# 这个命令将创建一个服务(service),将部署中的 Pod 与集群外部的网络连接起来。具体来说,它会创建一个 NodePort 类型的服务,将部署中的 Pod 的端口映射到集群节点的一个随机端口上
============================
#成功暴露端口
service/nginx exposed
============================
3、查看pod服务状态:kubectl get pods
=============================================================
NAME READY STATUS RESTARTS AGE
nginx-6867cdf567-9zv5r 1/1 Running 0 3m18s
==============================================================
4、查看nginx服务:kubectl get service
===========================================================================
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 113m
nginx NodePort 10.110.73.196 <none> 80:30523/TCP 2m4s
注意:这里的80:30523/TCP 30523端口是外界访问使用的端口
============================================================================
5、访问nginx:192.168.177.151:30523