目前很多客户把ECS作为K8S集群的NODE节点使用,在K8S场景下如果要响应主动运维事件需要自己开发程序对接ecs openapi,或者通过ECS云助手插件ecs-tool-event把事件同步到操作系统内部,通过K8S系统社区提供的已有方案能力NPD+Draino+Autoscaler,可以把需响应的ECS节点从集群驱逐出去。NPD(node-problem-detector)可以通过日志采集/var/log/host_event.log的事件转化为k8s事件和修改node conditon,draino会把对应需响应node conditon的容器从有问题的node驱逐,Autoscaler可以把问题的节点释放并新建新的实例加入节点;通过这三个开源社区插件的组合可以实现ECS系统事件的自动规避。
- Draino文档:https://github.com/planetlabs/draino
- Autoscaler文档:https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler
背景知识
云服务器ECS(Elastic Compute Service)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。云服务器ECS免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。阿里云ECS持续提供创新型服务器,解决多种业务需求,助力您的业务发展。