问题1,工作节点和infra节点必须分开(包括ingress、efk等)。workload节点配置根据应用同质化情况(比如是否对下层计算资源有要求、io要求、网络要求、cpu内存要求等等)适当区分。但需要避免节点资源过少导致容器不能有效调度和节点资源过多引起爆炸半径较大的问题。
问题2,node exporter等工具可以将节点指标聚合到Prometheus中。前者还支持开箱即用的监控KPI扩展。pod内部可以在应用层或sidecar通过exporter监控。至于资源调度,k8s默认调度器功能一般够用,可通过节点污点等手段调整容器亲和性。如果有能力,可以通过schedule framework实现自定义调度实现。
问题3,该少的不能少。原先数据库应用层监控的工具或功能虽然实现容器化了,也需要通过自动化方式实现。