eksctl v0.152.0 发布解读:新增 Tel Aviv(il-central-1)区域支持与 describe-stacks 事件状态过滤
云原生容器编排DevOps【免费下载链接】eksctlThe official CLI for Amazon EKS项目地址https://gitcode.com/gh_mirrors/ek/eksctl点击查看免费下载本文基于 eksctl 官方发布说明 docs/release_notes/0.152.0.md完整解读 v0.152.0 版本的两项核心特性——新增以色列 Tel Aviv 区域il-central-1的支持以及eksctl utils describe-stacks新增--resource-status事件过滤参数并结合仓库源码逐项说明其实现机制、使用约束与配套文档变更帮助你在排障 CloudFormation 栈和向新区域部署 EKS 集群时直接落地。版本总览v0.152.0 的变更可分为四类其中 Features 与 Documentation 是与用户直接相关的技术变更类别变更内容关联 PRFeatures新增 Tel Avivil-central-1区域支持#6899Featureseksctl utils describe-stacks支持打印指定状态的事件#6851Bug Fixes修复 PR Rebase 工作流#6903Maintenance依赖升级、GitHub Actions 固定为完整 commit SHA、修正k8s.io/kubernetes版本、修复 release 版本链接期变量设置#6920、#6895、#6874、#6901、#6868、#6841Documentation从最小 IAM 权限列表中移除iam:ListInstanceProfiles#6898新增 Tel Avivil-central-1区域支持v0.152.0 起eksctl 将il-central-1以色列 Tel Aviv加入可部署 EKS 集群的区域列表。该变更在源码中体现为三处相互关联的改动1. 新增区域常量。在 区域常量定义 中新增// RegionILCentral1 represents the Israel region Tel Aviv RegionILCentral1 il-central-12. 纳入支持区域清单。SupportedRegions()返回的列表新增了RegionILCentral1见 types.go 区域列表。这个列表是命令侧区域校验的数据源所有带--region标志的命令最终由 AddRegionFlag 注入该参数默认取~/.aws/config中的值而传入不支持的区域时会由 ErrUnsupportedRegion 报错并列出全部合法取值。因此升级到 v0.152.0 前--region il-central-1会被拒绝升级后则合法。3. 配置该区域的 EKS 资源账号。EKS 各区域/分区的节点资源AMI、ECR 镜像由不同的 AWS 账号提供EKSResourceAccountID(region)负责按区域映射。本次在 常量定义处 新增eksResourceAccountILCentral1 066635153087并在 EKSResourceAccountID 的 switch 分支 中完成路由——这意味着在il-central-1创建节点组时eksctl 会从 Tel Aviv 区域专属的 AWS 账号拉取正确的节点镜像而不会错误地回落到default分支的eksResourceAccountStandard。此外il-central-1被登记在标准aws分区的区域集合中见 partitions.go即它使用amazonaws.com标准的端点服务域名前缀与 DNS 前缀无需像aws-cn、aws-us-gov等分区那样处理特殊端点。实际使用时指定该区域即可# 使用配置文件 eksctl create cluster -f cluster.yaml # 其中 metadata.region: il-central-1 # 或使用标志直接指定 eksctl create cluster --region il-central-1describe-stacks 新增 --resource-status 事件过滤排查 EKS 集群创建/更新失败时eksctl utils describe-stacks会列出集群对应的 CloudFormation 栈及其事件。此前的--events会打印栈的全部事件在长生命周期集群中输出量大、难以定位问题。v0.152.0 新增--resource-status参数可按资源状态过滤事件。参数说明与命令示例--resource-status的定义见 describe_stacks.go 标志注册处参数类型默认值说明--eventsboolfalse包含栈事件--resource-status的前置依赖--resource-statusstringSlicenil按资源状态过滤事件如CREATE_FAILED、UPDATE_FAILED可传多个逗号分隔--allboolfalse包含已删除DELETE_COMPLETE的栈--trailboolfalse查询该集群的 CloudTrail 事件-o, --outputstring输出格式json、yaml与--all/--events/--trail/--resource-status互斥典型排障用法——只查看创建/更新失败的栈事件eksctl utils describe-stacks --cluster my-cluster --region us-west-2 \ --events \ --resource-status CREATE_FAILED,UPDATE_FAILED,UPDATE_ROLLBACK_FAILED实现细节与使用约束从 doDescribeStacksCmd 的实现 可以确认三条使用约束必须配合--eventstrue使用。若单独传入--resource-status会直接报错--resource-status flag cannot be specified without setting --eventstrue校验逻辑。与--output互斥。一旦指定了--output--all、--events、--trail、--resource-status均不可用RunE 入口校验因为结构化输出模式直接打印栈对象本身不再走事件打印路径。过滤是大小写不敏感的。实现中会先把用户传入的状态全部转小写再与每个事件的ResourceStatus转小写后做包含匹配过滤逻辑因此create_failed与CREATE_FAILED等价。每条事件最终由 StackEventToString 渲染为包含TimeStamp、LogicalID、ResourceStatus、ResourceStatusReason四个字段的单行输出其中ResourceStatusReason通常就是定位失败根因的关键信息。集成测试中的真实用法该参数并非孤立功能eksctl 自身的集成测试框架已经在用它做失败自诊断测试套件失败后会自动执行见 integration/tests/params.goeksctl utils describe-stacks --cluster cluster-name --events \ --resource-status CREATE_FAILED,DELETE_FAILED,UPDATE_FAILED,UPDATE_ROLLBACK_FAILED,ROLLBACK_FAILED即在 Ginkgo 用例失败时仅打印所有“失败态”事件避免海量正常事件淹没日志。这套“失败状态五元组”可以作为生产排障时的推荐过滤集合。文档变更最小 IAM 权限列表移除 iam:ListInstanceProfilesv0.152.0 的 Documentation 条目PR #6898将iam:ListInstanceProfiles从文档要求的权限列表中移除。对照当前仓库中的 最小 IAM 策略文档IamLimitedAccess策略的 Action 列表中只保留了iam:ListInstanceProfilesForRole而不再包含iam:ListInstanceProfiles——即使用 eksctl 管理节点组实例配置文件时按角色查询实例配置的权限已足够无需授予更宽泛的全量列表查询权限。这降低了受限 IAM 用户如 CI 部署账号所需的最小权限面。需要注意的是这与具体场景生成的策略不同例如 Karpenter 组件的 CloudFormation 构建器仍会在其节点 IAM 策略中同时写入iam:ListInstanceProfiles与iam:ListInstanceProfilesForRole见 pkg/cfn/builder/karpenter.go两者面向的是不同主体不应混淆。缺陷修复与维护类变更本版本还包含一项 Bug Fix 与四项维护类变更主要面向 CI/构建流程而非运行时行为修复 PR Rebase 工作流#6903修正 GitHub 上 PR 变基流程的可靠性问题依赖升级#6920、#6895、#6874例行更新项目依赖GitHub Actions 固定为完整 commit SHA#6901将工作流引用的第三方 Actions 从标签改为完整 SHA避免供应链风险修正k8s.io/kubernetes版本#6868修正构建依赖的 Kubernetes 版本声明修复 release 版本链接期变量设置#6841修正发布构建时 link-time 版本变量注入的问题确保eksctl version等命令报告的版本信息正确。小结区域扩展v0.152.0 起eksctl create cluster --region il-central-1可用底层由区域常量、SupportedRegions()清单与EKSResourceAccountID镜像账号映射三处改动共同支撑排障增强eksctl utils describe-stacks --events --resource-status CREATE_FAILED,...可精准聚焦失败事件过滤大小写不敏感且必须与--events搭配、与--output互斥权限收敛文档层面的最小 IAM 策略不再要求iam:ListInstanceProfiles受限账号可按 minimum-iam-policies.md 更新授权。完整的发布说明见 docs/release_notes/0.152.0.md各特性的源码入口与测试佐证均已在上文给出对应文件路径便于进一步深入阅读。赞分享云原生容器编排DevOps【免费下载链接】eksctlThe official CLI for Amazon EKS项目地址https://gitcode.com/gh_mirrors/ek/eksctl点击查看免费下载相关推荐eksctl v0.188.0 发布解析新增吉隆坡区域支持与 NVIDIA Device Plugin 自动化更新eksctl v0.188.0 发布解析新增吉隆坡区域支持与 NVIDIA Device Plugin 自动化更新 导读 本文基于 eksctl 官方发布说明云原生容器编排DevOpseksctl v0.155.0 更新解读新增 us-iso-west-1 区域支持、托管节点组标签校验与 ISO 分区默认卷类型调整eksctl v0.155.0 更新解读新增 us iso west 1 区域支持、托管节点组标签校验与 ISO 分区默认卷类型调整 本指南基于 eksctl云原生容器编排DevOpseksctl 区域支持机制与 ap-southeast-7曼谷新区域实践指南eksctl 区域支持机制与 ap southeast 7曼谷新区域实践指南 导读 eksctl 是 Amazon EKS 的官方命令行工具本项目即其开源云原生容器编排DevOps创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考