我正在使用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
?
答案 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-prometheus或prometheus-operator的任何其他子项目。您可以通过在以下文件夹级别运行所有部署来部署kube-prometheus堆栈。
kubectl create -f manifests/