【发布时间】:2020-11-29 21:27:25
【问题描述】:
我正在使用 azure aks 使用 azure 磁盘配置程序创建一个带有卷的 statefulset。 我正在尝试找到一种方法来编写我的 statefulset YAML 文件,当 pod 重新启动时,它将获得一个新的 Volume 并且旧的卷将被删除.
我知道我可以手动删除卷,但有什么方法可以告诉 Kubernetes 通过 statefulset yaml 执行此操作?
这是我的 Yaml:
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: janusgraph
labels:
app: janusgraph
spec:
...
...
template:
metadata:
labels:
app: janusgraph
spec:
containers:
- name: janusgraph
...
...
volumeMounts:
- name: data
mountPath: /var/lib/janusgraph
livenessProbe:
httpGet:
port: 8182
path: ?gremlin=g.V(123).count()
initialDelaySeconds: 120
periodSeconds: 10
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes: ["ReadWriteOnce"]
storageClassName: "default"
resources:
requests:
storage: 7Gi
【问题讨论】:
-
kubernetes.io/docs/concepts/storage/persistent-volumes/#delete 这应该可以帮助您在使用后删除卷。它还会删除磁盘。
-
restart是什么意思? -
@HelloWorld kubernetes 的一项工作是在 pod 由于某种原因关闭时启动它。这都是基于复制值
-
对不起,我应该更具体一些。在您的情况下,删除 pod 是否也算作重新启动?或者您的意思是仅在容器失败时重新启动(不删除 pod)。 @toto
标签: azure kubernetes azure-aks kubernetes-pvc statefulset