AWS CDK EKS Blueprint中Nginx AddOn部署报类型错误求助
解决AWS CDK EKS Blueprint中Nginx Ingress AddOn部署类型错误问题
问题分析
添加certificateResourceName配置后,Nginx AddOn自动生成的Helm Chart参数出现类型不匹配:
controller.service.httpPort.enable被设置为字符串,但Chart期望布尔值controller.service.httpsPort.targetPort被设置为字符串,但Chart期望整数
这是因为配置证书资源时,AddOn内部逻辑构造HTTPS相关参数时,错误地将布尔/整数类型转为字符串,触发Helm Schema校验失败。
解决方案
方案1:手动覆盖参数类型
在NginxAddOn配置中,通过values字段强制指定正确的参数类型,覆盖AddOn自动生成的错误值:
new blueprints.addons.NginxAddOn({ certificateResourceName: GlobalResources.Certificate, externalDnsHostname: props?.dnsDomainName!, values: { controller: { service: { httpPort: { enable: true // 明确设置为布尔类型 }, httpsPort: { targetPort: 443 // 明确设置为整数类型 } } } } })
方案2:升级EKS Blueprint包版本
该类型转换问题属于AddOn已知bug,升级到最新版@aws-quickstart/eks-blueprints包即可修复:
- 修改
package.json中该依赖的版本为最新稳定版 - 执行
npm install或yarn install更新依赖 - 重新部署堆栈
方案3:验证证书资源配置
确保GlobalResources.Certificate对应的证书资源已正确创建,无依赖循环或资源不存在问题(虽非类型错误直接原因,但会影响证书配置正常生效)。
内容的提问来源于stack exchange,提问作者twinkie
相关产品推荐
相关产品推荐

