0

背景

我是 kubernetes 的新手,我正在尝试stable/prometheus在 AKS 集群上使用 helm 图表进行安装,并希望设置一个持久卷供它使用。

创建 AKS 群集时,它会将所有实际资源保留在资源组 MC_XXX_XXXX

  • 我通过 azure via azure portal 手动创建了 ABC-BLOB-STORAGE
  • 使用创建持久卷kubectl
  • 尝试使用值文件通过 helm 安装 prometheus

持久卷

apiVersion: storage.k8s.io/v1beta1
kind: StorageClass
metadata:
  name: azurefile
  annotations:
    storageclass.beta.kubernetes.io/is-default-class: "true"
  labels:
    kubernetes.io/cluster-service: "true"
    addonmanager.kubernetes.io/mode: EnsureExists
provisioner: kubernetes.io/azure-disk
parameters:
  skuName: Standard_LRS
  location: eastus
  storageAccount: ABC-BLOB-STORAGE

Values.YAML(与存储相关的片段看起来像)

prometheus:
    name: prometheus
    server:
      configMapOverrideName: prometheus-config
        persistentVolume:
          enabled: true
          storageClass: azurefile
          size: 10Gi

错误

当我使用 helm 安装 prometheus 时:

helm install stable/prometheus --name d02 -f values.yaml

错误:发布 d02 失败:persistentvolumeclaims “d02-prometheus-alertmanager”被禁止

  • 感觉 kubernetes 需要访问 blob 存储。我可以传入访问令牌,但不确定如何
4

1 回答 1

1

我不确定您是否可以安装一个PersistentVolume尚不存在的并自动配置它,我认为您需要先做一个PersistentVolumeClaim。声明从 启动卷的供应(或回收),卷StorageClass的秘密应在供应时自动创建。尝试以下

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: azurefile
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: azurefile
  resources:
    requests:
      storage: 10Gi

要在您的 pod 中使用声明,这样的事情应该可以工作。

prometheus:
    name: prometheus
    server:
      configMapOverrideName: prometheus-config
         volumeMounts:
         - mountPath: "/foo/mount_point"
           name: volume
         volumes:
           - name: volume
             persistentVolumeClaim:
               claimName: azurefile

以下:https ://docs.microsoft.com/en-us/azure/aks/azure-files-dynamic-pv

于 2018-02-16T00:02:55.167 回答