glusterfs永続ボリュームを使用している3つのzookeepers petsetを実行しています。あなたがペットセットを始めたのが初めてならば、すべてが良いことです。Restart Kubernetes petsetは永続ボリュームを消去します
私の要件の1つは、petsetが強制終了された場合、再起動後も同じ永続ボリュームを使用することです。
私が直面している問題は、petsetを再起動すると、永続ボリューム内の元のデータが消去されるということです。では、手動でそのボリュームからファイルをコピーする代わりに、この問題をどのように解決できますか?私はreclaimPolicyの保持と削除を試み、両方ともボリュームを消去します。ありがとう。
以下は設定ファイルです。
PV
apiVersion: v1
kind: PersistentVolume
metadata:
name: glusterfsvol-zookeeper-0
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
glusterfs:
endpoints: gluster-cluster
path: zookeeper-vol-0
readOnly: false
persistentVolumeReclaimPolicy: Retain
claimRef:
name: glusterfsvol-zookeeper-0
namespace: default
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: glusterfsvol-zookeeper-1
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
glusterfs:
endpoints: gluster-cluster
path: zookeeper-vol-1
readOnly: false
persistentVolumeReclaimPolicy: Retain
claimRef:
name: glusterfsvol-zookeeper-1
namespace: default
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: glusterfsvol-zookeeper-2
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
glusterfs:
endpoints: gluster-cluster
path: zookeeper-vol-2
readOnly: false
persistentVolumeReclaimPolicy: Retain
claimRef:
name: glusterfsvol-zookeeper-2
namespace: default
PVC
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: glusterfsvol-zookeeper-0
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: glusterfsvol-zookeeper-1
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: glusterfsvol-zookeeper-2
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
petset
apiVersion: apps/v1alpha1
kind: PetSet
metadata:
name: zookeeper
spec:
serviceName: "zookeeper"
replicas: 1
template:
metadata:
labels:
app: zookeeper
annotations:
pod.alpha.kubernetes.io/initialized: "true"
spec:
terminationGracePeriodSeconds: 0
containers:
- name: zookeeper
securityContext:
privileged: true
capabilities:
add:
- IPC_LOCK
image: kuanghaochina/zookeeper-3.5.2-alpine-jdk:latest
imagePullPolicy: Always
ports:
- containerPort: 2888
name: peer
- containerPort: 3888
name: leader-election
- containerPort: 2181
name: client
env:
- name: ZOOKEEPER_LOG_LEVEL
value: INFO
volumeMounts:
- name: glusterfsvol
mountPath: /opt/zookeeper/data
subPath: data
- name: glusterfsvol
mountPath: /opt/zookeeper/dataLog
subPath: dataLog
volumeClaimTemplates:
- metadata:
name: glusterfsvol
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
た理由は、私が飼育係の利用IDを強制的にzkServer-initialize.shを使用しますが、中にいますということですスクリプトを実行すると、dataDirがクリーンアップされます。
ようこそStackOverflow - あなたの設定を共有して、人々が簡単にセットアップを再現し、質問に答えることができるようにする必要があります。 – pagid
助けてくれてありがとう。設定ファイルが追加されます。 – HAO