rancher导入集群
导入集群 进入之后选择导入已有集群,随后进入此页面,点击创建 对于自签证书选择第二项,复制,然后在k3s-server节点执行 问题error: no objects passed to apply 这里的问题主要是无法连接到部署Rancher的主机,无法获取yaml文件导致的。可以将yaml文件直接下载到k3s-server,再手动执行kubectl apply -f {xxx}.yaml (针对配置了--tls-san参数 - 自签证书)可能会执行失败,提示域名rancher.k3s.cn 不识别(前面的证书域名以及对应ip) 更新资源的字段 1234567891011121314151617181920212223242526272829303132333435(because the cert was made by myself,so i need configured the hosts, otherwise it does not know my cert's domain name,unless you used ip in...
Orange网关容器化改造
orange网关传统集群部署模式1、在orange.conf的 plugins中加入node,表示开启node插件(容器集群节点管理插件) 12345678910111213141516171819202122232425262728 "plugins": [ "stat", "headers", "monitor", "redirect", "rewrite", "rate_limiting", "property_rate_limiting", "basic_auth", "key_auth", "jwt_auth", "hmac_auth", "signat...
SpringBoot+K8S中的滚动发布、优雅停机、弹性伸缩、应用监控、配置分离
参考: https://mp.weixin.qq.com/s/D8efjj9ZhLyEu7zEqWvJiQ https://stackoverflow.com/questions/71860152/actuator-health-endpoint-returns-out-of-service-when-all-groups-are-up https://docs.spring.io/spring-boot/docs/2.6.x/reference/htmlsingle/#actuator.endpoints.kubernetes-probes 本文使用 K8s + SpringBoot 实现零宕机发布:健康检查 + 滚动更新 + 优雅停机 + 弹性伸缩 + Prometheus监控 + 配置分离(镜像复用) 配置健康检查 健康检查类型:就绪探针(readiness)+ 存活探针(liveness) 探针类型:exec(进入容器执行脚本)、tcpSocket(探测端口)、httpGet(调用接口) 业务层面项目依赖 pom.xml 1234<dependency>...
自定义监控指标开发(六):精简Prometheus指标减少资源占用
前言随着 Prometheus 监控的组件、数量、指标越来越多,Prometheus 对计算性能的要求会越来越高,资源占用也会越来越高。 在这种情况下,要优化 Prometheus 性能, 优化存储占用. 第一时间想到的可能是各种 Prometheus 的兼容存储方案, 如 Thanos 或 VM、Mimir 等。但是实际上虽然集中存储、长期存储、存储降采样及存储压缩可以一定程度解决相关问题,但是治标不治本。 真正的本,还是在于指标量(series)过于庞大。 治本之法,应该是减少指标量。有 2 种办法: 解决高基数问题 根据实际使用情况,只保留(keep)展示(Grafana Dashboards)和告警(prometheus rules)会用到的指标。 高基数问题什么是基数(Cardinality)?基数的 基本定义 是指一个给定集合中的元素的数量。 在Prometheus中指代series 的基数 (High Cardinality) 在 Prometheus 和可观察性的世界里,标签基数 是非常重要的,因为它影响到你的监控系统的性能和资源使用。 下面这张...
自定义监控指标开发(五):整合Springboot和Prometheus实现自定义指标
我在第二章中有介绍使用koa整合Prometheus自定义指标,这里记录下整合Springboot和Prometheus实现自定义指标 要在Spring Boot中使用Micrometer-registry-prometheus记录QPS和响应时间,可以按照以下步骤操作 Spring-boot-starter-actuatorSpringBoot中的spring-boot-starter-actuator依赖已经集成了对Micrometer的支持,其中的metrics端点的很多功能就是通过Micrometer实现的,prometheus端点默认也是开启支持的,实际上actuator依赖的spring-boot-actuator-autoconfigure中集成了对很多框架的开箱即用的API,其中prometheus包中集成了对Prometheus的支持,使得使用了actuator可以轻易地让项目暴露出prometheus端点,使得应用作为Prometheus收集数据的客户端,Prometheus(服务端软件)可以通过此端点收集应用中Micrometer的度量数据。 整合M...
自定义监控指标开发(三):Grafana配置及使用
介绍Grafana 是一款采用 go 语言编写的开源应用,可以从Elasticsearch,Prometheus,Graphite,InfluxDB等各种数据源中获取数据,并通过精美的图形将其可视化。 除了Prometheus的AlertManager 可以发送报警,Grafana 同时也支持告警。Grafana 可以无缝定义告警在数据中的位置,可视化的定义阈值,并可以通过钉钉、email等平台获取告警通知。最重要的是可直观的定义告警规则,不断的评估并发送通知。 由于Grafana alert告警比较弱,大部分告警都是通过Prometheus Alertmanager进行告警. 安装见:https://github.com/behappy-project/behappy-docker-application/tree/master/grafana 图表配置 在时序图表配置场景下,我们需要核心关注配置的有: Metrics: promQL查询语句【注:当使用rancher部署方式时,此处编写会有乱码情况,解决办法是在PrometheusUI中编写粘贴到这里】 Legen...
自定义监控指标开发(二):Prometheus介绍及PromQL的使用
介绍Prometheus是一套成熟且流行的系统和服务监控系统,它几乎满足了监控的所有能力。 Grafana, 它和Prometheus相比更侧重的是图形化展示,有强大、灵活的仪表盘体系,我们会把基于Prometheus收集的数据作为数据源导入到Grafana。 监控模式目前,监控系统采集指标有两种方式,一种是『推』,另一种就是『拉』: 推的代表有 ElasticSearch,InfluxDB,OpenTSDB 等,需要你从程序中将指标使用 TCP,UDP 等方式推送至相关监控应用,只是使用 TCP 的话,一旦监控应用挂掉或存在瓶颈,容易对应用本身产生影响,而使用 UDP 的话,虽然不用担心监控应用,但是容易丢数据。 拉的代表,主要代表就是 Prometheus,让我们不用担心监控应用本身的状态。而且可以利用 DNS-SRV 或者 Consul 等服务发现功能就可以自动添加监控。 如何监控Prometheus 监控应用的方式非常简单,只需要进程暴露了一个用于获取当前监控样本数据的 HTTP 访问地址。这样的一个程序称为Exporter,Exporter 的实例称为一个 Target...
自定义监控指标开发(四):配合K8s收集服务指标信息
介绍 在Kubernetes中,Prometheus Operator可以通过两种方式自动发现监控目标:PodMonitor和ServiceMonitor。PodMonitor用于监控由单个Pod定义的服务,而ServiceMonitor用于监控Kubernetes Service中的所有Pod。 要使用PodMonitor和ServiceMonitor,需要在Kubernetes中定义它们,然后Prometheus Operator将从这些定义中自动发现和创建监控目标。 在Kubernetes中,Prometheus Operator可以通过两种方式自动发现监控目标:PodMonitor和ServiceMonitor。PodMonitor用于监控由单个Pod定义的服务,而ServiceMonitor用于监控Kubernetes Service中的所有Pod。 要使用PodMonitor和ServiceMonitor,需要在Kubernetes中定义它们,然后Prometheus Operator将从这些定义中自动发现和创建监控目标。 以下是如何使用PodMonitor和Ser...
自定义监控指标开发(一):基于Docker搭建Prometheus+Grafana
摘自:https://juejin.cn/post/7097166804044218405 安装运行Prometheus(docker版)Grafana是一个开源的功能丰富的数据可视化平台,通常用于时序数据的可视化。它内置了多种数据源的支持 下载镜像包123docker pull prom/node-exporterdocker pull prom/prometheusdocker pull grafana/grafana 启动node-exporter12345docker run -d -p 9100:9100 \ -v "/proc:/host/proc:ro" \ -v "/sys:/host/sys:ro" \ -v "/:/rootfs:ro" \ prom/node-exporter 访问url: http://127.0.0.1:9100/metrics 效果如下: 这些都是收集到的数据,有了它就可以做数据展示了。 启动prometheus新建目录 prometheus,编辑配置文件p...
利用fabric8结合git-hook动态配置k8s资源
背景 在多分支并行开发的集群下,新建分支以及删除分支都需要开发人员手动维护Istio/K8s的资源对象 目的 结合git hook -》 sync程序 -》 kubernetes API 流程,自动维护k8s以及istio资源对象,减少成本,提高开发效率 技术栈GitLab Api 使用GitLab Api,获取项目分支信息 123456 <!-- https://mvnrepository.com/artifact/org.gitlab/java-gitlab-api --><dependency> <groupId>org.gitlab</groupId> <artifactId>java-gitlab-api</artifactId> <version>${gitlab.version}</version></dependency> gitlab api认证 123456789101112131415161...
