K8s部署一个nginx的应用

我们在mster节点上主要有两种部署应用的方式,一个是通过命令行的形式,一个是通过编写yaml文件的形式,类似linux中脚本一样。以下是部署nginx的例子:

一、通过命令行的方式 :

1、部署应用kubectl create deployment nginx-deployment --image=nginx --replicas=3 --port=80

2、暴露应用服务:kubectl expose deployment nginx-deployment --type=NodePort --port=80 --target-port=80

3、查看集群部署状态:kubectl get deployment,svc

4、通过公网ip+NodePort端口号的方式访问nginx服务

二、通过编写yaml文件的方式进行部署

1、编写YAML文件,包含部署一个Deployment应用和一个服务service 来暴漏应用

2、执行Yaml部署文件:kubectl apply -f nginx-deploymen.yaml

3、查看资源部署状态:kubectl get deployment,svc

4、通过公网ip+nodeport 端口号访问nginx服务

在写yaml 文件的时候一定要注意缩进,因为它是靠缩进来进行分层的,所以一定要严格按照格式来编写

yaml 复制代码
# nginx 应用部署
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 3  # 副本数3个
  selector:
    matchLabels:
      app: nginx-deployment
  template:
    metadata:
      labels:
        app: nginx-deployment
    spec:
      containers:
      - name: my-nginx-co
        image: nginx  # nginx镜像
        ports:
        - containerPort: 80  # 暴露端口号

# nginx 服务暴露
apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  selector:
    app: nginx-deployment
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
  type: NodePort

```yaml
在这里插入代码片
复制代码
相关推荐
莫陌尛.13 分钟前
Docker MySQL 删表卡死、执行超时(MDL锁阻塞)问题复盘与根治方案
mysql·docker·容器
星辰徐哥5 小时前
本地视频预览别只自己看:把Remotion动效项目发给客户远程验收
docker·ai·node.js·html·音视频·react·remotion
正仪6 小时前
kubernetes中list-watch机制
云原生·容器·kubernetes
cui_hao_nan8 小时前
从零搭建 Kubernetes 集群:Ubuntu + kubeadm 完整实战
ubuntu·容器·kubernetes
fb_123459 小时前
Docker入门-第3章-容器镜像深度解析
运维·docker·容器
IT摆渡者10 小时前
基于 Docker 部署 Nextcloud 私有云盘(外挂 Windows 共享)项目实践
运维·docker·容器
沃夫上校10 小时前
跨域这件事,其实浏览器在替你挡刀
前端·后端·nginx
Jeromefromhk10 小时前
我把所有服务搬上 Kubernetes,又全部搬了回来
kubernetes·devops
墨香幽梦客12 小时前
Kubernetes+Istio实现CRM系统弹性伸缩:服务网格下的流量治理与熔断策略
容器·kubernetes·istio
新时代牛马12 小时前
单机 docker run 管不住了?从编排需求、期望状态到调度/自愈闭环讲透
运维·docker·容器