运维基础设施规划纲要
发表于
本文字数:
29
阅读时长 ≈
1 分钟
基于k8s的一套DevOps方案
发表于
更新于
本文字数:
671
阅读时长 ≈
1 分钟
这里有一些DevOps各环节的技术选型
| 开发 | workflows/pipeline | 包管理 | ci | cd | progressive delivery tool(渐进式交付) | service mesh | 基础设施 |
|---|---|---|---|---|---|---|---|
| kt-connect | argo-workflows | Helm | GitLab/GitHub | argo cd | Argo Rollouts | istio | OpenTofu |
| Jenkins file | Jenkins | Flagger | Linkerd | terraform | |||
| Apache Airflow | Spinnaker | zadig | crossplane | ||||
Ingress
| Feature | Apisix | Contour | Gloo | NGINX | Skipper | Traefik |
|---|---|---|---|---|---|---|
| Canary deployments (weighted traffic) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| A/B testing (headers and cookies routing) | ✔️ | ✔️ | ✔️ | ✔️ | ➖ | ➖ |
| Blue/Green deployments (traffic switch) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| Webhooks (acceptance/load testing) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| Manual gating (approve/pause/resume) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| Request success rate check (L7 metric) | ✔️ | ✔️ | ✔️ | ➖ | ✔️ | ✔️ |
| Request duration check (L7 metric) | ✔️ | ✔️ | ✔️ | ➖ | ✔️ | ✔️ |
| Custom metric checks | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
k8s各种蓝绿及金丝雀发布
目前Kubernetes Gateway API并没有特别好的选型方案
最好能使用API Gateway来进行流量控制
各网关进度:
https://gateway-api.sigs.k8s.io/implementations/
使用原生集群完成灰度
Ps.无需安装其他工具
使用apisix-ingress可以使灰度颗粒度更细
可通过jenkins pipeline 控制流水线

linux排查-cpu
排查工具汇总
- stress 是一个 Linux 系统压力测试工具,这里我们用作异常进程模拟平均负载升高的场景。
- mpstat 是一个常用的多核 CPU 性能分析工具,用来实时查看每个 CPU 的性能指标,以及所有 CPU 的平均指标。
- pidstat 是一个常用的进程性能分析工具,用来实时查看进程的 CPU、内存、I/O 以及上下文切换等性能指标。
- vmstat 是一个常用的系统性能分析工具,主要用来分析系统的内存使用情况,也常用来分析 CPU 上下文切换和中断的次数。
- pidstat 每个进程的详细情况上下文切换和中断的次数。
- sysbench 是一个多线程的基准测试工具,一般用来评估不同系统参数下的数据库负载情况。当然,在这次案例中,我们只把它当成一个异常进程来看,作用是模拟上下文切换过多的问题。
docker搭建openvpn
搭建
配置OpenVPN
配置数据卷,生成配置文件。预计网段人数不多,使用192.168.0.0/24网段,但需要注意的是在配置固定IP时,掩码必须为/30,因此固定IP需要注意正确配置。#配置数据卷
创建挂载目录
初始化配置
1 | mkdir -p /home/openvpn |
xxl-job接入ldap
ingress重定向例子
子路径重定向
所有子路径匹配转发
1 | apiVersion: extensions/v1beta1 |
或
1 | apiVersion: extensions/v1beta1 |