10

我正在使用kubeadm部署单节点 kubernetes 1.11 集群。我找不到servicemonitor资源。

➜  kube-prometheus git:(master) ✗ kubectl get servicemonitor
error: the server doesn't have a resource type "servicemonitor"

➜  kube-prometheus git:(master) ✗ kubectl create -f manifests/prometheus-serviceMonitor.yaml
error: unable to recognize "manifests/prometheus-serviceMonitor.yaml": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"

如何servicemonitor启用kubeadm

4

2 回答 2

7

ServiceMonitor资源不属于 Kubernetes 本身。它是一个自定义资源,是 Prometheus 运算符的一部分,如此处所述

确保您已经预先安装了 Prometheus 操作符(包括自定义资源)以启用创建 ServiceMonitor 对象。

于 2018-06-30T10:28:22.770 回答
1

kubectl create -f manifests/prometheus-serviceMonitor.yaml 尝试为 prometheus 创建资源类型的 ServiceMontor。但是您尚未创建该自定义资源类型。因此,首先使用自定义资源定义 (CRD) 创建 CustomResource ServiceMonitor。您可以使用以下命令

kubectl create -f manifests/0prometheus-operator-0servicemonitorCustomResourceDefinition.yaml

但是,如果您尝试建立kube-prometheus或prometheus-operator的任何其他子项目。您可以通过在文件夹级别运行所有部署来部署 kube-prometheus 堆栈,如下所示。

kubectl create -f manifests/
于 2018-12-20T21:58:24.473 回答