[英]claim volume without data loss using volumeclaimtemplate
I have a application of workload deployment and need to change it to statefulset我有一个工作负载部署的应用程序,需要将其更改为 statefulset
apiVersion: apps/v1
kind: Deployment
metadata:
name: app
labels:
app: app
spec:
replicas: 1
selector:
matchLabels:
app: app
template:
metadata:
labels:
app: app
spec:
containers:
- name: app
image: nginx:1.14.2
ports:
- containerPort: 80
volumeMounts:
- name: data
subPath: app/log
mountPath: /opt/app/log
volumes:
- name: data
peristentVolumeClaim:
claimName: pv-app-claim
PV光伏
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-app
labels:
pv: app
spec:
storageClassName: "default"
capacity:
storage: 8Gi
accessModes:
- ReadWriteMany
persistentVolumeclaimPolicy: Retain
nfs:
server: someIP
path: "/somepath"
PVC PVC
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pv-app-claim
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 8Gi
selector:
matchLabels:
pv: app
I have tried to change the required file but struck in a place where I need the data in the volume to be there even when I'm moving to statefulset.我试图更改所需的文件,但在我需要卷中的数据存在的地方,即使我正在移动到 statefulset。 In statefulset we use volumeclaimtemplate this is where i'm struck how to retain the data and claim with volumeclaimtemplate.在 statefulset 中,我们使用 volumeclaimtemplate,这是我对如何使用 volumeclaimtemplate 保留数据和声明感到震惊的地方。
Note: I'm going to use only one pod注意:我将只使用一个 pod
volumeclaimtemplate
as volumeclaimtemplate
will create a new PVC .如果你想在 statefulset 中使用现有的 PVC,那么你不应该在volumeclaimtemplate
下提及它,因为volumeclaimtemplate
会创建一个新的 PVC。pod spec
just like you mention in a deployment您应该在pod spec
下提及它,就像您在部署中提及的那样Example:例子:
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: web1
spec:
selector:
matchLabels:
app: nginx
serviceName: "nginx"
replicas: 1
template:
metadata:
labels:
app: nginx
spec:
terminationGracePeriodSeconds: 10
containers:
- name: nginx1
imagePullPolicy: IfNotPresent
image: k8s.gcr.io/nginx-slim:0.8
ports:
- containerPort: 80
name: web1
volumeMounts:
- name: www1
mountPath: /usr/share/nginx/html
volumes:
- name: www1
peristentVolumeClaim:
claimName: pv-app-claim
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.