Site Reliability Engineer
Will Pan
在 AWS 與 GCP 上維運 Kubernetes 平台的實戰筆記:什麼壞了、怎麼量測、最後怎麼修。
kubectl get career --sort-by=.spec.start
- 2020–2022Hexiang Digital TechnologyOperations EngineerCompleted
- 2022–2023Zuopin TechnologyOperations EngineerCompleted
- 2023–2024Palup.aiSite Reliability EngineerCompleted
- 2024–2025DBS BankSite Reliability EngineerCompleted
- 2025–至今TRON DAOSenior Site Reliability EngineerRunning
# 先量測,再動手,一次只改一件事。
最新文章
全部文章 →CPU 不是問題:自架 PostHog 怎麼在沒人發現的情況下丟了四分之一的事件
同事問的是「CPU 這麼高要不要擴機」。真正的問題是單 partition 的 ingestion pipeline 消費不過生產,積壓撞到 24 小時 retention,五天丟了 22–32% 的事件,而能抓到它的告警十天前被我自己刪掉。
主題
完整經歷 →Reliability 與 Incident Response
- Zero-downtime rollout:probe、readiness gate、preStop、graceful shutdown
- Incident response 與 root cause analysis
- 線上資料庫變更:partition 與 CDC
Kubernetes 平台
- EKS / GKE 版本升級
- Cluster Autoscaler、PodDisruptionBudget 與 node pool 規劃
- NetworkPolicy 與 admission policy
- GPU 節點與 GPU 共用:MIG、time-slicing
IaC 與交付
- Terraform / OpenTofu:import 既有資源、MR plan、drift 偵測
- GitOps:Argo CD 與 ApplicationSet
- 以 CI 檢查在 merge 前擋下錯誤設定
Observability
- Prometheus cardinality 與 recording rules
- Logs 與 traces 串接:Loki、Tempo、OpenTelemetry
- Meta-monitoring:監控系統本身的監控
幾個數字
- ~10
- API 一般一次發版的 ALB 5XX,原本是 2,000–3,000
- 50+
- 個 AWS component 用 import 收進 OpenTofu
- 1.46 TB
- 的計費表,在 production 流量下改成 partition
- 18
- 個 production PodDisruptionBudget,和 Cluster Autoscaler 一起導入
Tech Stack
Kubernetes 與容器
- EKS
- GKE
- Helm
- Cluster Autoscaler
- HPA / PDB
- NetworkPolicy
- External Secrets
- Docker
IaC 與自動化
- Terraform
- OpenTofu
- Ansible
- Python
- Shell
- Go
CI/CD 與 GitOps
- Argo CD
- GitLab CI
- GitHub Actions
- Jenkins
Observability
- Prometheus
- Grafana
- Loki
- Tempo
- OpenTelemetry
- ELK
網路與 Edge
- ALB / Ingress
- Nginx
- Istio
- DNS
- CloudFront
- Cloudflare
資料庫與串流
- PostgreSQL
- MySQL
- Redis
- OpenSearch
- MongoDB
- Kafka
Cloud 與 AI 基礎設施
- AWS
- GCP
- GPU nodes (H100)
- GPU time-slicing