当前位置: 首页 > 知识库问答 >
问题:

Kubernetes本地存储PVC挂起在挂起状态-如何修复?

太叔坚
2023-03-14

我正在寻找关于如何正确使用Kubernetes本地存储PVC的帮助。

我们在Ubuntu上提供了一个kubespray集群,并启用了本地存储提供器。

apiVersion: apps/v1
kind: StatefulSet
metadata:
  namespace: ps
  name: ps-r
spec:
  selector:
    matchLabels:
      infrastructure: ps
      application: redis
      environment: staging
  serviceName: hl-ps-redis
  replicas: 1
  template:
    metadata:
      namespace: ps
      labels:
        infrastructure: ps
        application: redis
        environment: staging
    spec:
      terminationGracePeriodSeconds: 10
      containers:
        - name: ps-redis
          image: 1234567890.dkr.ecr.us-west-2.amazonaws.com/redis:latest
          ports:
            - containerPort: 6379
              protocol: TCP
              name: redis
          volumeMounts:
            - name: ps-redis-redis
              mountPath: /data
  volumeClaimTemplates:
    - metadata:
        namespace: project-stock
        name: ps-redis-redis
        labels:
          infrastructure: ps
          application: redis
          environment: staging
      spec:
        storageClassName: local-storage
        accessModes: [ "ReadWriteOnce" ]
        resources:
          requests:
            storage: 1Gi
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: ps-redis-redis-ps-r-0
  namespace: project-stock
  selfLink: >-
    /api/v1/namespaces/project-stock/persistentvolumeclaims/ps-redis-redis-ps-r-0
  uid: 2fac22e3-c3dc-4cbf-aeed-491f12b430e8
  resourceVersion: '384774'
  creationTimestamp: '2020-11-10T08:25:39Z'
  labels:
    application: redis
    environment: staging
    infrastructure: ps
  finalizers:
    - kubernetes.io/pvc-protection
  managedFields:
    - manager: kube-controller-manager
      operation: Update
      apiVersion: v1
      time: '2020-11-10T08:25:39Z'
      fieldsType: FieldsV1
      fieldsV1:
        'f:metadata':
          'f:labels':
            .: {}
            'f:application': {}
            'f:environment': {}
            'f:infrastructure': {}
        'f:spec':
          'f:accessModes': {}
          'f:resources':
            'f:requests':
              .: {}
              'f:storage': {}
          'f:storageClassName': {}
          'f:volumeMode': {}
        'f:status':
          'f:phase': {}
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
  storageClassName: local-storage
  volumeMode: Filesystem
status:
  phase: Pending
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: local-storage
  selfLink: /apis/storage.k8s.io/v1/storageclasses/local-storage
  uid: c29adff6-a8a2-4705-bb3b-155e1f7c13a3
  resourceVersion: '1892'
  creationTimestamp: '2020-11-09T12:09:56Z'
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: >
      {"apiVersion":"storage.k8s.io/v1","kind":"StorageClass","metadata":{"annotations":{},"name":"local-storage"},"provisioner":"kubernetes.io/no-provisioner","volumeBindingMode":"WaitForFirstConsumer"}
  managedFields:
    - manager: kubectl
      operation: Update
      apiVersion: storage.k8s.io/v1
      time: '2020-11-09T12:09:56Z'
      fieldsType: FieldsV1
      fieldsV1:
        'f:metadata':
          'f:annotations':
            .: {}
            'f:kubectl.kubernetes.io/last-applied-configuration': {}
        'f:provisioner': {}
        'f:reclaimPolicy': {}
        'f:volumeBindingMode': {}
provisioner: kubernetes.io/no-provisioner
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer

我们做错了什么?

共有1个答案

斜单鹗
2023-03-14

我们最终使用https://github.com/rancher/local-path-provisioner解决了这个问题,它更容易得到正确的配置

 类似资料:
  • 然后,我从Kubernetes-孵化器下载了Hostpath外部供应器代码,并在同一节点上本地构建了它。为provisioner构建的docker映像已经成功,我甚至可以在相同的位置使用pod.yaml实例化provisioner pod。豆荚运行良好: 然后,我按照project home的说明创建了存储类,存储类创建得很好: 下一步是从相同的位置使用claim.yaml创建PVC,但是PVC仍

  • 当我尝试使用读取此pod的日志时,它不会返回任何内容。如何查看日志以了解状态为“挂起”的原因?

  • 我使用两个Azure Ubuntu VM创建了Kubernetes集群。我能够使用Nodeport服务类型部署和访问Pod和部署。我还检查了名称空间中的Pod状态。POD的所有状态都显示为。但是,每当我向Loadbalancer提及服务类型时,它并没有创建Loadbalancer IP,它的状态总是显示为。我还为Nginx服务创建了一个入口控制器。但是,它并没有创建入口地址。在初始化Kuberne

  • 嗨,我是ReactorNetty的新手。 我正在尝试使用连接池通过TCP协议传输。因此,我在应用程序启动时构建了ConnectionProvider,并将其作为参数提供给TcpClient。 发送20次后,应用程序抛出 如果我删除。pendingAcquireMaxCount(200)和。pendingAcquireTimeout(持续时间秒(20))在构建连接提供程序时,它抛出 我想这是因为连接

  • 我正在尝试在kubernetes上部署nginx,kubernetes版本是V1.5.2,我已经部署了3个副本的nginx,下面是YAML文件, 现在我要在节点的端口30062上公开它的端口80,为此我在下面创建了一个服务,

  • 问题内容: 我有在执行过程中挂起的控制台应用程序。这是我的配置: 这是我的堆栈跟踪: 我只打开了一个锥形杯,但似乎没有泄漏。而且我也使用一个线程。除了内存使用率,我没有调整任何mysql设置。Mysql从控制台正常工作。为什么会发生这种情况?这是c3p0错误吗? 问题答案: 立即发生还是在一段时间后发生?也就是说,结帐最初是否成功,但随后却像这样挂起?如果是这样,它看起来像是连接泄漏。请尝试将c3