在 Python Flask 程序中发起 request 请求时卡死的问题

Flask 程序部署在三个 Pod 的 Deployment 里,业务需要向三个 Pod 各发一条消息通知。暂时不想引入消息队列,于是用 Kubernetes Python 库取出三个 Pod IP,直接 requests.post 三遍——方法粗糙,但轻量地解决了问题。 12345resp = requests.post( url, data=json.dumps(data_info, sort_keys=True, default=str), headers= ...

阅读全文

打印 Python dict/list 对象后用 FEHelper 查看

用 Python Kubernetes 库查询某个 namespace 下的 Pod 时,返回的结果集嵌套很深,想找到 Pod IP 得翻半天。 问题直接 print 出来的不是 JSON,None 和 datetime 对象 FEHelper 无法识别;直接 json.dumps 又会报错: 1TypeError: Object of type datetime is not JSON serializable 解决办法加一个 default=str 参数即可: 12345all_po...

阅读全文

在 K8S 环境中构建基于 Python Flask 的 WebSocket 推送架构

业务上需要搭建一个能推送消息的架构,现有服务端基于 Python Flask 构建。下面记录代码实现和 K8S + HAProxy 两层负载均衡下的会话保持方案。 代码部分服务端服务端需要集成 socketio,参考 python-socketio 官方示例。记得把 async_mode 改成 gevent。 前端前端测试页面,需要替换 <Server IP>: 1234567891011121314151617181920212223242526272829303132333...

阅读全文

查看 kubectl config 文件中的权限信息

调试 K8S 问题时,手里往往只有一份 kubeconfig,却不知道当前用户到底有哪些权限。其实证书里就藏着答案——把 client-certificate-data 或 .crt 文件用 OpenSSL 解析一下,就能拿到 Group 和 User,再去集群里查对应的 RoleBinding 即可。 解析证书把 config 文件中的 client-certificate-data 内容,或者 .crt 文件拿出来,用 OpenSSL 解析: 12345# 直接处理 base64 内容...

阅读全文

用sed替换掉特定字符串后的指定内容

工作中遇到了这么一个需求:有一段没有格式的 JSON 字符串,需要把其中的 key 为 name 的值改成 new-webhook-config,用 sed 可以完成这个工作。 原始内容1{"apiVersion":"admissionregistration.k8s.io/v1beta1","kind":"MutatingWebhookConfiguration","metadata&qu...

阅读全文

调用Jira API统计一段时间每个账户内ticket被resolved的数量

Jira 是不能分组统计的,只能在 dashboard 里用二维表格统计,但是如果查询语句是 status changed to resolved by,统计表格里是不能显示出来 resolved by 这个用户名的。 之前同事手动做了特别多的查询,然后把这些查询放到 Confluence 里进行统计,所以就想用 Jira API 分账户统计一下。 完整脚本1234567891011121314151617181920212223242526272829303132333435363738...

阅读全文

学习Python的列表生成器以及Map-Reduce

最近写了很多接口,需要反复处理 json 数据,抽离数据,重组格式。 花时间研究了一些 Python 的列表生成式,以及更高级的 Map/Reduce,并给大家做了一次分享,记录一下分享过程中写下的代码。 示例数据123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172...

阅读全文

第一次在github里的高星项目中merge code, 激动!

在做手里的项目的过程中,用到了 Cobra,过程中需要使用动态的 help 信息,目前 Cobra 本身还不支持,所以手工加了一些额外代码才实现。 但是在读 Cobra 源码的过程中,发现只需要改动几个地方,就可以更轻松地实现,于是提交了一个 PR,跟 Owner 沟通了几次,顺利被 merge 了。 很惊喜,Mark 一下:https://github.com/spf13/cobra/pull/1760

阅读全文

通过docker registry的文件夹获取到所有的镜像

工作需要获取 docker registry 里所有的镜像和 tag,但是系统在磁盘被占满的情况下出现无法工作的情况,无法通过 docker registry 的 API 去获取。 所以尝试通过 registry 的文件夹目录结构中提取想要的结果,最后证明可行。 列出所有镜像:tag123export docker_registry_dir=/opt/bcmt/storage/docker-registry/ # docker registry 的安装目录。cd ${docker...

阅读全文


Powered by Hexo and Hexo-theme-hiker

Copyright © 2012 - 2026 tiaobug.com All Rights Reserved.

鲁ICP备2024124237号-1