我使用 Helm Chart 在 EKS v 1.16 中部署了一个 jenkins 服务。 PV 和 PVC 被意外删除,因此我重新创建了 PV 和 PVC,如下所示:
PV.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: jenkins-vol
spec:
accessModes:
- ReadWriteOnce
awsElasticBlockStore:
fsType: ext4
volumeID: aws://us-east-2b/vol-xxxxxxxx
capacity:
storage: 120Gi
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: jenkins-ci
namespace: ci
persistentVolumeReclaimPolicy: Retain
storageClassName: gp2
volumeMode: Filesystem
status:
phase: Bound
PVC.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: jenkins-ci
namespace: ci
spec:
storageClassName: gp2
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 120Gi
volumeMode: Filesystem
volumeName: jenkins-vol
status:
accessModes:
- ReadWriteOnce
capacity:
storage: 120Gi
phase: Bound
kubectl 描述 sc gp2
Name: gp2
IsDefaultClass: Yes
Annotations: kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"storage.k8s.io/v1","kind":"StorageClass","metadata":{"annotations":{"storageclass.kubernetes.io/is-default-class":"true"},"name":"gp2","namespace":""},"parameters":{"fsType":"ext4","type":"gp2"},"provisioner":"kubernetes.io/aws-ebs"}
,storageclass.kubernetes.io/is-default-class=true
Provisioner: kubernetes.io/aws-ebs
Parameters: fsType=ext4,type=gp2
AllowVolumeExpansion: True
MountOptions: <none>
ReclaimPolicy: Delete
VolumeBindingMode: Immediate
Events: <none>
我面临的问题是,当 pod 被安排在与 EBS 卷不同的可用区中的节点上时,它没有运行?我该如何解决这个问题
最佳答案
将一个nodeSelector添加到您的部署文件中,这会将其与所需可用区域中的节点(在您的情况下是us-east-2b)相匹配:
nodeSelector:
topology.kubernetes.io/zone: us-east-2b
关于amazon-web-services - Kubernetes Pod 因无效卷区域不匹配而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69546663/