在Monitoring.coreos.com/v1中找不到ServiceMonitor

时间:2018-06-29 06:28:29

标签: kubernetes prometheus-operator

我正在使用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

2 个答案:

答案 0 :(得分:4)

ServiceMonitor资源不属于Kubernetes本身。这是自定义资源,属于Prometheus运算符as described here的一部分。

确保事先安装了Prometheus操作符(包括自定义资源)以启用创建ServiceMonitor对象的功能。

答案 1 :(得分:1)

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

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

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

kubectl create -f manifests/