SpringBoot 集成 Spring Data Mongodb 操作 MongoDB 详解

MongoDB 是现在常用的 NoSQL 数据库,采用了键值对(JSON)方式存储数据,文档式的存储方式对开发者非常友好,并且 MongoDB 也支持副本集、分片等高可用,也提供多种数据查询方式。这里我们使用 SpringBoot 框架集成 Spring Data MongoDB 框架对 MongoDB 数据库中的数据进行操作,这里记录下这些操作示例。

Read more

Jenkins Pipeline 中使用 Kafka 插件将消息发送到 Kafka

在平时我们使用 Jenkins 执行任务构建时候会产生很多指标性数据,这些数据会输出到 Jenkins 日志中,在 Jenkins 中日志是存储到文件里面的,且数据量多我们收集起存储来不是很方便,很多时候我们只要部分指标关键数据,例如,用于统计任务构建时长的'开始时间'和'结束时间'、'任务执行次数'、'任务执行人'、'任务编号'等等。收集这些关系指标数据有很多方法,可以使用 logstash 插件将数据输入到 Elasticsearch 中,也可以输出到 Kafka 等应用处理后再存储,这里就是将数据输出到 Kafka 中,方便后续处理这些数据。这里介绍下如何安装与使用该插件。

Read more

安装 Helm3 管理 Kubernetes 应用

Helm 是一款能够帮助你管理 Kubernetes 应用的程序,使用起来类似于 Kubectl 工具,只需要通过简单的命令,就能部署复杂的应用程序。这里我们将安装 Helm 3.0 并记录这个安装过程。

Read more

Springboot 中使用 Gson 与 Fastjson 替换默认 Json 组件 Jackson

现在流行的 SpringBoot 是我们在日常开发中经常用的开源框架,它默认的 Json 解析器是基于 Jackson 的,有时候我们需要将这个默认 Json 解析器替换为 FastJson 或者 Gson,替换起来也很简单,只需要移除 Jackson 的配置,然后自定义一个 HttpMessageConverters 就可以完成该项操作。这里记录下这个过程,并且解决在使用 Gson 替换 Jackson 后 Swagger 无法正常使用的问题。

Read more

Jenkins Pipeline 中使用 Git 插件对项目进行 Pull 与 Push

在 Jnekins 安装后,一般都会默认安装上 Git 插件,在写 Pipeline 脚本时候,也经常使用 Git 插件从 Git 仓库拉取项目进行编译,可以说使用 Git 已经是日常化操作,如何使用 Git 插件从 Git 远程仓库拉取与推送代码更是常用命令,这里介绍下如果通过 Git 插件进行这些操作。

Read more

Traefik 路由规则及中间件 Traefik Middlewares 的配置

Traefik 是一款开源的边缘路由器,现在本人主要要作用于 kubernetes 中对外的网关,即 Ingress 路由器,可以很轻松的配置其路由规则。在配置路由规则过程中,我们经常要进行一些使用过程中,我们经常要在转发到对应后端服务时候进行一些加工,例如,限流、去除前缀、鉴权等等,对于这些需求 Traefik 提供了基于 CRD 的 Middlewares 中间件组件,里面可以灵活搭配多种功能对路由进行处理,这里我们简单介绍下。

Read more

解决 Kubernetes 中 Kubelet 组件报 failed to get cgroup 错误

最近查看 Kubelet 日志,发现日志中报 Failed to get system container stats for '/system.slice/docker.service',错误信息,而且是一直循环报,所以这里对该问题进行了查找与分析,并解决了该问题,所以这里记录一下。

Read more

CentOS7 升级内核版本

由于最近升级了 Kubernetes 版本,新版本对内核版本有要求,所以升级了 CentOS 系统的内核版本,这里记录一下这个过程。

Read more

解决 Kubernetes 中 Pod 无法正常域名解析问题分析与 IPVS parseIP Error 问题

最近将 Kubernetes 升级到 1.18.1 版本,不过升级完后,查看工作节点的部分 Pod 无法启动,查看消息全是 connetion timeout 的错误,且连接超时的地址大部分是以域名方式连接集群内部地址(ClusterIP),少部分是以域名方式连接集群外部地址,通过 IP 进行远程连接的应用倒是没有问题(例如,应用通过 IP 连接 MySQL),由此判断,很可能是 DNS 出现了问题于是一步步进行了问题分析,最后定位为 IPVS parse Error 导致的问题。这里记录下详细的 DNS 问题分析与解决过程。

Read more

Kubernetes 部署 Metrics Server 获取集群指标数据

Metrics Server 是 Kubernetes 集群核心监控数据的聚合器,可以通过 Metrics API 的形式获取 Metrics 数据,不过仅仅是获取指标的最新值,不对旧值进行存储,且不负责将指标转发到第三方目标。Metrics Server 还可以与 Kubectl 工具结合使用,提供 kubectl top 命令来展示集群中的指标数据,接下来我们开始部署 Metrics Server。

Read more