栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

k8s

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

k8s

k8s_day10_03

helm 与operator 的关系

虽然operator 与helm 都可以方便我们部署应用。但是它们还有本质的区别。

部署etcd 集群时 ,只要编写etcd-operator 所引进的etcdCluster 资源,指明几个节点。就能帮助我们创建集群

helm 除了部署之外,没有别的其他作用,只是一个纯粹的部署工具,它底层依赖的是控制器或者是operator 。

但是operator 部署只是它的功能之一,它的核心作用是确保资源符合k8s api资源规范的基础上,确保用户定义的实际状态符合期望状态 ,它会含有大量的业务代码, 来确保声明池的内容得以实现。

部署Prometheus 的2种方式

helm部署原生版Prometheus Server, 要借助于StatefulSet完成;helm部署prometheus-operator, 再operator部署prometheus server ,好处是operator 提供了CRD,提供了更多的功能 手动部署prometheus

未完成

 global:
       scrape_interval: 10s   #指标抓取间隔
       scrape_timeout: 10s  #指标抓取时长
       evaluation_interval: 10s   #多久重载rules
       
         - role: endpoints
       #只是为了抓apiserver 自己的
       bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token #联系到api的认证信息
        - source_labels: [__meta_kubernetes_namespace,__meta_kubernetes_service_name,__meta_kubernetes_endpoint_port_name]
         action: keep
         regex: default;kubernetes;https
         # 意义是 如果采集的ep资源标签 ns 是defaut,svc 是kubernetes,ep是http 协议  就保留下来
         #保留 k8s 在default 名称空间访问的端点
         
         
         
         
          - job_name: kubernetes-cadvisor
       #cadvisor 是kubelet 内置的内建的容器指标输出程序。每一个kubelet 在节点上管理着大量的pod,cadvisor 负责统计pod 使用的内存、cpu、等等 并且把它暴露出来

kubelet 所能收集的节点指标,是直接发给apiserver保存的。所以apiserver 本身就是一个指标服务器。它存了很多指标,因此promethus 抓取节点指标时不用 kubelet 进程上去抓,而是去连apiserver 去抓。为什么要到apiserver 上去抓 ,因为你不可能认证到每一个kubelet 上,主要是因为node 太多的话认证太麻烦。

真正的指标数据一定是在kubelet 上没错,但是kubelet 自身是要做双向认证的,你要想到kubelet 上抓指标必须认证到kubelet 上才行 而apiserver 是可以直接认证到kubelet 上去的。 https://kubernetes.default.svc:443/api/v1/nodes/node01/proxy/metrics 这个链接所代表的意思是 以apiserver 代理认证到这个节点上 去抓取指标数据的。 也可以在每个节点装exporter 去抓。这2者 抓取重叠部分指标的时候可以靠exporter 去抓,可以减轻apiserver 压力。 但是,有些指标二者是不重叠的,所以有人 同时采取2种方式

helm 部署prometheus
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update

更改value.yaml 的值。

主要改 使用的sc 、ingress 等等

 server:
 
 ingress:
    enabled: true
    annotations: {}
    kubernetes.io/ingress.class: nginx
    extraLabels: {}
    hosts:
      - mon.magedu.com
[root@node01 tmp]# helm  install prom  prometheus-community/prometheus  -f /tmp/prom-values.yaml  -n monitoring
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/737374.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号