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
在这里插入代码片
复制代码
相关推荐
golang学习记20 小时前
Go 项目使用docker compose的正确方式
开发语言·docker·golang
张忠琳1 天前
【NPU】Ascend Device Plugin —Part 6 K8s客户端 + 重复检测模块 超深度源码分析之二
云原生·容器·kubernetes·npu·docker device
雨声不在1 天前
私有 Docker Registry 排障实录:两个隐蔽的坑
docker·容器
云川之下1 天前
【k8s】SR‑IOV‑Network‑Operator 详解
云原生·容器·kubernetes
读书读傻了哟1 天前
解决docker拉取镜像报错failed to resolve reference “docker.io/xxx“...i/o timeout问题
运维·docker·容器
风曦Kisaki1 天前
对象存储 MinIO 的两种生产环境适用部署方式
kubernetes
Ai拆代码的曹操1 天前
DaemonSet OnDelete 策略详解:为何 rollout restart 无效及正确迁移方案
docker·容器·kubernetes
名字还没想好☜1 天前
Kubernetes NetworkPolicy 实战:默认全通的坑与用标签做零信任隔离
运维·云原生·容器·kubernetes·networkpolicy
瑞码空间1 天前
Web应用的多端部署之道:浏览器 · Electron · Docker
前端·docker·electron·浏览器·web
badhope1 天前
Docker镜像从2GB压到80MB——我被运维追着打了三天才学会的容器瘦身术
docker