开发者社区> 问答> 正文

请教下,ACK服务的deployment里面的pod 实例能挂载基于块存储的PV和PVC吗

展开
收起
游客tu52mvpskqhze 2023-11-16 18:16:18 89 0
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    ACK服务是阿里巴巴提供的基于Kubernetes的容器服务。在其之上创建的应用程序是可以使用基于块存储的Persistent Volume Claim (PVC) 和 Persistent Volume (PV)的。
    在ACK服务上创建的应用程序可以将 PVC 绑定到 PV 上,使应用可以在不同节点间迁移时保持状态。您可以通过 Kubernetes 原生 API 或 ACK 控制台创建 PV 和 PVC,并将它们挂载到 Pod 中。

    2023-11-17 13:59:07
    赞同 展开评论 打赏
  • 是的,Alibaba Cloud Kubernetes Service (ACK) 支持将 Persistent Volumes (PVs) 和 Persistent Volume Claims (PVCs) 挂载到 Deployment 中的 Pod 实例。你只需要在创建 PV 和 PVC 时指定相应的存储类(StorageClass),然后在创建 Pod 时引用对应的 PVC 即可。

    需要注意的是,目前 ACK 服务支持的存储类型包括云盘、OSS 和 OSS-NAS,但不包括块存储。因此,你不能直接使用基于块存储的 PV 和 PVC。但是,你可以使用阿里云提供的 Container Storage for Kubernetes (CSI) 插件,该插件支持将块存储作为存储源,从而在 Kubernetes 中使用块存储。

    关于如何使用 CSI 插件,你可以参考阿里云官方的文档:https://help.aliyun.com/document_detail/119308.html

    2023-11-17 09:00:38
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    PV(Persistent Volume)和PVC(Persistent Volume Claim)来挂载到ACK服务的deployment里面的pod实例。
    PV是Kubernetes中的持久化存储卷,它是一种存储资源,可以被多个pod实例挂载和使用。PVC则是用来请求PV资源的一种机制,每个PVC都会绑定到一个PV上,并且只有在pod实例使用PVC时,PV才会被真正使用。
    要在ACK服务的deployment里面使用PV和PVC,你需要先在Kubernetes集群中创建一个PV,然后创建一个PVC,最后将PVC绑定到PV上。在创建PV和PVC时,需要指定存储类型为"Block",这样才能够挂载到基于块存储的存储设备上。
    创建PV的示例YAML文件如下:

    apiVersion: v1
    kind: PersistentVolume
    metadata:
    name: my-block-pv
    spec:
    capacity:
    storage: 10Gi
    accessModes:

    - Block
    

    persistentVolumeReclaimPolicy: Retain
    nfs:
    path: /path/to/nfs/share
    server: nfs-server
    CopyCopy

    创建PVC的示例YAML文件如下:

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
    name: my-block-pvc
    spec:
    accessModes:

    - Block
    

    resources:
    requests:
    storage: 10Gi
    volumeName: my-block-pv
    CopyCopy

    创建deployment的示例YAML文件如下:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: my-block-deployment
    spec:
    replicas: 3
    selector:
    matchLabels:
    app: my-block-app
    template:
    metadata:
    labels:
    app: my-block-app
    spec:
    containers:

      - name: my-block-container
        image: my-block-image
        volumeMounts:
        - name: my-block-volume
          mountPath: /mnt/block-storage
      volumes:
      - name: my-block-volume
        persistentVolumeClaim:
          claimName: my-block-pvc
    

    CopyCopy

    在这个例子中,我们创建了一个名为"my-block-pv"的PV,容量为10Gi,使用NFS作为后端存储。然后创建了一个名为"my-block-pvc"的PVC,请求使用"my-block-pv"这个PV,并设置访问模式为"Block"。最后,在deployment中,我们将"my-block-pvc"挂载到了一个名为"my-block-container"的容器中,并设置了卷挂载路径为"/mnt/block-storage"。

    2023-11-17 08:57:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
ACK 云原生弹性方案—云原生时代的加速器 立即下载
ACK集群类型选择最佳实践 立即下载
企业运维之云原生和Kubernetes 实战 立即下载

相关镜像