
AKS节点终止处理程序(aks-node-termination-handler)是一个专为Azure Kubernetes Service (AKS) 设计的工具,用于监控和响应虚拟机规模集(VMSS)事件。该工具能够在节点被终止前自动执行必要的维护操作,确保工作负载安全迁移,从而提高集群的稳定性和可用性。
bashhelm repo add maksim-paskal https://maksim-paskal.github.io/helm-charts/ helm repo update helm install aks-node-termination-handler maksim-paskal/aks-node-termination-handler
bashkubectl apply -f https://raw.githubusercontent.com/maksim-paskal/aks-node-termination-handler/main/deploy/yaml/aks-node-termination-handler.yaml
bashdocker run -d \ --name aks-node-termination-handler \ -e AZURE_TENANT_ID=<your-tenant-id> \ -e AZURE_SUBSCRIPTION_ID=<your-subscription-id> \ -e AZURE_RESOURCE_GROUP=<your-resource-group> \ -e AKS_CLUSTER_NAME=<your-cluster-name> \ -e NODE_NAME=<node-name> \ -v /var/run/kubernetes/admin.kubeconfig:/kubeconfig \ maksim-paskal/aks-node-termination-handler:latest
| 环境变量 | 描述 | 可选值 | 默认值 |
|---|---|---|---|
AZURE_TENANT_ID | Azure租户ID | 必须 | 无 |
AZURE_SUBSCRIPTION_ID | Azure订阅ID | 必须 | 无 |
AZURE_RESOURCE_GROUP | AKS集群资源组 | 必须 | 无 |
AKS_CLUSTER_NAME | AKS集群名称 | 必须 | 无 |
NODE_NAME | 节点名称 | 必须 | 无 |
DRY_RUN | 启用Dry Run模式 | true/false | false |
DRAIN_TIMEOUT | 排空节点超时时间(秒) | 整数 | 300 |
DRAIN_GRACE_PERIOD | 排空宽限期(秒) | 整数 | 60 |
DRAIN_DELETE_EMPTY_DIR_DATA | 是否删除emptyDir数据 | true/false | true |
DRAIN_IGNORE_DAEMON_SETS | 是否忽略DaemonSets | true/false | true |
DRAIN_FORCE | 是否强制排空 | true/false | false |
METRICS_PORT | 指标服务端口 | 整数 | 8080 |
LOG_LEVEL | 日志级别 | debug/info/warn/error | info |
KUBECONFIG | kubeconfig文件路径 | 字符串 | /kubeconfig |
--dry-run 启用Dry Run模式 (环境变量: DRY_RUN) --drain-timeout 排空超时时间(秒) (环境变量: DRAIN_TIMEOUT) --drain-grace-period 排空宽限期(秒) (环境变量: DRAIN_GRACE_PERIOD) --metrics-port 指标服务端口 (环境变量: METRICS_PORT) --log-level 日志级别 (环境变量: LOG_LEVEL)
该处理程序暴露以下Prometheus指标:
aks_node_termination_handler_events_total - 处理的事件总数aks_node_termination_handler_drains_total - 执行的排空操作总数aks_node_termination_handler_drain_errors_total - 排空操作错误总数aks_node_termination_handler_last_event_timestamp - 最后一次事件的时间戳处理程序需要以下Azure RBAC权限:
Microsoft.Compute/virtualMachineScaleSets/readMicrosoft.Compute/virtualMachineScaleSets/virtualMachines/readMicrosoft.Insights/eventtypes/events/read处理程序未检测到VMSS事件
排空操作失败
日志中出现认证错误
bashkubectl logs -l app=aks-node-termination-handler
本项目采用MIT许可证 - 详情参见LICENSE文件。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务