【问题标题】:How to use Prometheus in Kubernetes with AWS EBS?如何通过 AWS EBS 在 Kubernetes 中使用 Prometheus?
【发布时间】:2018-05-11 15:48:29
【问题描述】:

我创建了一个大小为 30 GiB 的 EBS 卷。制作了两个清单文件:

  • pv-ebs.yml
  • pvc-ebs.yml

在 pv-ebs.yml 中:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: ebs
spec:
  capacity:
    storage: 30Gi
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Recycle
  awsElasticBlockStore:
    fsType: ext4
    # The EBS volume ID
    volumeID: vol-111222333aaabbbccc

在 pvc-ebs.yml 中

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: prometheus-prometheus-alertmanager
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
  selector:
    matchLabels:
      release: "stable"

---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: prometheus-prometheus-server
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
  selector:
    matchLabels:
      release: "stable"

使用helm安装它:helm install --name prometheus stable/prometheus

但在 k8s 仪表板上,收到消息:

prometheus-prometheus-alertmanager-3740839786-np7kb
No nodes are available that match all of the following predicates:: NoVolumeZoneConflict (2).

prometheus-prometheus-server-3176041168-m3w2g
PersistentVolumeClaim is not bound: "prometheus-prometheus-server" (repeated 2 times)

我的方法有什么问题吗?

豆荚

持久卷

【问题讨论】:

    标签: kubernetes storage prometheus amazon-ebs kubernetes-helm


    【解决方案1】:

    创建 EBS 时,它是在特定 AZ 中配置的,不能跨区域挂载。如果您在同一区域中没有可用于调度 pod 的节点,它将不会启动。

    另一件事是,使用正确配置的 kube 集群,您根本不需要自己创建 PV,只需创建 PVC 并让dynamic provisioning 完成即可。

    【讨论】:

    • 我可以从 Rancher 目录安装Prometheus。然后安装Kubernetes
    【解决方案2】:

    如果您使用 KOP 安装集群,则会自动为您创建 PV。只需等待几分钟并刷新您的屏幕。错误会消失。

    如果您以另一种方式设置集群,您希望在 AWS ec2 create-volume 中创建卷,然后创建 PV,然后当 helm 运行时,它将声明这些 PV。

    【讨论】:

      猜你喜欢
      • 2018-12-12
      • 2019-03-22
      • 2020-03-03
      • 2021-11-18
      • 2018-04-23
      • 2021-04-24
      • 2020-01-12
      • 2021-11-06
      • 1970-01-01
      相关资源
      最近更新 更多