如何在k8s中配置一个服务挂载卷

1.创建nfs文件夹

mkdir -p /data/springboot-service

2.在k8s上配置pvc挂载

2.1新建 PV持久卷(springboot-service-pv.yaml)

PV:持久卷(Persistent Volume),将应用需要持久化的数据保存到指定位置

apiVersion: v1
kind: PersistentVolume
metadata:
  name: springboot-service-pv
  labels:
    pv: springboot-service-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteMany 
  persistentVolumeReclaimPolicy: Retain 
  storageClassName: nfs
  nfs: 
    path: /data/springboot-service
    #nfs 主节点地址
    server: 172.16.0.4

执行申请命令

kubectl apply -f springboot-service-pv.yaml
#查看执行结果
kubectl get PersistentVolume
2.2 新建PVC持久卷声明(springboot-service-pvc.yaml)

PVC:持久卷申明(Persistent Volume Claim),申明需要使用的持久卷规格大小

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: springboot-service-pvc
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: nfs
  resources:
    requests:
      storage: 5Gi
  selector:
    matchLabels:
      pv: springboot-service-pv

执行命令

kubectl apply -f springboot-service-pvc.yaml
#查看执行结果
kubectl get pvc

3.创建pod的发布文件(springboot-service.yaml)

apiVersion: apps/v1
kind: Deployment
metadata:
  name: springboot-service
  labels:
    app: springboot-service
spec:
  replicas: 1
  selector:
    matchLabels:
      app: springboot-service
  template:
    metadata:
      labels:
        app: springboot-service
      annotations:
        app: springboot-service
    spec:
      containers:
        - name: springboot-service
          image: springboot-service:0.0.1-SNAPSHOT
          imagePullPolicy: Always
          env:
            - name: springboot-service
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
          ports:
            - name: http
              containerPort: 18080
              protocol: TCP
          resources:
            limits:
              # cpu: 100m
              memory: 4Gi
            requests:
              # cpu: 100m
              memory: 1Gi
          volumeMounts:
            - mountPath: /data/springboot-service
              name: springboot-service-storage
      volumes:
        #自定义挂载卷名称,上边引用volumeMounts.name的需要和这里一致
        - name: springboot-service-storage
          persistentVolumeClaim:
            claimName: springboot-service-pvc
#  podManagementPolicy: "Parallel"
---
apiVersion: v1
kind: Service
metadata:
  name: springboot-service
spec:
  selector:
    app: springboot-service
  type: NodePort
  ports:
    - port: 18080
      targetPort: 18080
      nodePort: 32080

执行命令

kubectl apply -f springboot-service.yaml
#查看结果
kubectl get pvc
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值