amazon-web-services - Kubernetes Pod 因无效卷区域不匹配而失败

标签 amazon-web-services kubernetes kubernetes-helm amazon-eks persistent-volumes

我使用 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/

相关文章:

amazon-web-services - AWS Config - 谁进行了更改

nginx - 如何在 nginx 入口中将 header 传递给 auth-url

kubernetes - 外部 DNS 跳过记录(未检测到匹配的托管区域)

kubernetes - 检查模板中使用的文件/目录/是否存在

kubernetes - Helm : Is it wise to commit the . helm 文件夹到源代码管理?

amazon-web-services - AWS Cognito API 身份验证流程 SDK

c# - 从存储桶 xxx 获取对象文件名.xlsx 时出错。确保它们存在并且您的存储桶与此功能位于同一区域?

kubernetes - 添加 'explain'信息以在K8S中自定义资源定义

Kubernetes API : Failure 403 pods is forbidden: User "system:serviceaccount:default:journalbeat" cannot list resource "pods" in API group ""

amazon-web-services - GlusterFS/Heketi中的最小卷大小