k8s+pv+pvc+nas 数据持久化volumes使用

1 k8s pod申请持久化卷配置

复制代码
apiVersion: v1
kind: Service
metadata:
  name: $IMG_NAME
  namespace: rz-dt
  labels:
    app: $IMG_NAME
spec:
  type: NodePort
  ports:
    - port: 8091
      nodePort: 31082 #service对外开放端口
  selector:
    app: $IMG_NAME
---
apiVersion: apps/v1
kind: Deployment #对象类型
metadata:
  name: $IMG_NAME #名称
  namespace: rz-dt
  labels:
    app: $IMG_NAME #标注
spec:
  replicas: 1 #运行容器的副本数,修改这里可以快速修改分布式节点数量
  progressDeadlineSeconds: 600 #在Deployment 在进度卡住6分钟后报告
  minReadySeconds: 120 #Pod被认为是可用状态的最小秒数。默认是0
  strategy:
    rollingUpdate:
      maxSurge: 1 #升级过程中激增Pod的最大数量
      maxUnavailable: 0 #升级过程中不可用Pod的最大数量
    type: RollingUpdate
  selector:
    matchLabels:
      app: $IMG_NAME
  template:
    metadata:
      labels:
        app: $IMG_NAME
    spec:
      containers: #docker容器的配置
        - name: $IMG_NAME
#          env:
#            - name: aliyun_logs_catalina
#              value: stdout
          image: rz-dt-image-server-registry-vpc.cn-shanghai.cr.aliyuncs.com/rz-dt/$IMG_NAME:$IMG_TAG # pull镜像的地址 ip:prot/dir/images:tag
          imagePullPolicy: Always #pull镜像时机,
          #command: ["java","-Dserver.port=8055","-jar","/usr/local/cenobitor/k8s-springboot-demo.jar"]
          ports:
            - containerPort: 8091 #容器对外开放端口,需与springboot配置文件一致
          volumeMounts:
            - name: time-config
              mountPath: /etc/localtime
              readOnly: true
            - name: volume-logs
              mountPath: /logs
              subPath: logs
          resources:
            limits:
              cpu: 500m
              memory: 1Gi
            requests:
              cpu: 10m
              memory: 50Mi
      #从私有仓库拉取镜像凭证
      imagePullSecrets:
        - name: rz-dt-miyue-vpc
      # 数据持久化卷申请
      volumes:
        - name: time-config
          hostPath:
            path: /usr/share/zoneinfo/Asia/Shanghai
        - name: volume-logs
          persistentVolumeClaim:
            claimName: rz-dt-nas-volume-claim

2 k8s发布脚本

复制代码
echo "开始制作镜像..."
image_name=application-account
image_tag=`date +%Y-%m-%d-%H-%M-%S` #_%H%M
echo "当前时间版本号:$image_tag"
docker build -t ${image_name}:${image_tag} .
echo "制作镜像成功!"

echo "登录"
sudo docker login --username=aliyun035152 rz-dt-img-server-registry-vpc.cn-shanghai.cr.aliyuncs.com --password=123
echo "镜像最新版本提交"
docker tag ${image_name}:${image_tag} rz-dt-image-server-registry-vpc.cn-shanghai.cr.aliyuncs.com/rz-dt/${image_name}:${image_tag}
docker push rz-dt-image-server-registry-vpc.cn-shanghai.cr.aliyuncs.com/rz-dt/${image_name}:${image_tag}

echo "k8s一键部署"
export IMG_TAG=${image_tag}
export IMG_NAME=${image_name}
envsubst < ${image_name}.yaml | kubectl --kubeconfig ~/.kube-rz/config apply -f -

3 k8s 里面deployment+pvc+pv+nas配置截图

  1. deployment绑定pvc
  2. pvc绑定pv管理员
  3. pv绑定nas云盘
  4. nas绑定映射到ECS云主机/mnt目录下

相关推荐
March.s6 小时前
Kubernetes 全景导览:从部署演进到云原生底座
云原生·kubernetes·dubbo
熊出没8 小时前
云原生架构落地实践:Kubernetes 生产级配置与 Service Mesh 流量治理
云原生·架构·kubernetes·istio
人生匆匆8 小时前
docker部署ceph集群
ceph·docker·容器
东风微鸣13 小时前
K8s 最佳实践已更新:请使用 Node Swap!
kubernetes
CCblandy15 小时前
一致性哈希到底省了多少搬迁?本机实测 3 轮:取模 6→7 搬 85.8%,V=128 只搬 14.3%,虚拟节点太少会被倾斜骗
后端·python·云原生·性能优化·架构
code_slave(码畜)15 小时前
微服务架构落地:OpenFeign 服务远程调用 + 线程池隔离架构实战 —— 超时控制、重试机制、线程池隔离,防雪崩
spring boot·spring cloud·微服务·云原生·架构·openfeign
励志师code15 小时前
Kubernetes 集群节点生命周期管理实战:从扩容、调度管控到证书续期
运维·docker·容器·kubernetes·gpu算力·kubelet
闲云自留地16 小时前
Kubernetes 安装保姆级:关 swap、装 containerd、init 集群、calico 一篇通
容器·贪心算法·kubernetes
木雷坞16 小时前
Docker Compose部署Metabase:应用库隔离与日期筛选看板
运维·docker·容器
涵美女程序猿16 小时前
ChatCut online 剪微服务熔断测试录屏:仪表盘告警、降级日志与恢复时刻怎样对应
程序人生·微服务·云原生·架构·电脑