
译:Kubernetes 最佳实践
本文翻译自 Jack Roper 的文章 Kubernetes Best Practice。 译者:文章中作者从应用程序开发、治理和集群配置三个方面给出了一些 Kubernetes 的最佳实践,同时翻译过程中也加入了我过往的一些使用经验。有误的地方,也欢迎大家指正。 在这篇文章中,我将介绍一些使用 Kubernetes (K8s) 时的最佳实践。 作为最流行的容器编排系统,K8s 是现代云工程师掌握的事实标准。众所周知,不管使用还是维护 K8s 复杂的系统,因此很好地掌握它应该做什么和不应该做什么,并知道什么是可能的,将是一个好的开局。 这些建议包含 3 大类中的常见问题,即应用程序开发、治理和集群配置。 最佳实践目录 使用命名空间 使用就绪和存活探针(译者注:还有启动探针) 使用自动缩放 使用资源请求和约束 使用 Deployment、DaemonSet、ReplicaSet 或者 StatefulSet 跨节点部署 Pod 使用多节点 使用基于角色的访问控制(RBAC) 在外部托管Kubernetes集群(使用云服务) 升级Kubernetes版本 监控集群资源和审计策略日志 使用版本控制系统 使用基于Git的工作流程(GitOps) 缩小容器的大小 用标签整理对象(译者注:或理解为资源) 使用网络策略 使用防火墙 使用命名空间 K8s 中的命名空间对于组织对象、在集群中创建逻辑分区以及安全方面的考虑至关重要。 默认情况下,K8s 集群中有 3 个命名空间,default、kube-public 和 kube-system。