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)では、アノテーションがリスク別にフラグ付けされるようになっていた。表はこちらにある。
今後は ConfigMap に
annotations-risk-level: Criticalを指定する必要がある。Helm チャートを使っている場合は、次のように追加できる。
controller:
config:
annotations-risk-level: Criticalなお、この変更はセキュリティ問題への対応だ。主にマルチテナントクラスターを使っている場合に影響する。
関連 Issue: https://github.com/kubernetes/ingress-nginx/issues/12618, https://github.com/kubernetes/kubernetes/issues/126811
記事をランダムに読む
コメント
ログインしてコメントする