加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

部署service-level-operator能发挥怎样的作用?

发布时间:2021-05-29 07:12:10 所属栏目:教程 来源:互联网
导读:前提:在Kubernetes集群中部署好Prometheus,我这里是采用Prometheus-Operator方式进行部署的。 (1)首先创建RBAC apiVersion:v1 kind:ServiceAccount metadata: name:service-level-operator namespace:monitoring labels: app:service-level-operator com

前提:在Kubernetes集群中部署好Prometheus,我这里是采用Prometheus-Operator方式进行部署的。

(1)首先创建RBAC

apiVersion: v1 

kind: ServiceAccount 

metadata: 

  name: service-level-operator 

  namespace: monitoring 

  labels: 

    app: service-level-operator 

    component: app 

 

--- 

apiVersion: rbac.authorization.k8s.io/v1 

kind: ClusterRole 

metadata: 

  name: service-level-operator 

  labels: 

    app: service-level-operator 

    component: app 

rules: 

  # Register and check CRDs. 

  - apiGroups: 

      - apiextensions.k8s.io 

    resources: 

      - customresourcedefinitions 

    verbs: 

      - "*" 

 

  # Operator logic. 

  - apiGroups: 

      - monitoring.spotahome.com 

    resources: 

      - servicelevels 

      - servicelevels/status 

    verbs: 

      - "*" 

 

--- 

kind: ClusterRoleBinding 

apiVersion: rbac.authorization.k8s.io/v1 

metadata: 

  name: service-level-operator 

subjects: 

  - kind: ServiceAccount 

    name: service-level-operator 

    namespace: monitoring  

roleRef: 

  apiGroup: rbac.authorization.k8s.io 

  kind: ClusterRole 

  name: service-level-operator 

(2)然后创建Deployment

apiVersion: apps/v1  

kind: Deployment 

metadata: 

  name: service-level-operator 

  namespace: monitoring 

  labels: 

    app: service-level-operator 

    component: app 

spec: 

  replicas: 1 

  selector: 

    matchLabels: 

      app: service-level-operator 

      component: app 

  strategy: 

    rollingUpdate: 

      maxUnavailable: 0 

  template: 

    metadata: 

      labels: 

        app: service-level-operator 

        component: app 

    spec: 

      serviceAccountName: service-level-operator 

      containers: 

        - name: app 

          imagePullPolicy: Always 

          image: quay.io/spotahome/service-level-operator:latest 

          ports: 

            - containerPort: 8080 

              name: http 

              protocol: TCP 

          readinessProbe: 

            httpGet: 

              path: /healthz/ready 

              port: http 

          livenessProbe: 

            httpGet: 

              path: /healthz/live 

              port: http 

          resources: 

            limits: 

              cpu: 220m 

              memory: 254Mi 

            requests: 

              cpu: 120m 

              memory: 128Mi 

(3)创建service

apiVersion: v1 

kind: Service 

metadata: 

  name: service-level-operator 

  namespace: monitoring 

  labels: 

    app: service-level-operator 

    component: app 

spec: 

  ports: 

    - port: 80 

      protocol: TCP 

      name: http 

      targetPort: http 

  selector: 

    app: service-level-operator 

    component: app 

(4)创建prometheus serviceMonitor

apiVersion: monitoring.coreos.com/v1 

kind: ServiceMonitor 

metadata: 

  name: service-level-operator 

  namespace: monitoring 

  labels: 

    app: service-level-operator 

    component: app 

    prometheus: myprometheus 

spec: 

  selector: 

    matchLabels: 

      app: service-level-operator 

      component: app 

  namespaceSelector: 

    matchNames: 

      - monitoring  

  endpoints: 

    - port: http 

      interval: 10s 

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读