我有一个 3 节点 Kubernetes 集群在 vagrant 上运行,使用来自http://github.com/oracle/vagrant-boxes.git的 oracle Kubernetes vagrant box 。
我想添加一个包含 Oracle 数据库的 pod 并保留数据,这样即使所有节点都出现故障,我也不会丢失数据。
根据我阅读 Kubernetes 文档的方式,无法仅在云支持的设备上在本地文件系统上创建持久卷。我想在我的 vagrant box 上配置持久卷和持久卷声明,作为我的 Kubernetes 学习的概念证明和培训练习。
有没有关于如何在此配置中创建 PV 和 PVC 的示例?
作为一个完全的 Kubernetes 新手,任何代码示例都将不胜感激。
使用主机路径:
创建PV:
kind: PersistentVolume
apiVersion: v1
metadata:
name: task-pv-volume
labels:
type: local
spec:
storageClassName: manual
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/data
Run Code Online (Sandbox Code Playgroud)
创建PVC:
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: task-pv-claim
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 3Gi
Run Code Online (Sandbox Code Playgroud)
在 pod 中使用它:
kind: Pod
apiVersion: v1
metadata:
name: task-pv-pod
spec:
volumes:
- name: task-pv-storage
persistentVolumeClaim:
claimName: task-pv-claim
containers:
- name: task-pv-container
image: nginx
ports:
- containerPort: 80
name: "http-server"
volumeMounts:
- mountPath: "/usr/share/nginx/html"
name: task-pv-storage
Run Code Online (Sandbox Code Playgroud)
这只是一个示例,仅供测试之用。
对于生产用例,您将需要使用 PVC 的StorageClass进行动态配置,以便当 pod 在集群中移动时卷/数据可用。
归档时间: |
|
查看次数: |
1619 次 |
最近记录: |