问题描述
如果第一个节点出现故障,是否有可能将 pod/deployment/statefulset 移动到另一个节点或在另一个节点上自动重新创建?有问题的 pod 设置为 1 个副本。那么是否可以为 kubernetes pod 配置某种故障转移?我已经尝试了 pod 关联设置,但没有任何东西自动移动,大约 10 分钟后。
上述 pod 的 yaml 如下所示:
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: ceph-rbd-sc-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
storageClassName: ceph-rbd-sc
---
apiVersion: v1
kind: Pod
metadata:
name: ceph-rbd-pod-pvc-sc
labels:
app: ceph-rbd-pod-pvc-sc
spec:
containers:
- name: ceph-rbd-pod-pvc-sc
image: busybox
command: ["sleep","infinity"]
volumeMounts:
- mountPath: /mnt/ceph_rbd
name: volume
nodeSelector:
etiket: worker
volumes:
- name: volume
persistentVolumeClaim:
claimName: ceph-rbd-sc-pvc
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
name: ceph-rbd-pod-pvc-sc
topologyKey: "kubernetes.io/hostname"
编辑:
我设法让它工作。但是现在我有另一个问题,另一个节点中新创建的 pod 卡在“容器创建”中,而旧 pod 卡在“终止”中。我还收到 Multi-Attach error for volume
说明旧 pod 仍在使用 pv。任何带有 pv 的部署/状态集的情况都是一样的,只有当出现故障的节点重新联机时才能解决问题。有解决办法吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)