- 服务之间讲求配合
- 所以才需要编排
- 例如 倾向于 nginx 而不是 traeifk
- 例如 使用 cert-manager 而不是 web server 自带的 acme
注意事项
- 部署混合架构
- 注意部分组件限定了 Linux
- 镜像需要支持多架构 - 大多镜像都是单架构
- 除非有明显的需要,否则避免混合架构
- 可以考虑部署一个纯 aarch64 架构也不要和 x86 混合
- 分布式存储/非本地存储
- 除非必要否则不要使用分布式存储
- 思考分布式存储的目的和收益
- 分布式存储都有十分明显的副作用
- 当需要状态的时候可以考虑购买服务或者额外提供相关服务
- StatefulSet 其他作用
- 可以用于获取稳定的 Hostname 和 IP - 不一定是因为需要使用存储
- Pod 的名字可以更短 - 避免超出限制或被截取
- 集群小的时候 mount 主机目录或者使用 local pvc 也不失为管理存储的办法
- Prometheus 会占用较多内存和部分 CPU
- 建议尽量复用,避免重复部署
- linkerd 会部署 prometheus
- lens 会部署 prometheus
- consul 相关服务也可以集成 prometheus
- 关注 DaemonSet
- ingress 部署为 DS 方便使用 - 因为是 nginx+controller, 内存大约 100M - request 100m, 90Mi
- consul 部署会有一个节点 agent DS - limit 100,100
- node-exporter 会部署为 DS - 资源占用非常小 - r 10m, 24Mi, limit: 200m, 100Mi
- metallb 会部署 DS 作为 speaker