Azure ScheduledEvents Manager用于管理运行在Azure上的Kubernetes节点,处理Azure计划事件(如VM计划维护)。当检测到Redeploy、Reboot、Preempt或Terminate事件时,自动排空(drain)节点,并可自动批准事件(尽快启动事件)。同时,它从Azure元数据服务(http://169.254.169.254/metadata/scheduledevents?api-version=2017-08-01)获取事件信息,并将解析后的状态导出为Prometheus指标。
适用于运行在Azure云平台上的Kubernetes集群,需处理VM计划维护事件(如重启、重新部署、抢占、终止)的场景,确保维护过程中服务不中断,提升集群可用性。
使用方法: azure-scheduledevents-manager [选项] 应用选项: --debug 调试模式 [$DEBUG] -v, --verbose 详细模式 [$VERBOSE] --log.json 切换日志输出为JSON格式 [$LOG_JSON] --bind= 服务器地址 (默认: :8080) [$SERVER_BIND] --scrape-time= 抓取时间(秒)(默认: 1m) [$SCRAPE_TIME] --azure.metadatainstance-url= Azure元数据实例API URL (默认: http://169.254.169.254/metadata/instance?api-version=2019-08-01) [$AZURE_METADATAINSTANCE_URL] --azure.scheduledevents-url= Azure计划事件API URL (默认: http://169.254.169.254/metadata/scheduledevents?api-version=2019-08-01) [$AZURE_SCHEDULEDEVENTS_URL] --azure.timeout= Azure API超时时间(秒)(默认: 30s) [$AZURE_TIMEOUT] --azure.error-threshold= Azure API错误阈值(超过后应用将崩溃)(默认: 0) [$AZURE_ERROR_THRESHOLD] --azure.approve-scheduledevent 批准计划事件并尽快启动(如果可能)[$AZURE_APPROVE_SCHEDULEDEVENT] --vm.nodename= VM节点名称 [$VM_NODENAME] --kube.nodename= Kubernetes节点名称 [$KUBE_NODENAME] --drain.enable 启用排空处理 [$DRAIN_ENABLE] --drain.events= 启用排空处理的事件类型 (默认: reboot, redeploy, preempt, terminate) [$DRAIN_EVENTS] --drain.not-before= 在此时间前不排空 (默认: 5m) [$DRAIN_NOT_BEFORE] --drain.delete-local-data 即使有使用emptyDir的Pod(排空时会删除本地数据)也继续 [$DRAIN_DELETE_LOCAL_DATA] --drain.force 即使有非控制器管理的Pod(非ReplicationController、ReplicaSet、Job、DaemonSet或StatefulSet管理)也继续 [$DRAIN_FORCE] --drain.grace-period= 每个Pod的优雅终止时间(秒),负数使用Pod默认值 [$DRAIN_GRACE_PERIOD] --drain.ignore-daemonsets 忽略DaemonSet管理的Pod [$DRAIN_IGNORE_DAEMONSETS] --drain.pod-selector= 过滤节点上Pod的标签选择器 [$DRAIN_POD_SELECTOR] --drain.timeout= 等待超时时间,0表示无限期 (默认: 0s) [$DRAIN_TIMEOUT] --drain.dry-run 不执行排空、解除封锁或标记节点(仅模拟)[$DRAIN_DRY_RUN] --notification= Shoutrrr通知URL (https://containrrr.github.io/shoutrrr/) [$NOTIFICATION] --notification.messagetemplate= 通知模板 (默认: %v) [$NOTIFICATION_MESSAGE_TEMPLATE] --metrics-requeststats 启用请求统计指标 [$METRICS_REQUESTSTATS] 帮助选项: -h, --help 显示此帮助信息
建议通过DaemonSet部署在Kubernetes集群中,以确保每个节点都能监控Azure计划事件。部署配置详情可参考项目的部署目录。
| 指标名称 | 描述 |
|---|---|
azure_scheduledevent_document_incarnation | 文档版本号(incarnation编号) |
azure_scheduledevent_event | 从API获取的事件 |
azure_scheduledevent_request | 请求直方图(计数和请求持续时间;默认禁用) |
azure_scheduledevent_request_error | 请求失败计数器 |
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 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 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务