Kubernetes Storage
2024-09-04 16:42:26
参考文章:
https://kubernetes.io/docs/concepts/storage/volumes/
https://www.cnblogs.com/styshoo/p/6731425.html
容器中的磁盘文件是短暂的,这为在容器中运行重要的应用程序带来了一些问题。
第一 当容器崩溃时,Kubelet将会重启容器,这时候数据文件就会丢失。
第二 在同一个Pod中的容器通常需要共享数据。
Kubernetes使用Volume抽象解决了这两个问题。
Kubernetes supports several types of Volumes:
awsElasticBlockStore
azureDisk
azureFile
cephfs
configMap
csi
downwardAPI
emptyDir
fc
(fibre channel)flocker
gcePersistentDisk
gitRepo
glusterfs
hostPath
iscsi
local
nfs
persistentVolumeClaim
projected
portworxVolume
quobyte
rbd
scaleIO
secret
storageos
vsphereVolume
NFS PersistentVolume
前提条件:搭建NFS服务器,K8s node安装nfs客户端
pv-yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: nginx-data
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
nfs:
path: /nfs-data
server: 172.16.65.200
persistentVolumeReclaimPolicy: Recycle
pvc-yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nginx-data
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
deployment-yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-web
spec:
replicas: 3
selector:
matchLabels:
name: nginx-web
template:
metadata:
labels:
name: nginx-web
spec:
containers:
- name: nginx-web
image: nginx
volumeMounts:
- mountPath: /usr/share/nginx/html
name: nginx-data
ports:
- containerPort: 80
volumes:
- name: nginx-data
persistentVolumeClaim:
claimName: nginx-data
service-yaml
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
name: nginx-web
type: NodePort
ports:
- port: 80
protocol: TCP
targetPort: 80
name: http
nodePort: 30080
最新文章
- Android开机启动程序
- js的元素对象
- ActiveReports 9 新功能:可视化查询设计器(VQD)介绍
- cocos2dx 安卓编译问题收集
- Django Models的数据类型
- centos kvm
- c++,windows中的字符问题
- QT QSettings 操作(导入导出、保存获取信息)*.ini文件详解
- as3 与js相互通信
- Nginx反向代理和Node.js后端解决跨域问题
- MySQL列类型选择
- Sumdiv POJ - 1845 (逆元/分治)
- 从OsChina Git下载项目到MyEclipse中
- 打造研发效率核心竞争力!第40届MPD软件工作坊北京站议题公开
- hdoj-1068(二分图的最小点覆盖)
- c#调用带输出参数的存储过程
- PostgreSQL同步方案
- Java 的类加载顺序
- ras api win7 和 win xp 遍历时的不同
- tpcc-mysql安装、使用、结果解读