Istio 基于 Envoy 实现服务限流 相关背景 美服出现部分应用接口被外部流量恶意请求,刷取登录接口的情况。 需要针对集群的所有应用进行限流,防止因为恶意请求或者大流量导致服务宕机。 预期效果: 能够实现全局或者应用维度的 IP 限流。 以每分钟300个请求的限流机制为例,向服务发送301个请求,限流器将拒绝第301个请求。同时,限流器会返回一个429 HTTP状态码(Too Many Requests),并在请求到达服务之前进行 2024-04-12 云原生组 > 服务网格 #Envoy
Docker-日志驱动配置 背景使用docker进行部署应用时,如果未进行日志配置,当日志量不断增多时会导致磁盘被占满的情况。 当前 jenkins、gitlab、rancher都是使用docker部署在VM上的,因启动时为配置容器日志大小清理策略,导致占用系统盘过多响应缓慢 清理方案手动清理当服务正在线上访问无法重启可以进入到指定容器目录下将该日志文件删除 1echo "" > 57b29803 2024-04-09 云原生组 > 容器开发 #Docker
Kubernetes-启动/存活/就绪探针 背景当一个新Pod创建后,Service就能立即选择到它,并会把请求转发给Pod 。但是通常一个Pod启动是需要时间的,部分应用在启动时需要进行加载上游相关服务连接等,如果Pod还没准备好,这时把请求转给Pod的话,Pod也无法处理,会造成请求失败的情况发生。 简介启动探针(Startup Probe):用于检查容器中的应用是否已经启动。如果启动探针失败,Kubernetes会等待一段时间,然后 2024-04-03 云原生组 > Kubernetes
Electron在Windows系统编译问题记录 背景近期在写一套CI/CD系统,由于部分项目是通过 electron 来实现跨端,需要在同一套代码中在不同平台进打包构建,在Windows下打包的时候总是出现问题,而且错误提示不明显,对于这一领域接触不多的解决起来比较麻烦,在这里记录一下相关的解决方法。 问题缺失 Visual studio 相关库解决方法 直接下载 visual studio 进行安装,选中 “Desktop develop 2024-03-30 编程语言 > 前端 #electron #node-gyp
云原生-Istio 性能测试 背景本文主要是记录在使用 istio 作为 servicemesh 的环境中需要对某些应用进行基准测试。 环境 Kubernetes 1.26 Istio 1.18.2 压测工具 wrk() 本次压测工具使用 wrk 进行压测 wrk基准测试工具的输出报告,解释如下: Running 30s test @ https://pipeline-dev.ddd.com/healthz:这表示正 2024-03-09 云原生组 > 服务网格 #Istio
基准测试工具-wrk / wrk2 / ab wrk简介wrk 是一个HTTP基准测试工具,当在单核CPU上运行时能够产生显著的负载。它将多线程设计与可扩展的事件通知系统(如epoll和kqueue)相结合。 可选的LuaJIT脚本可以执行HTTP请求生成、响应处理和自定义报告。 安装mac下安装1brew install awk linux下安装教程1wrk2 -t8 -c1000 -d30 -R1000 --latency https 2024-02-09 服务器篇 > 开发工具 #压力测试
CI/CD平台的探索与实践 背景在软件开发过程中CI/CD是不可或缺的环节,在提高交付效率的同时能规范整套流程。然而不同公司的产品不一,部署环境差异导致所需的编译环境,单一的saas平台不一定能满足,同时售价也较高。这时通过自研一套公司定制的CI/CD系统,能够灵活控制每个环境,结合公司所处环境进行定制化研发。能够带了效率上的提升与各个流程的规范。 调研githubaction定义123456789101112131415 2023-08-21 基建相关 #CI/CD
LDAP-轻量目录访问协议 简介LDAP是 Lightweight Directory Access Protocol的缩写,称为“轻量级目录访问协议”。它是一种在IP网络上访问和维护目录信息服务的应用层网络协议。 LDAP基本概念 dn(Distinguished Name) 区分名称,LDAP中每个条目都有自己的dn,dn是该条目在整棵树中的唯一标识,如同文件系统中,带路径的文件名就是DN。 dc(Domain 2023-08-12 学习笔记 #LDAP
云原生-eBPF入门与探索 简介 在了解eBPF前先说一下BPF 伯克利包过滤器(Berkeley Packet Filter,缩写 BPF),是类Unix系统上数据链路层的一种原始接口,提供原始链路层封包的收发。除此之外,如果网卡驱动支持混杂模式,那么它可以让网卡处于此种模式,这样可以收到网络上的所有包,不管他们的目的地是不是所在主机。另外,BPF支持过滤数据包——用户态的进程可以提供一个过滤程序来声明它想收到哪些数据 2023-08-01 云原生组 > 内核开发 #eBPF
LVM- Linux磁盘逻辑卷管理器 背景 在开发环境中我们通过Kubernetes部署了一个MySQL的Pod供我们进行开发使用,其PVC的大小80G,由于近期开发的一个项目数据量较大,产生需要进行容量扩容的需求,我们的操作步骤是先升级磁盘(阿里云磁盘挂载到Kubernetes节点上,通过亲和性配置Pod到该机器上)大小为256G,修改PVC的存储大小后其MySQL的Pod并没有并未能读取到扩容后的容量大小。 后面经过同事的指 2023-05-19 学习笔记 #LVM