- 博客(30)
- 收藏
- 关注
原创 nginx临时解决302跳帧无法兼容POST问题
但是之前有很多其它业务依赖A域名,所以一般会配置一个301或者302跳转,但是这个跳转只对GET请求有用,POST请求会丢失body切变成GET请求。所以针对有POST调用的场景,nginx可以过渡一段事件,然后找到POST使用方慢慢迁移。在运维产品经常遇到切换域名的需求,比如 A域名跳转到B域名。同时支持POST和GET的请求。
2023-12-14 17:09:06
499
原创 利用飞书消息卡片发送告警趋势图
2、alertmanger发送的webhook中解析告警项,在generatedUrl中是一个prometheus查询语句,参数里有告警的promQL,通过grafana配置一个动态数据源和动态query的面板可以实现动态查询指标趋势图。1、目前监控方案采用prometheus + alertmanager。5、消息卡片里引用img_key实现告警通知时附带告警数据趋势。3、借助grafana的renderer插件实现截图功能。4、上传截图到飞书图片上传接口。
2023-10-08 15:50:34
844
原创 wsl端口映射到宿主机脚本
如果输出结果为 Restricted,说明当前的执行策略是禁止运行任何脚本的。运行以下命令,以修改执行策略为 RemoteSigned:, 输入Y。需要用powershell管理员权限运行。如果执行报如下错误,请参考下面的办法。
2023-08-25 11:39:01
673
原创 wsl2 报错不支持此接口 Error code: Wsl/0x80004002
折腾了一天,使用wsl --install和 wsl --update的安装后一直报。卸载,注意包名替换成上一条命令执行后输出中显示的PackageFullName。卸载wsl后重新按这个手动安装文档操作。搜索powershell。获取当前wsl版本的包名。
2023-08-23 11:21:35
1767
3
原创 获取出口ip的N种方式
1、curl ip.sb2、curl cip.cc3、dig myip.opendns.com @resolver1.opendns.com4、nslookup myip.opendns.com resolver1.opendns.com
2023-08-22 18:55:12
745
原创 go mod tidy报错 k8s.io/api unknown revision v0.0.0
然后执行 bash get.sh v1.20.4 这里选择你需要使用的k8s版本。在go.mod 同目录下创建该脚本,
2023-08-21 15:19:20
620
原创 飞书流程设置动态审批人
工作中遇到使用飞书流程的场景,由于有不同的项目和业务,所以搞了一个通用流程,但是不同的业务需要不同审批人,刚开始使用飞书流程编排通过条件判断的方式来配置,但随着公司业务的增多和人员的变动,模板的维护工作越来越繁琐,几十个分支判断下修改容易出错,调试也比较麻烦。7、封装一个api,接收到工单里的项目、业务等数据,从cmdb里查询到相关责任人列表。3、配置一个固定审批人作为第一个审批环节,并授权编辑表单联系人权限。5、启用审批分析中的数据管理,对应会创建一个多维表格。4、后续审批按角色配置,引用表单内联系人。
2023-07-17 19:41:13
1524
1
原创 批量扫描ssl证书过期时间
目前ssl 证书大多有效期只有一年,所以每年都要更换一次,有些是配置在nginx上的,有些配置在k8s的ingress上,还有些在业务层使用的。从dns运营商哪里导出dns记录,然后用脚本批量跑扫描,大多数是443端口,有些使用的非标端口,需要单独确认端口后再跑一次。最好是在分配证书使用时在cmdb里记录好使用域名和端口,方便后续更新时直接获取到。failed代表命令执行失败,需要区分是否有其他端口。ok.txt输出的是域名 过期时间。1、check过期时间的脚本。
2023-05-06 14:28:39
485
原创 打通本地网络和k8s pod网络,提效微服务相互调用
根据这步的输出获取client.ovpn配置文件,然后使用openvpn软件连接即可。最近在开发微服务,有个别本地需要调用开发k8s集群中的pod。故使用vpn方式打通本地和pod网络。4、连接vpn即可访问pod网络。2、修改values.yaml。1、下载helm chart。
2023-04-24 17:20:24
728
原创 蓝鲸cmdb二次开发接入oidc登录
想使用bk-cmdb,但是全家桶才支持统一登录,单独的bk-cmdb是不支持的。所以基于蓝鲸的代码自己增加oidc登录逻辑。
2023-04-21 16:01:07
773
1
原创 容器化部署mongodb集群
3、安装docker-compose。2、配置启动模板(每台机器都需要)1、三台机器,安装好docker。1、生成同步用的key。3、启动mongdb。
2023-04-18 16:28:37
177
原创 mysql binlog查看历史sql执行记录
1、首先确认数据库是否开启了binlog该命令将显示MySQL是否启用了二进制日志,以及日志文件的名称。如果输出结果中的Value为ON,则表示MySQL已经启用了二进制日志。如果Value为OFF,则表示MySQL没有启用二进制日志。
2023-04-04 16:18:45
4250
原创 jenkins使用k8s容器作为打包节点
这里jenkins会自动注入一个叫jnlp的容器,默认是没有配置资源限制的,如果你想限制jnlp的资源,可以新建一个名字是jnlp podTemplate, 然后再容器里配置资源限制,镜像得写一个和注入的版本一致的。原因:jenkins server是用java 11启动的,自己找的jnlp是用的java 8, 再docker hub上找了一个jdk-11版本的。1、jnlp的java版本和jenkins版本不一致导致 容器节点一直offline。选择username and password。
2023-03-30 16:19:39
762
原创 基于openkruise rollouts的灰度部署
2、openkruise rollouts和flux flagger是旁路的灰度方式,其原理都是新起一个同类型的workload作为灰度版本,通过ingress/istio等流量工具实现灰度流量识别和导入。openkruise rollouts会暂停业务workload的调度, 当灰度验证通过后,再恢复workload的调度,实现版本更新。1、argo rollouts改变了workload类型,所以不是无损的接入,不推荐。关于他们直接的优缺点,网上有很多资料。目前比较流行的渐进式发布主要有三个。
2023-03-28 18:25:26
156
原创 helm + kustomize + argocd管理k8s应用
然后用kustomize管理不同应用、不同环境的values.yaml,这样可以保证相同的部分只配置一份,每个实例只需要覆盖或者移除自己不需要的配置。随着k8s的弹性能力和调度能力的发展,越来越多的业务接入了k8s部署,但是基于k8s部署带来的yaml资源文件维护却成了运维工作中比较重的负担。基于cmdb + 规则引擎的yaml配置管理, 比如引入istio、挂载pvc等只需要在cmdb里配置相应的开关和值就可以渲染出目标yaml。对应用的管理转化为values.yaml文件的管理。
2023-03-28 18:19:40
891
原创 基于aws cloudfront的前端应用灰度方案
在cloudfront里的behavior中,选择要灰度的路径,默认一般只有一个/*,当然配置时可以只先灰度一个特定的资源路径,这样可以降低配置灰度本身带来的风险。前端应用发布时有测试环境发现不了的一些问题,导致发布经常会出现js或者图片之类的访问不生效问题,故需要引入灰度部署的能力,降低发布风险。测试验证时需要在chrome加一个插件,用于自动添加请求的header。应用是在aws cloudfront上部署的,针对全球加速。定义一个自己标识灰度的header,比如Gray-Policy。
2023-03-21 14:20:28
372
原创 解决 Mac Chrome自签名证书访问报 NET::ERR_CERT_INVALID
解决 Mac Chrome自签名证书访问报 NET::ERR_CERT_INVALID@TOCmac下的chrome对自签证书无法访问,默认点高级也没有继续不安全访问选项。经过查资料发现chrome留了一个小路。就是在将要访问的页面,点一下任意位置然后输入 thisisunsafe 就可以访问了...
2022-01-21 10:29:06
2807
原创 LETS ENCRYPT申请免费ssl证书
LETS ENCRYPT申请免费ssl证书@chestar下载wget https://dl.eff.org/certbot-autosudo cp certbot-auto /binsudo chmod +x /bin/certbot-autosudo apt-get install -y python-pipcat << EOF > ~/.pip/pip.con...
2018-11-13 22:55:33
177
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人