Kubernetes用operator部署prometheus

Operator 模式

Operator 是 Kubernetes 的扩展软件,它利用 定制资源 管理应用及其组件。 Operator 遵循 Kubernetes 的理念,特别是在控制器 方面。

Operator的场景就是专门给有状态应用而设计的。

为什么只给有状态应用?

因为无状态应用简单啊,没有服务间的交互,要再开一家火锅店,跟k8s说一声,开一家一样的就可以了。

有状态不一样,你开了一家火锅店以后,客户的信息怎么同步,就涉及到与别的火锅店交涉的问题,当然你也可以写个别的程序做这个数据同步的操作。

但是operator做的事情就是能自动识别到火锅店客户信息的不对称,主动同步,你只用告诉operator我要再开一家连锁火锅店就好了。

Kubernetes 上的 Operator 

Kubernetes 为自动化而生。无需任何修改,你即可以从 Kubernetes 核心中获得许多内置的自动化功能。 你可以使用 Kubernetes 自动化部署和运行工作负载, 甚至 可以自动化 Kubernetes 自身。

Kubernetes 控制器 使你无需修改 Kubernetes 自身的代码,即可以扩展集群的行为。 Operator 是 Kubernetes API 的客户端,充当 定制资源 的控制器

官网文档:https://kubernetes.io/zh/docs/concepts/extend-kubernetes/operator/

部署prometheus

1.1、下载

git clone -b release-0.7 --single-branch https://github.com/coreos/kube-prometheus.git

1.2、安装operator

[root@k8s-master01 ~]# cd /root/kube-prometheus/manifests/setup
[root@k8s-master01 setup]# kubectl create -f .

# 查看是否Running
[root@k8s-master01 ~]# kubectl get pod -n monitoring
NAME                                   READY   STATUS        RESTARTS   AGE
prometheus-operator-848d669f6d-bz2tc   2/2     Running       0          4m16s

1.3、安装Prometheus

[root@k8s-master01 ~]# cd /root/kube-prometheus/manifests
[root@k8s-master01 manifests]# kubectl create -f .

1.4、创建ingress

[root@k8s-master01 manifests]# cat svc-ingress.yal 
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: prom-ingresses
  namespace: monitoring
spec:
  rules:
  - host: alert.test.com
    http:
      paths:
      - backend:
          serviceName: alertmanager-main
          servicePort: 9093
        path: /
  - host: grafana.test.com
    http:
      paths:
      - backend:
          serviceName: grafana
          servicePort: 3000
        path: /
  - host: prom.test.com
    http:
      paths:
      - backend:
          serviceName: prometheus-k8s
          servicePort: 9090
        path: /





[root@k8s-master01 manifests]# kubectl get ingress -n monitoring 
NAME             CLASS    HOSTS                                           ADDRESS        PORTS   AGE
prom-ingresses   <none>   alert.test.com,grafana.test.com,prom.test.com   10.96.107.62   80      23h

alert.test.com(报警)

prom.test.com(普罗米修斯)

grafana.test.com(图形展示)

猜你喜欢

转载自blog.csdn.net/heian_99/article/details/114953970