自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 MinIO

其他操作系统参考:https://www.minio.org.cn/docs/minio/linux/operations/install-deploy-manage/deploy-minio-single-node-single-drive.html#minio-snsd。提供了企业级别的性能、可用性和扩展性,支持纠删码配置,可以容忍多达一半的节点或者驱动器的丢失,同时继续提供读操作。不建议使用san、nas、nfs等网络存储,直接存储的性能能远高于网络存储,强烈推荐使用NVMe、SSD等存储。

2024-07-03 17:02:50 300

原创 MongoDB查询

前面的{}中为匹配条件,后面{}中的为要显示的键值,1为显示,由于_id是默认会显示的,可以通过0来不显示。更加复杂的查询,“$elemMatch”对内嵌文档进行分组,只有在对一个内嵌文档中的多个键操作时才会用到。null可以将值等于空的匹配出来,也可以将没有这个键的文档匹配出来。skip会跳过定义的前面的匹配数量,下面为不显示前三个的文档。比如查询一个数值范围,大于等于5,小于等于12的。or”更加通用,可以在多个键中查询给定的值。类似的还有“$nin”,代表不包含。可以用来查询一个键的多个值,

2024-06-19 11:01:46 668

原创 MongoDB基础知识

登录mongodb。

2024-06-18 16:25:43 477

原创 记录一次prometheus因时区不同导致的无法获取数据问题

一、故障出现原因prometheus机器压力过大,内存耗尽,负载飙高,导致无法登录;于是从公有云web界面进行重启,重启后内存还是不足,负载很快升高;对机器进行配置变更,由4C+8G升级为4C+16G;二、故障表现Grafana无法获取指标、但是可以通过curl命令获取远程目标主机暴露的指标;日志有以下报错level=warn ts=2024-05-23T11:04:46.410Z caller=scrape.go:1094 component="scrape manager" scrape_

2024-05-24 10:11:39 406

原创 kube-eventer事件收集器

kube-eventer是ACK维护的开源Kubernetes事件离线工具,可以将集群的事件离线到钉钉、SLS、EventBridge等系统,并提供不同等级的过滤条件,实现事件的实时采集、定向告警、异步归档。

2024-05-22 16:42:19 853

原创 集群外部Prometheus 监控Kubernetes 集群

很多都是通过在k8s集群内部安装prometheus来进行k8s的集群监控,但是在企业的云原生过程中,往往会出现多种类型(容器化与非容器化)的服务并存的情况,一般会将prometheus部署在k8s集群外部,但是最终还是希望可以将prometheus部署在k8s集群内,这样不仅可以充分运用服务器的资源,还避免授权相关的问题。但是还是会有大量的使用prometheus监控外部的k8s集群的需求。

2024-05-21 18:29:49 1198

原创 Kubernetes之network policy解析

提供了基于策略的网络控制,是针对 TCP、UDP 和 SCTP 协议在 IP 地址或端口层面控制网络流,用于隔离应用并减少攻击面。它使用标签选择器模拟传统的分段网络,并通过策略控制它们之间的流量以及来自外部的流量;目前基于实现,使用类似检查记录网络流量session从而决定流量是否阻断;因此它是状态检测防火墙。

2024-05-17 18:03:20 1117

原创 mongodb备份还原指南

MongoDB 提供的命令行实用程序mongodump和创建备份和恢复数据的过程。

2024-05-14 18:32:36 1058

原创 etcd集群恢复、单节点恢复操作手册

​ 生产环境中,经常遇到etcd集群出现单节点故障或者集群故障。针对这两种情况,进行故障修复。以下为介绍etcd的集群全部节点故障时,故障应急的恢复手册​ 生产环境中,经常遇到etcd集群出现单节点故障或者集群故障。针对这两种情况,进行故障修复。本文介绍etcd的单节点故障时,故障应急的恢复手册。

2024-05-13 16:29:52 1151

原创 fluent-bit入门

fluentd内存使用大于60MBfluent-bit内存使用约等于1MB。

2024-05-13 10:37:02 264

原创 tcpdump速查表

注意,这里不是筛选包大小,而是无论数据包多大,只截取指定的长度,单位是字节(bytes)。可以将端口也展示为数字,默认情况下是会把端口展示为协议名称,例如。重定向到纯文本文件也是可以的。来指定抓对应网卡的数据包。这个域名被展示为 IP。前面列出的设备可以用。源、目标网络依次类推。源、目标端口依次类推。

2024-05-09 10:27:37 371

原创 深入了解Process Exporter:Prometheus进程监控利器

process-exporter主要用来监控进程的运行状态和资源使用情况。

2024-05-07 14:39:29 1125

转载 pod频繁被杀的排查过程

QoS,指的是Quality of Service,也就是k8s用来标记各个pod对于资源使用情况的质量,QoS会直接影响当节点资源耗尽的时候k8s对pod进行evict的决策。官方的描述在这里QoS条件Guaranteed1. pod里所有的容器都必须设置cpu和内存的request和limit,2. pod里所有容器设置的cpu和内存的request和容器设置的limit必须相等(容器自身相等,不同容器可以不等)Burstable。

2024-05-07 10:49:24 15

原创 初识kafka

发布与订阅系统:数据的发送者不会直接把消息发送给接收者;发布者以某种方式对消息进行分类,接收者通过订阅他们来接收特定类型的消息。发布与订阅系统也是事件驱动型程序的关键组件。

2024-05-06 22:17:06 1461 2

转载 system详细解析

上线后,由于某种原因,postgresql 需要重新启动,在停止服务期间,该 Web 应用就会无法建立数据库连接。,表示只停止主进程,不停止任何sshd 子进程,即子进程打开的 SSH session 仍然保持连接。这个设置不太常见,但对 sshd 很重要,否则你停止服务的时候,会连自己打开的 SSH session 一起杀掉。,表示任何意外的失败,就将重启sshd。),表示"抑制错误",即发生错误的时候,不影响其他命令的执行。的例子,笔记本电脑启动时,要把触摸板关掉,配置文件可以这样写。

2024-05-06 18:42:32 17

原创 redis之scan命令

由于 Redis 是单线程在处理用户的命令,而 Keys 命令会一次性遍历所有 Key,于是在 命令执行过程中,无法执行其他命令。这就导致如果 Redis 中的 key 比较多,那么 Keys 命令执行时间就会比较长,从而阻塞 Redis。所以很多教程都推荐使用 Scan 命令来代替 Keys,因为 Scan 可以限制每次遍历的 key 数量。1)没有limit,我们只能一次性获取所有符合条件的key,如果结果有上百万条,那么等待你的就是“无穷无尽”的字符串输出。

2024-05-06 17:55:06 386

原创 redis入门学习

1、缓存:将后端数据库的热数据缓存到redis中,然后直接从内存中读取数据,提高响应速度。2、消息队列3、排行榜,一般用于游戏行业。

2024-05-06 17:54:31 866

原创 Kubernetes--HPA详解

当我们从API 获取的指标来进行自动扩缩容时,只能以CPU、内存作为资源度量指标。只能使用绝对值或者百分比。因为cpu或者内存并不能全面的代表机器的压力,所以我们引入通过外部的指标,来进行扩缩容。(自定义度量指标)包括两种度量指标pod度量指标:比如根据pod的网络io来进行伸缩object度量指标:比如根据ingress的并发数来进行伸缩。

2024-04-26 15:35:29 449

原创 pushgateway详解

Pushgateway为Prometheus整体监控方案的功能组件之一,并做为一个独立的工具存在。它主要用于Prometheus无法直接拿到监控指标的场景,如监控源位于防火墙之后,Prometheus无法穿透防火墙;目标服务没有可抓取监控数据的端点等多种情况。在类似场景中,可通过部署Pushgateway的方式解决问题。当部署该组件后,监控源通过主动发送监控数据到Pushgateway,再由Prometheus定时获取信息,实现资源的状态监控。工作流程。

2024-04-26 11:27:28 421

原创 prometheus自动发现之kubernetes_sd_configs

由于prometheus是通过pull的形式来去目标主机上拉取数据,就是说prometheus服务器必须知道要监控的目标主机的地址等信息,当新增主机的时候,就需要手动增加prometheus的配置文件,很麻烦,所以出现了服务发现,来自动发现被监控的主机,并加入到配置中,然后prometheus再定时的拉取目标主机暴漏的指标。本次主要讲解基于kubernetes的服务发现。

2024-04-24 10:23:23 1151

原创 prometheus--标签

功能在已有的标签中,无法进行环境的区分。我们也可以自己添加一些标签,通过不同的标签来做环境区分,在查询、告警的时候,实现多维度、精细查询。

2024-04-24 10:18:46 692

原创 Pod的Qos类

Kubernetes 使用 QoS 类来决定从遇到节点压力的 Node 中驱逐哪些 Pod。

2024-04-18 11:24:01 415

原创 一文了解OCI标准、runC、docker、contianerd、CRI的关系

docker容器技术的颠覆者,通过轻量级容器化、简单操作命令的方式实现了应用打包和交付运行。Docker Daemon整体架构采用C/S模式,主要有客户端和服务器两大部分组成。客户端负责发送命令,服务端负责接收命令。Kubernetes为了实现可插拔设计,提供了三个接口,分别是容器网络接口CNI、容器运行时接口CRI、容器存储接口CSI,只要满足相应的接口信息,便可以接入到kubernetes中。

2024-04-17 11:22:25 1711

原创 k8s调度场景

场景描述:定制调度器以满足特定的调度需求,例如基于业务规则或特殊硬件条件。创建自定义调度器插件import (const (},},},err!= nil {os.Exit(1)编译并运行自定义调度器。

2024-04-16 21:29:02 984

原创 kubelet的作用

capaclty(总量)和allocated(可分配给pod的需要总量减去系统应用,比如kubelet、kube-proxy、运行时占用的)记录事件的数量、DNS IP、cgroup、DNS域名、DNS位置、容器日志的数量和分割大小、最大pod数量、镜像并行下载开关。监控node节点的cpu、内存、文件系统、网络等资源,kubelet通过metrics server获取节点以及容器的数据。节点基础信息:IP地址、操作系统、内核、运行时、kubelet版本、kube-proxy信息。:自带cAdvisor。

2024-04-16 21:21:34 579

原创 nginx-ingress详解

Kubernetes是一个拥有强大故障恢复功能的集群,当pod挂掉时,集群会重新创建一个pod出来,但是pod的IP也会随之发生变化,为了应对这种情况,引入了service,通过service的标签匹配,来进行后端的pod服务发现,并提供传输层的负载均衡。然后我们再通过service的nodeport模式将端口映射到宿主机,这样我们就完成了集群内的服务对外暴漏。但是如果我们想配置基于http的负载均衡,怎么办呢?

2024-04-15 10:29:57 2610

原创 coreDNS详解

coreDNS的作用主要是作为DNS服务器,在集群内提供服务发现功能,也就是服务之间的互相定位的过程。他监听集群中service和pod的创建和销毁事件,当serivice或者pod被创建时,记录对应的解析记录。当其他pod通过域名来访问集群中的service或pod时,会向coreDNS服务查询解析记录,然后访问解析到的IP地址。

2024-04-15 10:24:26 1380 1

原创 HPA详解

当我们从API 获取的指标来进行自动扩缩容时,只能以CPU、内存作为资源度量指标。只能使用绝对值或者百分比。因为cpu或者内存并不能全面的代表机器的压力,所以我们引入通过外部的指标,来进行扩缩容。(自定义度量指标)包括两种度量指标pod度量指标:比如根据pod的网络io来进行伸缩object度量指标:比如根据ingress的并发数来进行伸缩。

2024-04-12 16:07:29 310

原创 linux内核升级

k8s,docker,cilium等很多功能、特性需要较新的linux内核支持,所以有必要在集群部署前对内核进行升级;CentOS7 和 Ubuntu16.04可以很方便的完成内核升级。

2024-04-11 10:01:25 234 1

原创 理解平均负载

我们知道使用top或uptime可以用来了解系统的负载情况。平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是,它和 CPU 使用率并没有直接关系。所谓可运行状态的进程,是指正在使用 CPU 或者正在等待 CPU 的进程,也就是我们常用ps 命令看到的,处于 R 状态(Running 或 Runnable)的进程。

2024-04-11 09:59:10 614 1

原创 CPU观测工具

当前时间:机器启动了多长时间:几个用户在运行: 1.52, 1.62, 1.67:1分钟、5分钟、15分钟的平均负载,平均负载表述为整个机器的需求:不仅仅包含cpu,还包含磁盘、网络等其他资源。

2024-04-10 18:07:06 320 1

原创 pod生命周期

重启策略适用于pod对象中的所有容器,首次需要重启的容器,将在其需要时立即进行重启,随后再次需要重启的操作将由kubelet延迟一段时间后进行,且反复的重启操作的延迟时长以此为10s、20s、40s、80s、160s和300s,300s是最大延迟时长。:存活性探针,用于检测应用实例当前是否处于正常运行状态,如果不是,k8s会根据pod的重启策略决定是否会重启容器。:启动探针,由于部分服务启动过慢,所以会出现还没有启动就被存活探针检测到,而重启,如果没有成功,则其他探针不会生效。

2024-04-10 12:11:41 494 1

原创 k8s网络详解

cni0:他同docker网络模式不同的是,docker默认会创建一个名为docker0的网桥,而flannel会通过一个cni0来替换docker0。overlay:(覆盖网络),在现有的三层网络之下,“覆盖一层”虚拟的,由内核VXLAN模块负责维护的二层网络,使得在连接在这个VXLAN二层网络的pod之间,可以像在同一个局域网里一样,自由通讯。VXLAN:(虚拟可扩展局域网),是linux内核本身就支持的一种网络虚拟化技术。VXLAN完全就可以在内核实现封装和解封装的行为。架构图。

2024-04-10 11:49:54 1812 1

原创 进程的状态与ps命令

(1):正在运行的,以及拿到时间片就能运行的(RUNNING)。正在运行或者在就绪队列中等待运行的进程,也就是上面提到的运行态和就绪态的综合,一个进程处于RUNNING并不代表他一定在被执行,由于在多任务系统中,各个就绪进程需要并发执行,所以某个特定时刻,这些处于RUNNING状态的进程中,只有一个能得到处理器,而其他进程必须有一个就绪队列中等待,即使在多处理器的系统中,linux只能同时让一个处理器执行任务(2)(disk IO):不可被打断的阻塞状态(UNINTERRUPTABLE)

2024-04-09 16:17:20 697

原创 docker网络

使用自定义的网段地址,网关等信息,类似于bridge网络,区别为bridge为默认docker创建的,自定义网络模式可以用于,不同应用集群的独立网络管理。

2024-04-09 11:35:54 288

原创 计算机网络基础

作用:用于确定互联网中设备存在的位置,分为IPv4和IPv6。

2024-04-09 11:34:27 722

原创 pod调度之亲和、反亲和、污点与容忍

专用节点:将节点分配给特定的服务,给此节点打上污点,和污点相同的Key、value的label,配置此服务时,指 定标签,并且配置对应的容忍。容忍必须要包含节点上的所有污点,才会调度到此节点,如果有一个污点没有被容忍,则不会调度到该节点。如果key为空,则与所有的key、value、effect都匹配,可以容忍任何污点。节点驱逐:当节点出现问题时,通过添加污点来驱逐节点上的pod。pod反亲和示例:也就是pod不亲和本身自带的标签。配备了特殊硬件的节点:同上。给node1增加一个污点。

2024-04-09 11:07:10 339

原创 harbor启用helmchart服务

为了能使用命令推送,我们需要安装并使用 helm push 插件包,地址:https://github.com/chartmuseum/helm-push/releases。如果是后期修改配置文件,可以使用 ./prepare --with-chartmuseum 后,再 docker-compose up -d 启动容器。先到 harbor 中创建一个项目,或者直接使用你已经存在的项目也行,下面的脚本示例是以创建的项目 helmchart_repo 为例的。打包的步骤非三言两语能述,此处略。

2024-04-09 11:04:05 663

原创 使用kubeasz安装高可用集群

致力于提供快速部署高可用k8s集群的工具,基于二进制方式部署和利用ansible-playbook实现自动化;既提供一键安装脚本, 也可以根据安装指南分步执行安装各个组件。

2024-04-08 11:06:11 754 1

原创 Argo CD使用

通过kubectl的方式安装,测试环境使用。

2024-04-08 11:00:08 891 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除