k8s 配置最佳实践
本文是 kubernetes Configuration Best Practices。
- 总之指定最近的 stable api version
- 用 yaml
- 把相关的对象放到单一的一个文件。
- 没事不需要指定默认值,越多代码越容易引发错误。
- 把描述放进 annotations 方便后面追查。
- 不用 Naked Pods,尽可能用 ReplicaSet 或者 Deployment。
- 创建 service 最早在 deployments/replicaset 之前操作。
- 用 dns name of service 替代环境变量。
- debug 的时候用 kubectl port-forward 或者 apiserver proxy
- 用好标签,例如 app 是什么,tier 是哪层,deployment 是哪个版本等等。因为 service 可以根据 labels 转流量过去。