如何在 kubernetes 中挂载带有 Windows 容器的卷?

问题描述 投票:0回答:2

我正在尝试将持久卷安装到我的 Windows 容器中,但我总是收到此错误:

无法为 pod“mssql-with-pv-deployment-3263067711-xw3mx_default(....)”挂载卷:等待卷附加/挂载 pod“default”/“mssql-with-pv-deployment”超时已过期-3263067711-xw3mx”。未附加/未安装卷的列表=[blobdisk01]

我创建了一个 github gist,其中控制台输出为“get events”和“describe sc | pvc | po”也许有人会用它找到解决方案。

下面是我用于部署的脚本。

我的存储类别:

种类:存储类
api版本:storage.k8s.io/v1
元数据:
  名称:azure-disk-sc
配置者:kubernetes.io/azure-disk
参数:
  名称:Standard_LRS

我的持久卷声明:

api版本:v1
种类:持久卷声明
元数据:
  名称:azure-disk-pvc
规格:
  storageClassName:azure-disk-sc
  访问模式:
  - 读写一次
  资源:
    要求:
      存储:20Gi

以及我的容器的部署:

api版本:apps/v1beta1
种类:部署
元数据:
  名称:mssql-with-pv-deployment
规格:
  副本:1
  模板:
    元数据:
      标签:
        应用程序:mssql-with-pv
    规格:
      节点选择器:
        beta.kubernetes.io/os:Windows
      终止宽限期秒:10
      容器:
      - 名称:mssql-with-pv
        图片:testacr.azurecr.io/sql/mssql-server-windows-developer
        端口:
        - 集装箱端口:1433
        环境:
        - 名称:ACCEPT_EULA
          值:“Y”
        - 名称:SA_PASSWORD
          值来自:
            秘密密钥参考:
              名称:mssql
              密钥:SA_PASSWORD
        体积安装:
        - 安装路径:“c:/卷”
          名称:blobdisk01
      卷:
      - 名称:blobdisk01
        持久卷声明:
          声明名称:azure-disk-pvc
---
api版本:v1
种类: 服务
元数据:
  名称:mssql-with-pv-deployment
规格:
  选择器:
    应用程序:mssql-with-pv
  端口:
    - 协议:TCP
      端口:1433
      目标端口:1433
  类型:负载均衡器

我做错了什么?还有其他方法来安装卷吗?

azure docker kubernetes azure-container-service
2个回答
2
投票

您将需要在 D: 驱动器中创建一个新卷,看起来 Windows 容器不支持 C: 中的文件夹,请参阅此处:

https://github.com/kubernetes/kubernetes/issues/65060

演示: https://github.com/andyzhangx/demo/tree/master/windows/azuredisk


0
投票

我会尝试:

  1. 将 API 版本更改为 v1:https://kubernetes.io/docs/concepts/storage/storage-classes/#azure-disk
  2. kubectl get events
    看看你是否有更详细的错误(我使用NFS观看事件时可以找出原因)
  3. 也许是这个bug,我在这篇post中读过?
© www.soinside.com 2019 - 2024. All rights reserved.