web-dev-qa-db-ja.com

Nginx Ingress:サービス「ingress-nginx-controller-admission」が見つかりません

約1年前に2つの環境で顧客用にkubernetesクラスターを作成しました。名前空間で分離されたステージングとプロダクション。現在、アプリケーションの次のバージョンを開発しており、この開発作業のための環境が必要なので、独自の名前空間にベータ環境を作成しました。

これは、MetalLBおよびnginx-ingressを備えたベアメタルkubernetesクラスターです。 nginxイングレスコントローラーはhelmでインストールされ、イングレスは次のマニフェストで作成されます(名前空間はデプロイパイプラインによって適用され、マニフェストには表示されません)。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: api-ingress
  annotations:
    #ingress.kubernetes.io/ssl-redirect: "true"
    #kubernetes.io/tls-acme: "true"
    #certmanager.k8s.io/issuer: "letsencrypt-staging"
    #certmanager.k8s.io/acme-challenge-type: http01
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/configuration-snippet: |
      more_set_headers "X-Robots-Tag: noindex, nofollow";
    nginx.ingress.kubernetes.io/enable-cors: "true"
    nginx.ingress.kubernetes.io/cors-allow-methods: "GET, OPTIONS"
    nginx.ingress.kubernetes.io/cors-allow-Origin: "*"
    nginx.ingress.kubernetes.io/cors-allow-credentials: "true"
spec:
  tls:
    - hosts:
        - ${API_DOMAIN}
      secretName: api-cert
  rules:
    - Host: ${API_DOMAIN}
      http:
        paths:
          - backend:
              serviceName: api
              servicePort: 80

マニフェストkubernetesを適用すると、次のエラーが返されます。

サーバーからのエラー(InternalError): "STDIN"の作成時のエラー:内部エラーが発生しました:webhook "validate.nginx.ingress.kubernetes.io"の呼び出しに失敗しました:投稿 https:// ingress-nginx-controller-admission。 ingress-nginx.svc:443/extensions/v1beta1/ingresses?timeout = 30s :service "ingress-nginx-controller-admission" not found

入力マニフェストのapiVersionをnetworking.k8s.io/v1beta1に更新しようとしましたが(これは新しいnginx-ingressコントローラーがhelmを介してインストールされるapiVersionです)、同じエラーが発生します。

私の最初の疑いは、これは、現在のインストールと1年前のインストールとの間のnginx-ingressの変更に関連しているということです。しかし、どのネームスペースでもingress-nginx-controller-admissionというサービスを見つけることができないため、次に進む方法がわかりません。

9
Jørgen

SSL証明書にはWebhookにあるように見えるいくつかの問題があります。

Chaning failurePolicy:Fail to Ignoreが私のために働いた

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-0.32.0/deploy/static/provider/baremetal/deploy.yaml

詳細については、チェック:

https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/

1
Pankaj Gupta