基於 Kubernetes v1.14.0 之 prometheus-operator 部署

1、部署準備

說明:所有的容器組都運行在monitoring 命名空間
本文參考https://github.com/coreos/kube-prometheus
由於官方維護的版本在現有的部署環境出現問題所以下面做了一些修改及變更不影響整體效果
prometheus-operator 項目使用官方yaml 不做任何修改

2、prometheus-operator相關服務的yaml 準備

2.1、下載官方yaml

mkdir kube-prometheus 
cd kube-prometheus 
git clone https://github.com/coreos/kube-prometheus
cd kube-prometheus/manifests
mkdir prometheus-operator
mv 0*  prometheus-operator

2.2、創建 prometheus-operator 服務及Namespace

cd prometheus-operator
kubectl apply -f .  

2.3 查看prometheus-operator 狀態

[root@jenkins prometheus-operator]# kubectl get pod -n monitoring -o wide | grep prometheus-operator    
prometheus-operator-747d7b67dc-vr4rd      1/1     Running   0          35d     10.65.1.135     node02    <none>           <none>
[root@jenkins prometheus-operator]# kubectl get service -n monitoring | grep prometheus-operator  
prometheus-operator       ClusterIP   None            <none>        8080/TCP            35d
http://10.65.1.135:8080/metrics
如果正常打開證明prometheus-operator服務 正常
驗證prometheus-operator api 接口是否創建 ServiceMonitor 接口是否正常
[root@jenkins prometheus-operator]# kubectl get ServiceMonitor -n monitoring | grep prometheus-operator             
prometheus-operator       35d
[root@jenkins prometheus-operator]# kubectl api-versions| grep monitoring
monitoring.coreos.com/v1

[root@jenkins prometheus-operator]# kubectl get --raw "/apis/monitoring.coreos.com/v1"|jq .
{
  "kind": "APIResourceList",
  "apiVersion": "v1",
  "groupVersion": "monitoring.coreos.com/v1",
  "resources": [
    {
      "name": "servicemonitors",
      "singularName": "servicemonitor",
      "namespaced": true,
      "kind": "ServiceMonitor",
      "verbs": [
        "delete",
        "deletecollection",
        "get",
        "list",
        "patch",
        "create",
        "update",
        "watch"
      ],
      "storageVersionHash": "JLhPcfa+5xE="
    },
    {
      "name": "alertmanagers",
      "singularName": "alertmanager",
      "namespaced": true,
      "kind": "Alertmanager",
      "verbs": [
        "delete",
        "deletecollection",
        "get",
        "list",
        "patch",
        "create",
        "update",
        "watch"
      ],
      "storageVersionHash": "NshW3zg1K7o="
    },
    {
      "name": "prometheusrules",
      "singularName": "prometheusrule",
      "namespaced": true,
      "kind": "PrometheusRule",
      "verbs": [
        "delete",
        "deletecollection",
        "get",
        "list",
        "patch",
        "create",
        "update",
        "watch"
      ],
      "storageVersionHash": "RSJ8iG+KDOo="
    },
    {
      "name": "prometheuses",
      "singularName": "prometheus",
      "namespaced": true,
      "kind": "Prometheus",
      "verbs": [
        "delete",
        "deletecollection",
        "get",
        "list",
        "patch",
        "create",
        "update",
        "watch"
      ],
      "storageVersionHash": "C8naPY4eojU="
    }
  ]
}
kubectl get --raw "/apis/monitoring.coreos.com/v1/servicemonitors"|jq .
查看添加的ServiceMonitor
如果一切正常證明prometheus-operator  部署正常

下一篇: Kubernetes 生產環境安裝部署 基於 Kubernetes v1.14.0 之 Alertmanager 部署

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章