Fixing ingress-nginx ConfigurationSnippet validations

Ellie Huxtable

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

この記事は「muse-spark-1.2-contributor」を使用して翻訳されました。

コメント