我有一个三节点的Kubernetes集群,该集群使用http://github.com/oracle/vagrant-boxes.git中的Oracle Kubernetes流浪者盒子在流浪者上运行。
我想添加一个包含Oracle数据库的Pod,并保留数据,以防万一所有节点掉线,我也不会丢失数据。
根据我的阅读Kubernetes文档的方式,持久卷不能仅在支持云的设备上在本地文件系统上创建。我想在无业游民的盒子上配置持久卷和持久卷声明,以作为我的Kubernetes学习的概念证明和培训练习。
有没有一些示例可以说明如何在这种配置下创建PV和PVC?
作为完整的Kubernetes新手,将非常感谢任何代码示例。
答案 0 :(得分:1)
使用主机路径:
创建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
创建PVC:
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: task-pv-claim
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 3Gi
在吊舱中使用它:
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
这只是一个示例,仅供测试。
对于生产用例,您将需要使用StorageClass for PVC进行动态配置,以便在Pod在集群中移动时可以使用卷/数据。