Multi-Cloud Kubernetes 最佳实践
版本:要使用的 Kubernetes 组件的版本。
网络:通过 CNI(容器网络接口)插件配置要使用的网络技术。
存储:通过 CSI(容器存储接口)插件配置要使用的存储技术。
Ingress:Ingress Controller 用于负载均衡和反向代理外部请求到应用程序服务。
监控:用于监控集群中 Kubernetes 组件和工作负载的附加组件。
日志记录:一种集中式日志记录解决方案,用于从 Kubernetes 组件以及集群中的应用程序工作负载收集、聚合和转发日志到集中式日志记录系统。
其他附加组件:需要作为集群的一部分运行的其他服务,如 DNS 和安全组件。
镜像扫描:需要在运行之前扫描容器镜像以查找漏洞。在允许镜像进入企业的私有注册表之前,可以将此步骤作为 Continuous Delivery 管道的一部分来实现。
镜像来源:镜像扫描检查漏洞时,明确镜像出处,确保只允许“可信”镜像进入正在运行的集群或环境。
主机和集群扫描:除了确保镜像安全外,集群节点及主机也需要扫描。此外,定期运行互联网安全中心(CIS)基准以确保 Kubernetes 安全是最佳做法。
分段和隔离:即使多租户可能不是一项硬性要求,最好还是计划在多个异构工作负载之间共享集群,以提高效率并节省更多成本。Kubernetes 提供用于隔离(例如,命名空间和网络策略)以及用于管理资源消耗(资源配额)的构造。
身份管理:在典型的企业部署中,用户身份由中心目录提供。无论在何处部署集群,都必须联合用户身份权限,以便以一致的方式轻松控制和应用集群。
访问控制:虽然 Kubernetes 没有用户的概念,但它提供了丰富的控件来指定角色和权限。集群可以利用默认角色或使用指定权限集定制角色。企业中的所有集群都具有这些角色的通用定义以及跨集群管理它们的方法,这一点很重要。