设计背景:本项目基于k8s的扩展功能,实现Message的自定义资源,实现一个集群内消息下发渠道的controller应用。调用方可在cluster中部署与启动相关配置即可使用。
思路:当应用启动后,会启动一个controller,controller会监听所需的资源,并执行相应的业务逻辑(如:消息发送)。
- 支持消息配置的热加载、热更新等功能。
- 实现deployment、pod与service变更与删除后的消息通知。
- 提供qq邮箱的发送功能、飞书机器人发送功能。
- 自定义资源如下所示
apiVersion: api.practice.com/v1alpha1
kind: Message
metadata:
name: mymessage
spec:
sender:
open: true # 是否开启发送功能
# email 配置
remote: smtp.qq.com
port: 25
email: [email protected]
password: xxxxx
targets: [email protected]
feishu:
open: true # 是否开启发送功能
webhook: xxxxxx # 飞书 webhook ip
type: card # 预计支持 text card 推送模式
- 发送结果如下