kubeadm部署k8s教程(5)---容器挂载本地磁盘

1、场景

我们在使用docker run启动Docker的时候,可以直接指定-v参数,将容器中需要持久化的目录持久化到本地目录。就是将每个容器要挂载的目录,映射到该容器所在宿主机指定的目录,从而完成挂载。在k8s中,引入了存储层的概念,这个存储层的存储空间,所有结点共享,是分布式存储。一个结点挂掉,它上面的 Pod 进行故障转移后,依旧能继续从共享的存储空间中,访问之前的数据。

2、搭建nfs环境

直接启动docker的挂载方式:

docker run -d -p 80:80 -p 8080:8080 --net=host -v /data/logs:/logs -v /etc/timezone/timezone:/etc/timezone:ro --name nginx nginx

主从节点的nfs环境搭建
https://blog.csdn.net/qq_26993175/article/details/125415430

k8s的pods中挂载:
a、修改Deployment.yaml
增加红框里的两部分内容:
在这里插入图片描述

kind: Deployment
apiVersion: apps/v1
metadata:
  name: nginx
  namespace: default
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx
      creationTimestamp: null
      labels:
        app: nginx
    spec:
      volumes: # 映射Pod对外的挂载
        - name: uploadfile # Pod要挂载的名称指代,即指向volumeMounts的name
          nfs: # 采用nfs挂载
            server: 192.168.1.15 # Pod要挂载的宿主机ip
            path: /data/upload # Pod挂载到外部宿主机上的目录
        - name: timezone
          hostPath: # 采用主机目录的挂载方式
            path: /etc/timezone
            type: Directory ###这个类型在下面会有介绍
      containers:
        - name: sms-web-api
          image: '192.168.1.15:20001/library/nginx:v6'
          ports:
            - containerPort: 4008
              protocol: TCP
          resources: {}
          volumeMounts: # Pod的数据卷挂载
            - name: uploadfile # Pod的数据卷挂载到外面的名称
              mountPath: /data/upload # Pod的内部要挂载出去的目录
            - name: timezone
              mountPath: /etc/timezone
      restartPolicy: Always
      terminationGracePeriodSeconds: 30
      dnsPolicy: ClusterFirst
      securityContext: {}
      schedulerName: default-scheduler
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 25%
      maxSurge: 25%
  revisionHistoryLimit: 10
  progressDeadlineSeconds: 600

修改完成后应用即可。本文并未涉及PV,PVC方式挂载。有兴趣可以参考下面两个链接。

挂载卷类型介绍:
https://blog.csdn.net/weixin_46069582/article/details/114069043

PV、PVC方式介绍:
https://blog.csdn.net/Crezfikbd/article/details/124569094

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值