修复 ingress-nginx ConfigurationSnippet 校验问题
原文由 Ellie Huxtable 于 发布,订阅该博客
今天我需要配置 ingress-nginx,得写一段 nginx 配置来重写特定路由的状态码。
大概像这样:
nginx.ingress.kubernetes.io/configuration-snippet: |-
location /metrics {
return 404;
}以前我已经这么做过很多次,但今天却收到了如下报错:
Error: UPGRADE FAILED: cannot patch "xyz" with kind Ingress: admission webhook "validate.nginx.ingress.kubernetes.io" denied the request: annotation group ConfigurationSnippet contains risky annotation based on ingress configuration我已经设置了
allowSnippetAnnotations: true所以看到这个报错很是困惑!
原来在最近的一个版本(controller 1.12)中,注解会按风险等级进行标记。具体的分级表可以查看这里。
现在你需要指定
annotations-risk-level: Critical在 ConfigMap 中。如果你使用的是 Helm Chart,可以这样添加:
controller:
config:
annotations-risk-level: Critical需要注意的是,这项改动是为了应对一个安全问题。这主要是在多租户集群的场景下才会成为问题。
相关 Issue:https://github.com/kubernetes/ingress-nginx/issues/12618,https://github.com/kubernetes/kubernetes/issues/126811
随机一篇博客
评论
登录后参与讨论