1.emptyDir

pod删除的时候,volume也就不存在了,生命周期和pod同样

apiVersion: v1
kind: Pod
metadata:name: redis-pod
spec:containers:- image: redisname: redisvolumeMounts:- mountPath: /cachename: cache-volumevolumes:- name: cache-volumeemptyDir: {}

2.hostpath

宿主机上面的目录,一旦宿主机宕机文件就不存在,不是分布式的

apiVersion: v1
kind: Pod
metadata:name: test-host-pd
spec:containers:- image: nginxname: test-containervolumeMounts:- mountPath: /tmp-testname: test-volumevolumes:- name: test-volumehostPath:path: /opt/data/type: Directory

3.nfs分布式的但是 nfs本身为单电

192.168.56.12 部署了nfsserver端   所有node节点需要安装 nfs-utils
[root@k8s-node2 nginx]# cat /etc/exports
/opt/nginx  192.168.56.0/24(rw,no_root_squash)
[root@k8s-node2 nginx]#
[root@k8s-node2 nginx]# cat /opt/nginx/index.html
nginx-index
apiVersion: extensions/v1beta1
kind: Deployment
metadata:name: nginx-deployment
spec:replicas: 2template:metadata:labels:app: nginx-nfsspec:containers:- name: nginx-nfsimage: nginxvolumeMounts:- name: nginxdatamountPath: /usr/share/nginx/htmlports:- containerPort: 80volumes:- name: nginxdatanfs:server: 192.168.56.12path: /opt/nginx
kubectl create -f nginx.yaml
kubectl   expose  deployment   nginx-deployment    --port=90 --type=NodePort  --target-port=80   --name=nginx-service-nfs
kubectl get svc

4.glusterfs

192.168.56.11 192.168.56.12安装glusterfs制作复制卷yum install centos-release-gluster  -yyum install glusterfs-server -ysystemctl start   glusterfsdsystemctl start    glusterd.servicesystemctl enable   glusterfsd.servicesystemctl enable   glusterd.servicegluster peer  probe  192.168.56.12 #在192.168.56.11上面
gluster volume create nginx-volume replica 2 192.168.56.11:/opt/data   192.168.56.12:/opt/data  forceglusterfs   volume start  nginx-volume
gluster volume info nginx-volume
[root@k8s-node2 data]# cat /opt/data/index.html
glusterfs-nginx-index
[root@k8s-node2 data]#
客户端安装192.168.56.10:yum install glusterfs-client -y
mount  -t  glusterfs 192.168.56.12:/nginx-volume   /mnt/glusterfs/  ##注意挂载写复制卷
Filesystem                   Size  Used Avail Use% Mounted on
/dev/mapper/centos-root       39G  3.4G   35G   9% /
devtmpfs                     478M     0  478M   0% /dev
tmpfs                        489M     0  489M   0% /dev/shm
tmpfs                        489M   50M  439M  11% /run
tmpfs                        489M     0  489M   0% /sys/fs/cgroup
/dev/sda1                   1014M  143M  872M  15% /boot
/dev/mapper/centos-home       19G   33M   19G   1% /home
tmpfs                         98M     0   98M   0% /run/user/0
192.168.56.12:/nginx-volume   39G  3.9G   35G  11% /mnt/glusterfs
[root@k8s-master glusterfs]#

创建endpoint   kubectl create -f  ed.yaml

{"kind": "Endpoints","apiVersion": "v1","metadata": {"name": "glusterfs-cluster"},"subsets": [{"addresses": [{"ip": "192.168.56.11"}],"ports": [{"port": 1}]},{"addresses": [{"ip": "192.168.56.12"}],"ports": [{"port": 1}]}]
}
  kubectl create -f  service.yaml{"kind": "Service","apiVersion": "v1","metadata": {"name": "glusterfs-cluster"},"spec": {"ports": [{"port": 1}]}
}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:name: nginx-deployment-glusterfs
spec:replicas: 3template:metadata:labels:app: nginx-gfspec:containers:- name: nginx-gfimage: nginxvolumeMounts:- name: glusterfsvolmountPath: /usr/share/nginx/htmlports:- containerPort: 80volumes:- name: glusterfsvolglusterfs:endpoints: glusterfs-clusterpath: nginx-volumereadOnly: false---apiVersion: v1
kind: Service
metadata:name: nginx-service-gf
spec:selector:app: nginx-gfports:- name: httpport: 80protocol: TCPtargetPort: 80type: NodePort
[root@k8s-master volume]# kubectl  get  svc -o wide
NAME                TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE       SELECTOR
glusterfs-cluster   ClusterIP   10.10.10.42    <none>        1/TCP            16m       <none>
httpd               ClusterIP   10.10.10.113   <none>        80/TCP           6d        run=httpd
kubernetes          ClusterIP   10.10.10.1     <none>        443/TCP          14d       <none>
my-service          ClusterIP   10.10.10.120   <none>        80/TCP,443/TCP   7d        app=nginx
nginx               ClusterIP   10.10.10.164   <none>        80/TCP           6d        run=nginx
nginx-service       NodePort    10.10.10.84    <none>        88:36741/TCP     14d       run=nginx
nginx-service-gf    NodePort    10.10.10.23    <none>        80:34973/TCP     13m       app=nginx-gf

https://github.com/kubernetes/kubernetes/tree/8fd414537b5143ab039cb910590237cabf4af783/examples/volumes/glusterfs

6.ceph

转载于:https://blog.51cto.com/wsxxsl/2306762

k8s-16-k8s基础存储相关推荐

  1. 【云原生之k8s】k8s基础详解

    [云原生之k8s]k8s基础详解 前言 一.kubernetes介绍 (1)kubernetes简介 (2)应用部署方式的演变 二.kubernetes组件 (1)kubernetes架构 (2)ma ...

  2. K8S使用ceph-csi持久化存储之cephfs部署验证快照

    一.集群和组件版本 K8S集群:1.19.4 Ceph集群:ceph version 15.2.13 (c44bc49e7a57a87d84dfff2a077a2058aa2172e2) octopu ...

  3. K8S使用NFS动态存储(csi-nfs-driver)

    K8S使用NFS动态存储(csi-nfs-driver) 配置nfs服务器 k8s-master部署csi-nfs-driver插件 测试创建pod,使用local-storage动态创建pvc nf ...

  4. Kubernetes(K8s)基本概念:Volume(存储卷)、Persistent Volume

    Kubernetes(K8s)基本概念:Volume(存储卷) 一.Volume(存储卷) Volume是Pod中能够被多个容器访问的共享目录. K8s中的Volume定义在Pod上,然后被一个Pod ...

  5. k8s(一):基础核心概念

    文章目录 1. k8s概述 2. k8s特性 3. k8s集群架构组件 3.1 Master Node 3.2 Worker Node 4. k8s核心概念 5. k8s集群搭建方式 5.1 kube ...

  6. k8s部署-45-k8s共享存储(上)

    什么最重要了,当然是存储了,不管你存储的是文件还是数据,图片还是音频,都是非常重要的,那么我们通过什么方式来避免数据的单点故障呢?如何保证存储的可靠性呢?下面我们来看看. PS:本篇为理论,下一篇为实 ...

  7. K8S部署分布式文件存储minio两种部署方式

    一. 分布式文件存储系统有很多,比如hadoop的HDFS和FastDFS.今天部署minio文件系统. 二. 分布式文件存储minio GitHub官网和minio官网都有详细的文档 MinIO下载 ...

  8. 灵活、高效的云原生集群管理经验:用 K8s 管理 K8s

    作者 | 淮右.临石 **导读:**单 K8s 集群为用户提供了 Namespace 级别的隔离能力,理论上支持不超过 5K Node.15W Pod.多 K8s 集群则解决了单集群的资源隔离.故障隔 ...

  9. Java黑皮书课后题第5章:*5.44(计算机体系结构:比特级的操作)一个short型值用16位比特存储。编写程序,提示用户输入一个short型的整数,然后显示这个整数的16比特形式,下面是运行示例

    5.44(计算机体系结构:比特级的操作)一个short型值用16位比特存储.编写程序,提示用户输入一个short型的整数,然后显示这个整数的16比特形式 题目 题目概述 运行示例 资料与破题 原码反码 ...

  10. K8S——关于K8S控制台的yaml文件编写(基于上一章多节点K8S部署)

    K8S--关于K8S控制台的yaml文件编写(基于上一章多节点K8S部署) 一.yaml文件编写流程 二.证书自签 一.yaml文件编写流程 rbac.yaml---->secret.yaml- ...

最新文章

  1. OpenCV(十六)边缘检测2 -- Laplace(拉普拉斯)二阶微分算子
  2. LeetCode - Longest Common Prefix
  3. 数据中心液冷技术发展分析
  4. 【模糊数学】编程实现文献“研究生招生中的模糊聚类分析方法”
  5. CSS3 Perspective
  6. 查看宝塔面板账号密码命令_宝塔面板升级到最新版图文教程
  7. 一篇文章搞懂数据仓库:常用ETL工具、方法
  8. 原生html冻结表头,CSS如何实现表头冻结效果
  9. layui根据name获取对象_python面向对象——学校学生教职工管理系统类的实例
  10. 620. 有趣的电影
  11. python中文版加密解密_python - 入门-对中英文加密解密
  12. mysql nlssort函数_Oracle中 nls_sort 和 nlssort 排序功能
  13. 笔试题目——研发工程师笔试题
  14. java2的n次方表达式,某个数是2的N次方
  15. 把 Win 8.1 升级成 Windows 2012 R2 (再续)
  16. 我把跨境电商当副业 ,一周赚了7000块:想给有梦想的人提个醒 !
  17. 响铃:互金信贷的明天,或是一场一站式金融服务的盛宴
  18. tomcat启动许多gc_tomcat gc问题总结
  19. 重庆各大学计算机专业的录取分数线,重庆各高校历年录取分数线+王牌专业汇总!填报志愿必看!...
  20. 西安知名IT互联网公司—为自己回西安做铺垫

热门文章

  1. c语言程序设计 江宝钏 实验九,c语言程序设计,江宝钏著,实验九.docx
  2. MyGeneration【ui-原】
  3. springboot 使用i18n进行国际化
  4. 24-Thief小偷-Crime犯罪
  5. JavaScript 中的原型(总则)
  6. iShow UI for React 最佳实践
  7. Visual Studio Code搭建TypeScript开发环境
  8. javascript创建对象 1
  9. Bootstrap 斜体、文本对齐、缩略图、地址、列表等
  10. 用户运营平台产品设计指南