- 博客(12)
- 收藏
- 关注
原创 【CKA备考】Kubernetes RBAC
到这一步结束,使用myuser.config作为kubectl --kubeconfig参数,myuser用户应当只能对mynamespace命名空间中的pod资源执行get、list、create、delete操作。二、使用kubernetes CA生成证书。六、设置current context。三、使用kubectl创建集群配置。九、创建rolebinding。一、创建个人密钥与证书。五、创建Context。
2024-09-10 13:02:24 272
原创 一次Prometheus采集器内存占用过高(内存泄漏)问题排查及解决
我参与的一个项目使用了腾讯的云存储组件CSP。我们需要利用Proemtheus Exporter对改组件进行监控。由于没有找到相关的采集器,我们团队自己开发了一款CSP Exporter。该采集器由我所在团队的一位大佬开发出了初版。采集器上线两个月后,用户反馈该采集器占用了大量的系统内存,重启后该问题消失。此时该大佬已经离职另谋高就,排查该问题的任务落到了我的头上。经过一周的不懈努力,最终定位到并解决了该问题,以下是排查及解决的过程。
2024-08-04 15:32:00 1142
原创 一次ES集群崩溃及恢复过程
生产环境上搭建了一套由Filebeat + Kafka + Logstash + Elasticsearch + Kibana实现的实时日志分析系统。每一台生产服务器上利用Filebeat收集指定的应用日志,作为生产者写入到Kafka中;另一端Logstash作为消费者消费Kafka中的消息,并上报到ES集群中,最终通过Kibana展示日志消息。我们的生产集群一共七台机器专用于运行Elasticsearch集群,其中六台内存大小为62G,一台内存大小为128G。
2024-07-29 14:00:55 1175
原创 【笔记】Elasticsearch snapshot(快照)数据迁移
不过需要各位注意的是,ES进行数据迁移时,需要注意版本问题,无论是小版本(例如7.17.x->7.17.x),还是大版本(7.xx.xx -> 8.xx.xx)都有可能出现问题。到这里,我们的索引就在新的实例上恢复了。本次数据迁移使用的是fs类型的snapshot,ES还提供许多其他类型的快照方式,具体内容可参考官方文档。创建好快照仓库后,创建索引的快照,为了方便演示,在这里指我们只为图2中sharedb_*索引创建快照,如图4。type选项指定了快照仓库的类型,本例中使用的是fs类型,即文件类型。
2024-02-12 15:31:40 2818 1
原创 【笔记】Elasticsearch REST API 使用参考手册
工作中常常会使用到Elasticsearch(以下简称ES),有时利用REST API管理ES会比Kibana更加方便。但是,ES的REST API多如牛毛,当想要查询某个信息时,需要访问ES官网并在大量的API文档中苦苦寻觅,效率极低。下列所有命令中,-u elastic是ES默认管理员账号,在实际使用的过程中请各位读者自行调整。执行第9、10条的命令是ES配置中配置path.repo选项,并且第9条中的location需要与配置文件中的路径一直。6.创建索引,并指定分片、副本分片信息。
2024-02-09 13:31:49 298 1
原创 【个人笔记】RocketMQ-cpp-client源码解读(持续更新)
这一段代码的作用是获取info.topic关联的所有RocketMQ队列的信息。最终输出样式如下图。第30行的g_offsetTable是map类型的数据,将MQMessageQueue类和一个uint64_t类型的值建立映射关系,这一对映射关系将在后来的代码中用到,uint64_t将代表MQMessageQueue Offset从哪里开始。第一行到第三行,是一系列的头文件,其中“common.h”不是SDK中的一部分,是示例代码中的一部分,其中include了一些其他RocketMQ SDK的头文件。
2024-02-03 22:15:14 997 1
原创 【笔记】记一次因go版本问题导致K8S控制节点初始化不成功的过程
虽然不是很明白图5的报错是什么意思,但感觉可能和rpc有关,于是灵关一闪,想到会不会是因为docker使用的go版本与kubeadm使用的go版本不兼容导致的(由rpc想到客户端服务端进行调用)。于是将docker版本切换为20.10.9,该docker版本使用的go版本为1.16.8,如图6所示。重新使用kubeadm进行初始化,即可初始化成功(如图7),我们也可以看到,所有k8s组件也都正常启动了(图8),通过kubectl get nodes命令,我们也可以成功获取控制节点的信息了。
2023-11-26 12:55:53 742 1
原创 【笔记】关于Redis集群从节点的读写问题
但是,当我们在从节点上运行READONLY命令后,如果被请求的数据由该从节点的主节点持有,则不会发生重定向。根据Redis官方文档的内容,当一个客户端向集群的某个节点发送请求后,如果该节点持有被请求的数据,Redis将会返回响应的值。也就是说,默认情况下只要redis集群被访问的数据不在被访问的节点上,就会发生所谓的重定向,即:集群返回一个带有地址、端口信息的MOVED响应给客户端,客户端根据响应的信息重新请求。由此,我们就验证了上文所描述的当从节点开启了READONLY后的重定向行为。
2023-11-23 22:23:20 840
原创 【笔记】Syncthing关键配置
因此,如果需要获取某个设备的ID,我们只需要在首次运行syncthing后,从$HOME/.config/syncthing/config.conf文件中获取即可。需要注意的是,这里的<device>必须在<configuration>元素中同样通过<device>进行声明。需要注意的是,上述目录是1.27.0以前版本默认的默认路径,如果使用的是1.27.0以后的文件,默认的目录文件不同。2.$HOME/.config/syncthing/config.conf:该文件是syncthing默认的配置文件。
2023-11-22 15:02:50 1714 1
原创 【笔记】Syncthing 相关目录及文件
HOME/.local/state/syncthing 或 $XDG_STATE_HOME/syncthing:默认的配置文件存放目录。$HOME/.config/syncthing 或 $XDG_CONFIG_HOME/syncthing 是默认存放配置文件的目录。$HOME/.config/syncthing 或 $XDG_DATA_HOME/syncthing是data目录。3.https-cert.pem,https-key.pem:HTTPS GUI连接使用到的证书及密钥。
2023-11-21 10:10:53 844
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人